m0_64269309 2024-08-15 22:14 采纳率: 0%
浏览 20
已结题

zk+kafka三节点,zk异常重新选主后导致的高可用问题

三节点kafka和zk,当所有服务都正常运行时,手动kill掉zk的leader进程触发zk重新选主后,此时创建kafka的Topic时,该Topic的分区leader 以及isr 均为空,只有重启kafka 的主contorller,该分区才会触发分配leader 以及isr ,何解
kafka版本为2.8.2
zk版本为3.8.3

img

  • 写回答

24条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-08-15 22:15
    关注

    以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。

    要解决这个问题,首先需要了解如何在集群中管理多个副本(KAFKA TOPIC)并确保它们能够正确地被重新选择为主节点。

    步骤1: 集群配置

    1. 增加ZOOKEEPER副本:为每个KAFKA TOPIC创建一个新的ZOOKEEPER副本。

    2. 配置KAFKA TOPIC

      • /ETC/ZOOKEEPER/目录下创建一个名为ZOOKEEPER.PROPERTIES的文件,并添加以下内容:
        # 设置ZOOKEEPER的地址
        SERVER.ZK = <YOUR-ZOOKEEPER-SERVER>:/ZOO<YOUR-CLUSTER-NAME>
        
        # 设置ZOOKEEPER的端口
        PORT = 2181
        
    3. 设置KAFKA TOPIC配置

      • 创建一个新的ZOOKEEPER TOPIC文件,例如/VAR/RUN/ZOOKEEPER/<YOUR-CLUSTER-NAME>/TOPIC_<YOUR-TOPIC-NAME>.CONF
      • 将上述配置文件的内容复制到新创建的ZOOKEEPER TOPIC文件中。

    步骤2: KAFKA TOPIC的配置

    1. 创建KAFKA TOPIC

      • 使用ZOOKEEPER-ADMIN命令创建新的KAFKA TOPIC。
      • 这个操作会创建一个新的ZOOKEEPER主题,然后将它添加到/ETC/ZOOKEEPER/目录下的/ETC/ZOOKEEPER/ZK_SERVERS文件中。
    2. 配置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.SERVERSZK_SERVERS分别表示从哪个ZOOKEEPER服务器获取KAFKA SERVER列表和KAFKA TOPIC列表。

    3. 启动KAFKA TOPICS

      • 打开终端或SSH登录到KAFKA SERVER,使用ZOOKEEPER-ADMIN命令启动这些新创建的KAFKA TOPIC。

    步骤3: ZK重新选择主节点

    1. 重启ZOOKEEPER

      • 确保所有的ZOOKEEPER服务器都已成功启动。
      • 在终端或SSH登录到ZOOKEEPER服务器上,使用ZOOKEEPER-DAEMON.SH RESTART来重启ZOOKEEPER。
    2. 检查KAFKA TOPICS状态

      • 在终端或SSH登录到KAFKA SERVER,查看当前的KAFKA TOPIC状态,以确认是否已经成功创建了KAFKA TOPIC。
    3. 检查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信息等。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月20日
  • 创建了问题 8月15日

悬赏问题

  • ¥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局部变量对蓝图不可见