ClickHouse集群的建立和布置和单机的布置是相似的,首要在于装备的不一致,假如需求了解ClickHouse单机的装置设布置,能够看看这篇文章,ClickHouse(03)ClickHouse怎样装置和布置。
ClickHouse集群布置流程大概如下:
- 环境预备
- 在每台机器上装置单机版ClickHouse
- config.xml装备
- Zookeeper装备
- 进入ClickHouse测试
环境预备
- 下载装置包
依照ClickHouse(03)ClickHouse怎样装置和布置中的介绍下载即可
- 设置FQDN,也便是主机名称,命令如下
# hostnamectl --static set-hostname ck1.com
- 装备hosts文件
# cat /etc/hosts
……
10.37.129.10 ck1
10.37.129.11 ck2
在每台机器上装置单机版ClickHouse
依照ClickHouse(03)ClickHouse怎样装置和布置中的介绍装置即可
config.xml装备
要装备集群,需求在 /etc/clickhouse-server/config.xml的 <remote_servers> 标签下增加相关集群信息。或许在/etc/metrika.xml中进行装备,这二者选其间一个就能够。
每一台机器的congfig.xml或许metrika.xml都要写入这样的装备。
假如在config.xml中装备
# 全局装备config.xml文件中引入metrika.xml
<include_from>/etc/clickhouse-server/metrika.xml</include_from>
#引证zookeeper装备的界说
<zookeeper incl="zookeeper-servers" optional="true" />
<remote_servers>
<test_cluster1>
<shard>
<replica>
<host>ck1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>ck2</host>
<port>9000</port>
</replica>
</shard>
</test_cluster1>
</remote_servers>
假如在metrika.xml中装备
<yandex>
<clickhouse_remote_servers>
<!--自界说集群名称-->
<test_cluster1>
<!--界说集群的分片数量,2个shard标签阐明有2个节点-->
<shard>
<!--界说分片的副本数量,这儿副本只要1个-->
<replica>
<host>ck1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>ck2</host>
<port>9000</port>
</replica>
</shard>
</test_cluster1>
</clickhouse_remote_servers>
</yandex>
Zookeeper的装备
zookeeper在clickhouse中首要用在副本表数据的同步(ReplicatedMergeTree引擎)以及分布式表(Distributed)的操作上,zookeeper不参加任何实质性的数据传输。
在/etc/clickhouse-server目录下创建一个metrika.xml的装备文件(假如已存在,则直接往里面写入即可),新增内容:
# 相似这姿态,host 和 port填上自己的
<zookeeper-servers>
<node index="1">
<host>10.10.1.20</host>
<port>2181</port>
</node>
<node index="2">
<host>10.10.1.21</host>
<port>2181</port>
</node>
<node index="3">
<host>10.10.1.22</host>
<port>2181</port>
</node>
</zookeeper-servers>
进入ClickHouse测试
装备完之后,无需重启clickhouse服务,clickhouse会热加载这些装备。我们能够别离登陆所有clickhouse,经过 select * from system.clusters; 检查当时节点所属集群的相关信息:
进入ClickHouse客户端
clickhouse-client --host="127.0.0.1" --port="9000" --user="****" --password="****"
当时节点所属集群的相关信息
select * from system.clusters where cluster = 'test_cluster1';
查询结果
SELECT *
FROM system.clusters
WHERE cluster = 'test_cluster1'
Query id: eb2064de-92f3-41b0-ac74-6b025d5082a1
┌─cluster──────┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name─────┬─host_address──┬─port─┬─is_local─┬─user────┬─default_database─┬─errors_count─┬─slowdowns_count─┬─estimated_recovery_time─┐
│ test_cluster1 │ 1 │ 1 │ 1 │ ck1 │ 10.37.129.10 │ 9000 │ 0 │ default │ │ 0 │ 0 │ 0 │
│ test_cluster1 │ 2 │ 1 │ 1 │ ck2 │ 10.37.129.11 │ 9000 │ 1 │ default │ │ 0 │ 0 │ 0 │
└──────────────┴───────────┴──────────────┴─────────────┴───────────────┴───────────────┴──────┴──────────┴─────────┴──────────────────┴──────────────┴─────────────────┴─────────────────────────┘
3 rows in set. Elapsed: 0.002 sec.
到了这儿,就完成clickhouse 2shard1replica集群布置。
注意,clickhouse集群对错主从结构,各个节点是彼此独立的。因此,和hdfs、yarn的集群不同,我们能够根据装备,灵活的装备集群,甚至能够将一个节点一起分配给多个集群。
资料共享
系列文章
clickhouse系列文章
- ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
- ClickHouse(02)ClickHouse架构规划介绍概述与ClickHouse数据分片规划
- ClickHouse(03)ClickHouse怎样装置和布置
- ClickHouse(04)怎么建立ClickHouse集群
- ClickHouse(05)ClickHouse数据类型详解
- ClickHouse(06)ClickHouse建表句子DDL具体解析
- ClickHouse(07)ClickHouse数据库引擎解析
- ClickHouse(08)ClickHouse表引擎概略
- ClickHouse(09)ClickHouse兼并树MergeTree宗族表引擎之MergeTree具体解析
- ClickHouse(10)ClickHouse兼并树MergeTree宗族表引擎之ReplacingMergeTree具体解析
- ClickHouse(11)ClickHouse兼并树MergeTree宗族表引擎之SummingMergeTree具体解析
- ClickHouse(12)ClickHouse兼并树MergeTree宗族表引擎之AggregatingMergeTree具体解析
- ClickHouse(13)ClickHouse兼并树MergeTree宗族表引擎之CollapsingMergeTree具体解析
- ClickHouse(14)ClickHouse兼并树MergeTree宗族表引擎之VersionedCollapsingMergeTree具体解析
- ClickHouse(15)ClickHouse兼并树MergeTree宗族表引擎之GraphiteMergeTree具体解析
- ClickHouse(16)ClickHouse日志表引擎Log具体解析
- ClickHouse(17)ClickHouse集成JDBC表引擎具体解析
- ClickHouse(18)ClickHouse集成ODBC表引擎具体解析
- ClickHouse(19)ClickHouse集成Hive表引擎具体解析
- ClickHouse(20)ClickHouse集成PostgreSQL表引擎具体解析
- ClickHouse(21)ClickHouse集成Kafka表引擎具体解析
- ClickHouse(22)ClickHouse集成HDFS表引擎具体解析
- ClickHouse(23)ClickHouse集成Mysql表引擎具体解析