三节点kafka和zk,当所有服务都正常运行时,手动kill掉zk的leader进程触发zk重新选主后,此时创建kafka的Topic时,该Topic的分区leader 以及isr 均为空,只有重启kafka 的主contorller,该分区才会触发分配leader 以及isr ,何解
kafka版本为2.8.2
zk版本为3.8.3
zk+kafka三节点,zk异常重新选主后导致的高可用问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
24条回答 默认 最新
关注 以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。
要解决这个问题,首先需要了解如何在集群中管理多个副本(KAFKA TOPIC)并确保它们能够正确地被重新选择为主节点。
步骤1: 集群配置
-
增加ZOOKEEPER副本:为每个KAFKA TOPIC创建一个新的ZOOKEEPER副本。
-
配置KAFKA TOPIC:
- 在
/ETC/ZOOKEEPER/
目录下创建一个名为ZOOKEEPER.PROPERTIES
的文件,并添加以下内容:# 设置ZOOKEEPER的地址 SERVER.ZK = <YOUR-ZOOKEEPER-SERVER>:/ZOO<YOUR-CLUSTER-NAME> # 设置ZOOKEEPER的端口 PORT = 2181
- 在
-
设置KAFKA TOPIC配置:
- 创建一个新的ZOOKEEPER TOPIC文件,例如
/VAR/RUN/ZOOKEEPER/<YOUR-CLUSTER-NAME>/TOPIC_<YOUR-TOPIC-NAME>.CONF
。 - 将上述配置文件的内容复制到新创建的ZOOKEEPER TOPIC文件中。
- 创建一个新的ZOOKEEPER TOPIC文件,例如
步骤2: KAFKA TOPIC的配置
-
创建KAFKA TOPIC:
- 使用
ZOOKEEPER-ADMIN
命令创建新的KAFKA TOPIC。 - 这个操作会创建一个新的ZOOKEEPER主题,然后将它添加到
/ETC/ZOOKEEPER/
目录下的/ETC/ZOOKEEPER/ZK_SERVERS
文件中。
- 使用
-
配置KAFKA TOPIC:
- 在
/ETC/ZOOKEEPER/
目录下的/ETC/ZOOKEEPER/ZK_SERVERS
文件中,添加新的KAFKA TOPIC配置。 - 这里示例中的配置如下:
ZOOKEEPER.SERVERS = <YOUR-ZOOKEEPER-SERVER>:2181,<YOUR-ZOOKEEPER-SERVER>:2181,ZK_SERVERS = <YOUR-CLUSTER-NAME>/TOPICS/<YOUR-TOPIC-NAME>
ZOOKEEPER.SERVERS
和ZK_SERVERS
分别表示从哪个ZOOKEEPER服务器获取KAFKA SERVER列表和KAFKA TOPIC列表。 - 在
-
启动KAFKA TOPICS:
- 打开终端或SSH登录到KAFKA SERVER,使用
ZOOKEEPER-ADMIN
命令启动这些新创建的KAFKA TOPIC。
- 打开终端或SSH登录到KAFKA SERVER,使用
步骤3: ZK重新选择主节点
-
重启ZOOKEEPER:
- 确保所有的ZOOKEEPER服务器都已成功启动。
- 在终端或SSH登录到ZOOKEEPER服务器上,使用
ZOOKEEPER-DAEMON.SH RESTART
来重启ZOOKEEPER。
-
检查KAFKA TOPICS状态:
- 在终端或SSH登录到KAFKA SERVER,查看当前的KAFKA TOPIC状态,以确认是否已经成功创建了KAFKA TOPIC。
-
检查KAFKA PARTITION LEADER:
- 使用
ZKADMIN
命令检查KAFKA PARTITION LEADER信息,以确认KAFKA TOPIC是否正确地选择了主节点。 - 可能需要重启ZOOKEEPER服务器,以更新KAFKA PARTITION LEADER信息。
- 使用
步骤4: 性能分析
- 观察KAFKA TOPIC的负载分布:
- 调整ZOOKEEPER副本的数量和ZOOKEEPER SERVER的配置,看看是否有影响。
- 如果有影响,可能需要调整ZOOKEEPER服务器的配置。
通过以上步骤,你可以有效地解决在KAFKA集群中管理多个副本且重新选择主节点的问题。如果问题仍然存在,建议仔细检查ZOOKEEPER配置、KAFKA TOPICS配置以及KAFKA PARTITION LEADER信息等。
解决 无用评论 打赏 举报-
悬赏问题
- ¥15 35114 SVAC视频验签的问题
- ¥15 impedancepy
- ¥15 在虚拟机环境下完成以下,要求截图!
- ¥15 求往届大挑得奖作品(ppt…)
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图
- ¥15 UE5.1局部变量对蓝图不可见