前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pulsar + zookeeper(迁移zookeeper集群)

pulsar + zookeeper(迁移zookeeper集群)

作者头像
陳斯托洛夫斯記
发布2024-08-07 12:41:51
800
发布2024-08-07 12:41:51
举报
文章被收录于专栏:XBD

zookeeper旧集群修改配置

旧集群使用的是静态配置,先修改成动态配置,只需要修改配置文件,加入以下内容,重启zookeeper服务,先重启两个follower,最后重启leader(这是第一次重启 leader 节点,会重新选举leader)

代码语言:javascript
复制
vim /data/program/zookeeper/conf/zoo.cfg

kipACL=yes
4lw.commands.whitelist=*
reconfigEnabled=true			# 启用动态配置

zookeeper新集群修改配置

新集群三个节点直接部署成动态配置,在配置文件中加入新、旧集群所有的节点地址

代码语言:javascript
复制
vim /data/program/zookeeper/conf/zoo.cfg
    autopurge.purgeInterval=1
    initLimit=10
    syncLimit=5
    skipACL=yes
    maxClientCnxns=2000
    4lw.commands.whitelist=*
    tickTime=2000
    dataDir=/data/program/zookeeper/data
    reconfigEnabled=true
    dataLogDir=/data/program/zookeeper/logs
    dynamicConfigFile=/data/program/zookeeper/conf/zoo.cfg.dynamic


vim /data/program/zookeeper/conf/zoo.cfg.dynamic
    server.1=172.16.20.45:2888:3888;0.0.0.0:2181
    server.2=172.16.20.94:2888:3888;0.0.0.0:2181
    server.3=172.16.20.120:2888:3888;0.0.0.0:2181
    server.4=172.16.20.177:2888:3888;0.0.0.0:2181
    server.5=172.16.20.183:2888:3888;0.0.0.0:2181
    server.6=172.16.20.250:2888:3888;0.0.0.0:2181

启动新集群三个zookeeper服务

由于现在leader节点还在旧集群上,登录leader节点,动态添加新集群三个节点

代码语言:javascript
复制
./zkCli.sh

reconfig -add 4=IP:2888:3888;0.0.0.0:2181
reconfig -add 5=IP:2888:3888;0.0.0.0:2181
reconfig -add 6=IP:2888:3888;0.0.0.0:2181

现在是由6个节点组成的集群(1个leader,5个follower)

修改pulsar配置,把pulsar配置中的zookeeper地址切换到新集群的节点上,重启pulsar服务,验证 pulsar 是否正常

登录 leader 节点,先动态移除旧集群节点的2个 follower 节点

代码语言:javascript
复制
./zkCli.sh
reconfig -remove 1
reconfig -remove 2

手动停止 2个 follower 节点的服务

代码语言:javascript
复制
./zkServer.sh stop

在 leader 节点上查看数据同步状态

代码语言:javascript
复制
[root@localhost bin]# echo mntr | nc localhost 2181
zk_version	3.5.6-c11b7e26bc554b8523dc929761dd28808913f091, built on 10/08/2019 20:18 GMT
zk_avg_latency	0
zk_max_latency	77
zk_min_latency	0
zk_packets_received	3960
zk_packets_sent	4011
zk_num_alive_connections	1
zk_outstanding_requests	0
zk_server_state	leader
zk_znode_count	111
zk_watch_count	0
zk_ephemerals_count	18
zk_approximate_data_size	14245
zk_open_file_descriptor_count	64
zk_max_file_descriptor_count	655350
zk_followers	3				# 现集群中有3个 follower
zk_synced_followers	3			# 已同步的 follower 节点数
zk_pending_syncs	0
zk_last_proposal_size	32
zk_max_proposal_size	1345
zk_min_proposal_size	32

现在是由4个节点组成的集群,leader 在旧集群的第三个节点上,新集群三个节点都是follower

第二次重启 leader节点,zookeeper 会重新选举 leader,新集群会被选举为 leader 节点

代码语言:javascript
复制
./zkServer.sh restart

然后登录新集群的 leader 节点,动态移除旧集群的最后一个节点

代码语言:javascript
复制
./zkCli.sh
reconfig -remove 3

停止旧集群最后一个节点服务

代码语言:javascript
复制
./zkServer.sh stop

登录新集群 leader 节点,查看状态

代码语言:javascript
复制
[root@localhost bin]# echo mntr | nc localhost 2181
zk_version	3.5.6-c11b7e26bc554b8523dc929761dd28808913f091, built on 10/08/2019 20:18 GMT
zk_avg_latency	1
zk_max_latency	105
zk_min_latency	0
zk_packets_received	121
zk_packets_sent	120
zk_num_alive_connections	7
zk_outstanding_requests	0
zk_server_state	leader
zk_znode_count	113
zk_watch_count	15
zk_ephemerals_count	18
zk_approximate_data_size	14539
zk_open_file_descriptor_count	69
zk_max_file_descriptor_count	655350
zk_followers	2			# 由2个 follower 节点
zk_synced_followers	2		# 已同步的 follower 节点数
zk_pending_syncs	0
zk_last_proposal_size	32
zk_max_proposal_size	906
zk_min_proposal_size	32

现集群是由三个新节点组成的

代码语言:javascript
复制
[zk: localhost:2181(CONNECTING) 0] config
server.4=172.16.20.177:2888:3888:participant;0.0.0.0:2181
server.5=172.16.20.183:2888:3888:participant;0.0.0.0:2181
server.6=172.16.20.250:2888:3888:participant;0.0.0.0:2181
version=300000003

至此,zookeeper 集群迁移完毕。

pulsar迁移zookeeper时,zookeeper中的元数据保存的还是以前pulsar初始化时的老的zookeeper地址,否则会报无法连到zookeeper

代码语言:javascript
复制
./zkCli.sh -server 127.0.0.1:12181
ls /pulsar/functions

./zkCli.sh -server 127.0.0.1:12181 set /pulsar/functions '复制上面输出的内容,并改成新的zookeeper地址,大概有3行
'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-272,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • zookeeper旧集群修改配置
  • zookeeper新集群修改配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档