Skip to main content

Deploy Databend With Local FS (For Test)

This guideline will deploy Databend(standalone) with local fs step by step.

caution

Databend requires scalable storage layer(like Object Storage) as its storage, local fs is for testing only, please do not use it in production!

1. Download

You can find the latest binaries on the github release page or build from source.

mkdir databend && cd databend
curl -LJO https://github.com/datafuselabs/databend/releases/download/${version}/databend-${version}-x86_64-unknown-linux-musl.tar.gz
tar xzvf databend-${version}-x86_64-unknown-linux-musl.tar.gz

2. Deploy databend-meta

databend-meta is a global service for the meta data(such as user, table schema etc.).

2.1 Create databend-meta.toml

databend-meta.toml
dir = "metadata/_logs"
admin_api_address = "127.0.0.1:8101"
grpc_api_address = "127.0.0.1:9101"

[raft_config]
id = 1
single = true
raft_dir = "metadata/datas"

2.2 Start the databend-meta

./databend-meta -c ./databend-meta.toml > meta.log 2>&1 &

2.3 Check databend-meta

curl -I  http://127.0.0.1:8101/v1/health

Check the response is HTTP/1.1 200 OK.

3. Deploy databend-query (standalone)

3.1 Create databend-query.toml

databend-query.toml
[log]
level = "INFO"
dir = "benddata/_logs"

[query]
# For admin RESET API.
admin_api_address = "127.0.0.1:8001"

# Metrics.
metric_api_address = "127.0.0.1:7071"

# Cluster flight RPC.
flight_api_address = "127.0.0.1:9091"

#

# Query MySQL Handler.
mysql_handler_host = "127.0.0.1"
mysql_handler_port = 3307

# Query ClickHouse Handler.
clickhouse_handler_host = "127.0.0.1"
clickhouse_handler_port = 9001

# Query HTTP Handler.
http_handler_host = "127.0.0.1"
http_handler_port = 8081

tenant_id = "tenant1"
cluster_id = "cluster1"

[meta]
# databend-meta grpc api address.
address = "127.0.0.1:9101"
username = "root"
password = "root"

[storage]
# fs|s3
type = "fs"

[storage.fs]
data_path = "benddata/datas"

3.2 Start databend-query

./databend-query -c ./databend-query.toml > query.log 2>&1 &

3.3 Check databend-query

curl -I  http://127.0.0.1:8001/v1/health

Check the response is HTTP/1.1 200 OK.

4. Play

mysql -h127.0.0.1 -uroot -P3307 
CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES(1), (2);
SELECT * FROM t1
+------+
| a |
+------+
| 1 |
| 2 |
+------+