Databend 的 Docker compose 部署
· 阅读需 3 分钟
本文用于记录利用 docker compose 启动 Databend 的 databend-meta, databend-query 以及 minio,用于理解 Databend 的环境搭建。
在国内环境把 image 指向了: registry.databend.cn/public/
如果在海外可以直接使用: hub.docker.com 上的 image
compose.yaml
services:
minio:
image: minio/minio:latest
network_mode: "host"
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
volumes:
- minio-data:/data
entrypoint: |
sh -c "
minio server --address :9900 /data &
until mc alias set myminio http://localhost:9900 minioadmin minioadmin; do
echo 'Waiting for MinIO...';
sleep 1;
done;
if ! mc ls myminio/databend; then
mc mb myminio/databend;
fi;
wait;
"
databend-meta:
image: registry.databend.cn/public/databend-meta:latest
network_mode: "host"
depends_on:
minio:
condition: service_started
volumes:
- databend-meta-data:/data/
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:28101/v1/health"]
interval: 5s
timeout: 3s
retries: 10
entrypoint: sh -c "/databend-meta \
--log-file-level='warn' \
--log-file-format='text' \
--log-file-dir='/data/logs/' \
--log-file-limit=24 \
--admin-api-address='0.0.0.0:28101' \
--grpc-api-address='0.0.0.0:9191' \
--grpc-api-advertise-host='0.0.0.0' \
--raft-listen-host='0.0.0.0' \
--raft-api-port='28103' \
--raft-dir='/data/metadata' \
--id=1 \
--single"
databend-query:
image: registry.databend.cn/public/databend-query:latest
network_mode: "host"
depends_on:
databend-meta:
condition: service_started
volumes:
- query_logs:/var/log/databend/
- query_config:/etc/databend/
environment:
RUST_BACKTRACE: 1
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7070/metrics"]
interval: 10s
timeout: 5s
retries: 10
entrypoint: |
sh -c "
cat <<"EOF" > /etc/databend/databend-query.toml
[query]
max_active_sessions = 256
shutdown_wait_timeout_ms = 5000
flight_api_address = '0.0.0.0:9090'
metric_api_address = '0.0.0.0:7070'
tenant_id = 'default'
cluster_id = 'c01'
[[query.users]]
name = 'root'
auth_type = 'no_password'
[log]
[log.file]
level = 'WARN'
format = 'text'
dir = '/var/log/databend'
[meta]
endpoints = ['0.0.0.0:9191']
username = 'root'
password = 'root'
client_timeout_in_second = 30
auto_sync_interval = 30
[storage]
type = 's3'
[storage.s3]
endpoint_url = 'http://127.0.0.1:9900'
region = 'us-east-1'
access_key_id = 'minioadmin'
secret_access_key = 'minioadmin'
bucket = 'databend'
root = 'wubx'
EOF
exec /databend-query --config-file=/etc/databend/databend-query.toml
"
volumes:
minio-data:
databend-meta-data:
query_logs:
query_config:
启动
docker compose up -d
关闭
docker compose stop
连接到 Databend
安装 bendsql (Databend CLI):
curl -fsSL https://repo.databend.com/install/bendsql.sh | bash
echo "export PATH=$PATH:~/.bendsql/bin" >>~/.bash_profile
source ~/.bash_profile
连接到 Databend:
bendsql -udatabend -pdatabend
更多配置参考
这里更更简单的方办法,在外面生成一个配置文件,然后 mount 到 container 里使用,具体的配置文件参考官方的文件去定制:
databent-meta 配置: https://github.com/databendlabs/databend/blob/main/scripts/ci/deploy/config/databend-meta-node-1.toml
databend-query 配置: https://github.com/databendlabs/databend/blob/main/scripts/ci/deploy/config/databend-query-node-1.toml
💬 社区支持
有问题与我们的团队联系:Slack微信: 82565387