客服微信
TDSQL数据库单实例zookeeper扩容
首先,先来介绍一下我做TDSQL数据库zookeeper扩容的思路。我的思路来源于如下这张架构图。
根据这张架构图,大家可以看出与zookeeper通讯的主要模块有OSS、schedule、kafka、sql引擎(proxy)、mysqlagent。
接下来一一验证一下我的猜测:
NO.02
Mysqlagent:
配置文件路径:
/data/tdsql_run/4001/mysqlagent/conf/mysqlagent_4001.xml
Zookeeper相关配置:
<zookeeper quit="1" iplist="tdsql_host_zk1:2118" timeout="10000" rootdir="/tdsqlzk" />
<kafka>
<log name="../log/sys_binlogtokafka_4001.log" log_size="536870912" log_level="2" />
<kafkazookeeper iplist="tdsql_host_zk1:2118" rootdir="/kafka" />
<product report="1" debug="generic" batch="10000" retry="3" retrywaitmsec="500" waitacknum="-1" delay_bond="7500" report_schema="0"/>
kafka>
NO.02
Kafka:
配置文件路径:
/data/application/kafka/config/server.properties
Zookeeper相关配置:
zookeeper.connect=tdsql_host_zk1:2118/kafka
NO.02
oss:
配置文件路径:
/data/application/oss/conf/scheduler.xml
Zookeeper相关配置:
<zookeeper quit="1" iplist="tdsql_host_zk1:2118" timeout="10000" rootdir="/tdsqlzk" cluster="zk-gz-online" safeacl="1" />
NO.02
Sechduler:
配置文件路径:
/data/application/scheduler/conf/scheduler.xml
Zookeeper相关配置:
<zookeeper quiet="1" iplist="tdsql_host_zk1:2118" timeout="10000" rootdir="/tdsqlzk" safeacl="true" />
<kafkazk iplist="tdsql_host_zk1:2118" rootdir="/kafka" />
以上是我发现有zookeeper配置的模块配置文件。
接下来开始升级单机模式zookeeper变成3节点集群
步骤一:修改三台服务器的/etc/hosts
172.21.100.140 tdsql_host_zk1
#新增
172.21.100.141 tdsql_host_zk2
172.21.100.142 tdsql_host_zk3
步骤二:修改zookeeper配置文件
在第一个节点操作:
vi /data/application/zookeeper/conf/zoo.cfg
#增加如下内容
server.2=tdsql_host_zk2:2338:2558 #其中2是节点myid ,tdsql_host_zk2是节点域名要一一对应
server.3=tdsql_host_zk3:2338:2558
步骤三:copy zookeeper目录到其它两个节点下
scp -r -p /data/application/zookeeper 172.21.100.141:/data/application/
scp -r -p /data/application/zookeeper 172.21.100.142:/data/application/
步骤四:修改myid
二节点:
vi /data/application/zookeeper/data/myid #修改myid内容为2
三节点:
vi /data/application/zookeeper/data/myid #修改myid内容为3
步骤五:重启zookeeper
注意重启顺序为
1 => 2 =>3
sh /data/application/zookeeper/bin/zkServer.sh stop
sh /data/application/zookeeper/bin/zkServer.sh start ../conf/zoo.cfg
当启动第二个节点以后可以通过命令查看zookeeper状态
sh /data/application/zookeeper/bin/zkServer.sh status
步骤六:修改oss、kafka、mysqlagent、shechduler配置文件
添加新加入的zookeeper节点到配置文件
tdsql_host_zk2:2118,tdsql_host_zk3:2118
步骤七:重启oss服务
先重启一台,在控制台查看重启模块的等状态正常之后在重启另一台(此步骤是否需要还等待后续验证)
步骤八:添加新节点到集群
集群管理 =》集群设置 =》点击集群名称进入设置 =》修改配置 =》zk服务列表添加新添加的zk节点
步骤九:consumer
如果之前consumer配置的是单节zookeeper启动需要修改成zookeeper集群方式启动
THE END
*禁止转载,可转发(转发原创文章请注明出处)