ClickHouse ZK集群迁移
CilckHouse迁移Zookeeper集群
·
搭建CK平台的时候,ZK是自维护环境; 现根据需要,统一迁移到云平台进行统一管控; 由于两边是不同的集群,无法通过脑裂的方式进行平滑迁移,更新ZK后,CK需要重启生效,无法像参数一样动态加载;(刚迁移的时候踩了坑,没重启,一直报错)
整理一下整个过程,供参考
一、CK停服
由于我部署了CK的守护进程,停服前需要先关闭守护进程,否则CK即使停服了也会被自动拉起;
这个守护进程是自己编写的,并不是Supervisor,因为Supervisor只能守护前台进程,无法监控后台进程;
整个CK集群都需要停服,如果节点比较多,可以通过Ansible统一停服;
clickhouse stop
二、ZK数据迁移
从老的ZK集群选取任一个节点进行迁移,follwer或者leader都可以; 将快照数据和日志数据都拷贝到新的ZK集群;
三、 更新CK中ZK配置信息
对所有的CK节点,将配置文件metric.xml文件中的ZK地址和端口更新为新的ZK地址;
sed -i 's/\(X.X.X.X\|X.X.X.X\|X.X.X.X\)/zk.jddb.com/' /export/data/clickhouse/metrika.xml_new
sed -i 's/2181/3678/' /export/data/clickhouse/metrika.xml_new
节点比较多的话,可以通过ansible批量更新
四、 启动CK服务
对所有CK节点启动服务,并开启守护进程;
clickhouse start
五、 验证
更新ZK后,集群是否可用? 通过命令验证一下即可;
create database wang on cluster shwx_cluster;
drop database wang on cluster shwx_cluster;
如果都执行成功即迁移完毕
更多推荐
已为社区贡献1条内容
所有评论(0)