Docker中分布式部署clickhouse
Docker 中分布式部署 clickhouse
启动服务
docker run --add-host=ck2:172.17.0.3 --add-host=ck3:172.17.0.4 -d --name ck1 -h ck1 --ip 172.17.0.2 --ulimit nofile=262144:262144 -p 8124:8123 -p 9001:9000 yandex/clickhouse-serverdocker run --add-host=ck1:172.17.0.2 --add-host=ck3:172.17.0.4 -d --name ck2 -h ck2 --ip 172.17.0.3 --ulimit nofile=262144:262144 -p 8125:8123 -p 9002:9000 yandex/clickhouse-server
docker run --add-host=ck1:172.17.0.2 --add-host=ck2:172.17.0.3 -d --name ck3 -h ck3 --ip 172.17.0.4 --ulimit nofile=262144:262144 -p 8126:8123 -p 9003:9000 yandex/clickhouse-server
参数说明
- add-host: 增加除自己之外的 hosts 配置
- name: container 名称
- h: host 名称
- ip: 分配给 container 的地址
clickhouse 分布式配置
修改容器配置文件
先将容器中的配置文件复制到本地进行修改, 找到配置节点
remote_servers
, 增加如下配置:
<my_ck_cluster> <shard>
<internal_replication>true</internal_replication>
<replica>
<host>ck01</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>ck02</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>ck03</host>
<port>9000</port>
</replica>
</shard>
</my_ck_cluster>
如果需要使用
zookeeper
, 则在zookeeper
下, 增加如下配置:
<zookeeper incl="zookeeper-servers" optional="true" /><zookeeper>
<node index="1">
<host>zk01</host>
<port>2181</port>
</node>
<node index="2">
<host>zk02</host>
<port>2181</port>
</node>
<node index="3">
<host>zk03</host>
<port>2181</port>
</node>
</zookeeper>
将修改好的配置文件复制回容器中
docker cp config.xml ck1:/etc/clickhouse-server/config.xmldocker cp config.xml ck2:/etc/clickhouse-server/config.xml
docker cp config.xml ck3:/etc/clickhouse-server/config.xml
重启相关容器
docker restart ck1 ck2 ck3
查看 /etc/hosts
内容
docker exec -it ck1 /bin/bash
less /etc/hosts 内容如下:
172.17.0.2 ck1172.17.0.3 ck2
172.17.0.4 ck3
以上是 Docker中分布式部署clickhouse 的全部内容, 来源链接: utcz.com/z/514905.html