- 服务器端口分配:
ip地址 | zookeeper端口 | clickhouse端口 |
---|---|---|
10.0.0.11 | 2181 | 9000 |
10.0.0.12 | 2181 | 9000 |
10.0.0.13 | 2181 | 9000 |
安装 zookeeper集群:
参见:源码安装 zookeeper集群3.4.11安装 clickhouse集群(版本:19.17):
- 查看机器是否支持:
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
- 下载安装包:
# 下载地址 https://packagecloud.io/Altinity/clickhouse wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-common-19.17.10.1-1.el7.x86_64.rpm/download.rpm wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-19.17.10.1-1.el7.x86_64.rpm/download.rpm wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-common-static-19.17.10.1-1.el7.x86_64.rpm/download.rpm wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-client-19.17.10.1-1.el7.x86_64.rpm/download.rpm
- 安装:
rpm -ivh *.rpm
- 修改配置文件:
vim /etc/clickhouse-server/config.xml
<listen_host>0.0.0.0</listen_host> <tcp_port>9000</tcp_port>
- 添加用户:
vim /etc/clickhouse-server/users.xml
<users> <!--用户名为ck--> <ck> <password>123456</password> <!--明文密码--> <networks> <ip>::/0</ip> </networks> <profile>default</profile> <quota>default</quota> </ck> </users>
- 增加集群配置:
vim /etc/metrika.xml
<yandex> <clickhouse_remote_servers> <!-- 集群名称,可以修改 --> <my_cluster> <shard> <replica> <host>10.0.0.11</host> <port>9000</port> </replica> </shard> <shard> <replica> <host>10.0.0.12</host> <port>9000</port> </replica> </shard> <shard> <replica> <host>10.0.0.13</host> <port>9000</port> </replica> </shard> </my_cluster> </clickhouse_remote_servers> <zookeeper-servers> <node> <host>10.0.0.11</host> <port>2181</port> </node> <node> <host>10.0.0.12</host> <port>2181</port> </node> <node> <host>10.0.0.13</host> <port>2181</port> </node> </zookeeper-servers> <!-- 这一项需要保证每台机器上的配置不同 --> <macros> <shard>1</shard> <replica>node1</replica> </macros> </yandex>
- 启动服务:
systemctl start clickhouse-server
- 连接:
clickhouse-client -h 10.0.0.11 --port=9000 -u ck --password=123456
- 查看集群状态:
select cluster,shard_num,replica_num,host_name,port,user from system.clusters;
- 查看宏配置:
select * from system.macros;
- 验证集群:
- 创建分布式表:
CREATE TABLE IF NOT EXISTS user_cluster ON CLUSTER my_cluster \ ( \ id Int32, \ name String \ )ENGINE = Distributed(my_cluster, default, user_local,id);
- 在每台机器上查看表:
SHOW TABLES;
- 在每台机器上创建本地表:
CREATE TABLE IF NOT EXISTS user_local \ ( \ id Int32, \ name String \ )ENGINE = MergeTree() \ ORDER BY id \ PARTITION BY id \ PRIMARY KEY id;
- 插入数据:
INSERT INTO user_cluster VALUES(1,'tom'),(2,'jack'),(3,'jim'),(4,'nike');
- 在每台机器上查看数据:
select * from user_cluster;
- 创建分布式表:
- 查看机器是否支持:
文档更新时间: 2024-04-17 18:11 作者:lee