一、前言:
上篇文章介绍了clickhouse单机部署指南,本章重点介绍下集群部署指南,文章重在实战,相关知识请自行学习。
二、环境准备:
CentOS7 4核16G 3台(172.25.16.82、172.25.16.83、172.25.16.84)
三、安装包准备:
登录官网下载:https://packages.clickhouse.com/tgz/lts/
clickhouse-common-static-22.8.9.24-amd64.tgz
clickhouse-common-static-dbg-22.8.9.24-amd64.tgz
clickhouse-server-22.8.9.24-amd64.tgz
clickhouse-client-22.8.9.24-amd64.tgz
四、安装步骤说明:
1、依赖环境安装
参考文章(zookeeper集群安装指南_幽幽之心的博客-CSDN博客)完成zookeeper的集群安装部署
2、单机安装
参考文章(OLAP分析型数据库clickhouse的选型、安装与试用_幽幽之心的博客-CSDN博客)分别完成三台服务器的单机部署
3、集群配置(3分片+每分片1副本)
3个服务节点增加配置文件 【/etc/clickhouse-server/config.d】
vim /etc/clickhouse-server/config.d/metrika.xml
在metrika.xml中我们配置后期使用的clickhouse集群中创建分布式表时使用3个分片,每个分片有1个副本,配置如下:
<yandex>
<remote_servers>
<clickhouse_cluster_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>172.25.16.82</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>172.25.16.83</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>172.25.16.84</host>
<port>9000</port>
</replica>
</shard>
</clickhouse_cluster_3shards_1replicas>
</remote_servers>
<zookeeper>
<node index="1">
<host>172.25.16.82</host>
<port>2181</port>
</node>
<node index="2">
<host>172.25.16.83</host>
<port>2181</port>
</node>
<node index="3">
<host>172.25.16.84</host>
<port>2181</port>
</node>
</zookeeper>
<macros>
<shard>01</shard>
<replica>node1</replica>
</macros>
<networks>
<ip>0.0.0.0/0</ip>
</networks>
<clickhouse_compression>
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>lz4</method>
</case>
</clickhouse_compression>
</yandex>
注意:需要在每台clickhouse节点上配置metrika.xml文件,并且修改每个节点的 macros配置名称。
node2节点修改metrika.xml中的宏变量如下:
<macros>
<shard>02</replica>
<replica>node2</replica>
</macros>
node3节点修改metrika.xml中的宏变量如下:
<macros>
<shard>03</replica>
<replica>node3</replica>
</macros>
4、集群配置文件引用
修改config.xml配置(注意修改文件权限)
vim /etc/clickhouse-server/config.xml
添加内容:
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from> <!--添加该参数-->
5、服务启动
分别登录三台机器切换至clickhouse用户,启动服务
# -- Start clickhouse-server with:
sudo clickhouse start
6、客户端访问验证
# -- Start clickhouse-client with:
clickhouse-client --password 123456
# -- 输入查询命令
SELECT * FROM system.clusters
效果如下:
参考文献资料:
集群部署ClickHouse
ClickHouse集群搭建部署_clickhouse集群部署_疯狂哈丘的博客-CSDN博客