因公司服务器资源有限,现需要在3台服务器上搭建3节点2副本的Clickhouse集群。在每台服务器上需安装两个clickhouse实例。
一:Clickhouse安装(3台服务器上)1.下载clickhouse相关安装包,忽略依赖关系强制安装rpm -ivh clickhouse-client-19.16.3.6-1.el7.x86_64.rpm --nodepsrpm -ivh clickhouse-common-static-19.16.3.6-1.el7.x86_64.rpm --nodepsrpm -ivh clickhouse-server-19.16.3.6-1.el7.x86_64.rpm --nodepsrpm -ivh clickhouse-server-common-19.16…6-1.el7.x86_64.rpm --nodeps2:查看状态,并设置开机自启systemctl status clickhouseservice clickhouse-server start/sbin/chkconfig clickhouse-server on3:修改/etc/clickhouse-server/user.xml和/etc/clickhouse-server/config.xml文件user.xml:可配置用户相关权限和配额等。开启外网访问:修改config.xml, 找到 listen_host 标签位置,添加如下:<listen_host>::1</listen_host>
<listen_host>0.0.0.0</listen_host>
取消大表删除限制 Clickhouse默认大于50GB的MergeTree表无法通过drop删除,要取消该限制,只需取消config.xml中以下两行的注释: <max_table_size_to_drop>0</max_table_size_to_drop><max_partition_size_to_drop>0</max_partition_size_to_drop>4.第二个Clickhouse实例配置(1)复制Clickhouse启动脚本: cp /etc/init.d/clickhouse-server /etc/init.d/clickhouse-server2(2)更改clickhouse-server2: CLICKHOUSE_CONFIG=
C
L
I
C
K
H
O
U
S
E
C
O
N
F
D
I
R
/
c
o
n
f
i
g
1.
x
m
l
C
L
I
C
K
H
O
U
S
E
P
I
D
F
I
L
E
=
"
CLICKHOUSE_CONFDIR/config1.xml CLICKHOUSE_PIDFILE="
CLICKHOUSECONFDIR/config1.xmlCLICKHOUSEPIDFILE="CLICKHOUSE_PIDDIR/$PROGRAM-1.pid"(3)复制Clickhouse配置文件: cp /etc/clickhouse-server/config.xml /etc/clickhouse-server/config1.xml(4)更改config1.xml: 修改日志文件路径: /var/log/clickhouse-server/clickhouse-server1.log /var/log/clickhouse-server/clickhouse- server.err1.log 修改端口号: <http_port>8124</http_port> <tcp_port>9001</tcp_port> <interserver_http_port>9010</interserver_http_port> 修改数据文件和temp目录路径:
②在/opt/module/zookeeper-3.4.10/zkData目录下创建一个myid的文件
③编辑myid文件,在文件中添加与server对应的编号。
④拷贝配置好的zookeeper到其他机器上,并分别在另外两台服务器上修改myid.三台机器必须不同。
( 4 )配置zoo.cfg文件
①重命名/opt/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg
②打开zoo.cfg文件,修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.4.10/zkData
增加如下配置
#######################cluster##########################
server.A1=B1:2888:3888
server.A2=B2:2888:3888
server.A3=B3:2888:3888
A是一个数字,表示这个是第几号服务器,和配置文件myid中相同;
B是这个服务器的地址;
2888是这个服务器Follower与集群中的Leader服务器交换信息的端口;
3888是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
③同步zoo.cfg配置文件,启动集群。
/opt/module/zookeeper-3.4.10/bin/zkServer.sh start
2.Clickhouse配置文件的修改
(1) 修改config.xml文件:
<listen_host>::</listen_host>
(2) 在三台机器的/etc目录下新建metrika.xml文件。
在metraka.xml中配置集群有几个分片,几个副本。以及每个分片和副本的数据应放在什么地方。(三台服务器上的两个clickhouse实例配置都有所不同)
完毕!