Docker 中分布式部署 clickhouse

僤鯓⒐⒋嵵緔 提交于 2020-04-05 19:02:53

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-server
docker 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.xml
docker 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      ck1
172.17.0.3      ck2
172.17.0.4      ck3
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!