services:
minio:
container_name: minio
environment:
MINIO_ROOT_USER: miniouser
MINIO_ROOT_PASSWORD: miniopassword
image: minio/minio:latest
ports:
- "9001:9001"
- "9000:9000"
entrypoint: sh
command: '-c ''mkdir -p /minio_data/starrocks && minio server /minio_data --console-address ":9001"'''
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 5s
timeout: 5s
retries: 5minio_mc:
# This service is short lived, it does this:
# - starts up
# - checks to see if the MinIO service `minio` is ready
# - creates a MinIO Access Key that the StarRocks services will use
# - exits
image: minio/mc:latest
entrypoint:
- sh
- -c
- |
until mc ls minio > /dev/null 2>&1; do
sleep 0.5
donemc alias set myminio http://minio:9000 miniouser miniopassword
mc admin user svcacct add --access-key AAAAAAAAAAAAAAAAAAAA \
--secret-key BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB \
myminio \
miniouser
depends_on:
minio:
condition: service_healthystarrocks-fe:
image: starrocks/fe-ubuntu:3.3-latest
hostname: starrocks-fe
container_name: starrocks-fe
user: root
command:
- /bin/bash
- -c
- |
echo "# enable shared data, set storage type, set endpoint" >> /opt/starrocks/fe/conf/fe.conf
echo "run_mode = shared_data" >> /opt/starrocks/fe/conf/fe.conf
echo "cloud_native_storage_type = S3" >> /opt/starrocks/fe/conf/fe.conf
echo "aws_s3_endpoint = minio:9000" >> /opt/starrocks/fe/conf/fe.confecho "# set the path in MinIO" >> /opt/starrocks/fe/conf/fe.conf
echo "aws_s3_path = starrocks" >> /opt/starrocks/fe/conf/fe.confecho "# credentials for MinIO object read/write" >> /opt/starrocks/fe/conf/fe.conf
echo "aws_s3_access_key = AAAAAAAAAAAAAAAAAAAA" >> /opt/starrocks/fe/conf/fe.conf
echo "aws_s3_secret_key = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" >> /opt/starrocks/fe/conf/fe.conf
echo "aws_s3_use_instance_profile = false" >> /opt/starrocks/fe/conf/fe.conf
echo "aws_s3_use_aws_sdk_default_behavior = false" >> /opt/starrocks/fe/conf/fe.confecho "# Set this to false if you do not want default" >> /opt/starrocks/fe/conf/fe.conf
echo "# storage created in the object storage using" >> /opt/starrocks/fe/conf/fe.conf
echo "# the details provided above" >> /opt/starrocks/fe/conf/fe.conf
echo "enable_load_volume_from_conf = true" >> /opt/starrocks/fe/conf/fe.conf/opt/starrocks/fe/bin/start_fe.sh --host_type FQDN
ports:
- 8030:8030
- 9020:9020
- 9030:9030
- 9010:9010
- 6090:6090
healthcheck:
test: 'mysql -u root -h starrocks-fe -P 9030 -e "show frontends\G" |grep "Alive: true"'
interval: 10s
timeout: 5s
retries: 3
depends_on:
minio:
condition: service_healthystarrocks-cn:
image: starrocks/cn-ubuntu:3.3-latest
command:
- /bin/bash
- -c
- |
sleep 15s;
ulimit -u 65535;
ulimit -n 65535;
mysql --connect-timeout 2 -h starrocks-fe -P9030 -uroot -e "ALTER SYSTEM ADD COMPUTE NODE \"starrocks-cn:9050\";"
/opt/starrocks/cn/bin/start_cn.sh
environment:
- HOST_TYPE=FQDN
ports:
- 9060:9060
- 8040:8040
- 9050:9050
- 8060:8060
- 9070:9070
hostname: starrocks-cn
container_name: starrocks-cn
user: root
depends_on:
starrocks-fe:
condition: service_healthy
restart: true
minio:
condition: service_healthy
healthcheck:
test: 'mysql -u root -h starrocks-fe -P 9030 -e "SHOW COMPUTE NODES\G" |grep "Alive: true"'
interval: 10s
timeout: 5s
retries: 3
docker-compose启动StartRocks
最新推荐文章于 2025-04-19 21:49:13 发布