我正在使用3代理Kafka。如果我停止第三个节点:没问题,我可以从节点1或2消耗日志。如果我停止第二个节点:没问题,我可以从节点1或3消耗日志。如果我停止第一个节点:我不能消耗任何东西。
当我重新启动kafka runner服务时。日志在这里,写得很好。
我的主题配置是:主题:log_topic主题ID:xxx分区计数:32复制因子:3配置:segment.bytes=1073741824,retention.ms=7200000主题:log_topic分区:0领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:1领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:2领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:3领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:4领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:5领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:6领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:7领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:8领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:9领导者:2副本:1,2,3 Isr:2,3,1主题:log_topic分区:10领导者:2副本:2,3,1 Isr:2,3,1主题:log_topic分区:11领导者:3副本:3,1,2 Isr:2,3,1主题:log_topic分区:12领导者:3副本:1,3,2 Isr:2,3,1主题:log_topic分区:13领导者:2副本:2,1,3 Isr:2,3,1主题:log_topic分区:14领导者:3副本:3,2,1 Isr:2,3,1主题:log_topic分区:15领导者:2副本:1,2,3,3 Isr:2,3,1主题:log_topic分区:16领导者:2副本:2,3,1 Isr:2,3,1主题:log_topic分区:17领导者:3副本:3,1 Isr:3,1 Isr: 18领导者: 3副本: 1,3,2 Isr: 2,3,1主题:log_topic分区: 19领导者: 2副本: 2,1,3 Isr: 2,3,1主题:log_topic分区: 20领导者: 3副本: 3,2,1 Isr: 2,3,1主题:log_topic分区: 21领导者: 2副本: 1,2,3 Isr: 2,3,1主题:log_topic分区: 22领导者: 2副本: 2,3,1 Isr: 2,3,1主题:log_topic分区: 23领导者: 3副本: 3,1,2 Isr: 2,3,1主题:log_topic分区: 24领导者: 3副本: 1,3,2 Isr: 2,3,1主题:log_topic分区: 25领导者: 2副本: 2,1,3 Isr: 2,3,1主题:log_topic分区: 26领导者: 3副本: 3,2,1 Isr: 2,3,1主题:log_topic分区: 27领导者: 2副本: 1,2,3 Isr: 2,3,1主题2副本: 2,3,1 Isr: 2,3,1主题:log_topic分区: 29领导者: 3副本: 3,1,2 Isr: 2,3,1主题:log_topic分区: 30领导者: 3副本: 1,3,2 Isr: 2,3,1主题:log_topic分区: 31领导者: 2副本: 2,1,3 Isr: 2,3,1
当我停下来的时候。领导适当地改变。
有什么想法吗?
确保你的\uuuu consumer\u offset
主题有三个副本,并且不仅托管在broker 1上。默认情况下,它只有一个副本,这是在服务器中建立的。属性
这似乎是消费者补偿主题的配置问题。
_consumer_offsets用于存储每个主题的已提交偏移量信息:每个消费者组的分区(GroupID)
每当一个组中的消费者从Kafka读取数据时,它会定期存储该点上的信息,直到在一个名为_消费者_偏移量的特殊主题中读取数据。这样做是为了在出现故障时,消费者可以从其最后位置恢复。
问题
__consumer_offset主题的复制因子将被设置为1,该主题的所有分区也将出现在broker 1中。
您可以在上面描述要验证的__consumer_offsets主题。如果是这样,那么解决问题的最简单方法是删除__consumer_offsets主题,并使用所需的复制因子重新创建它。
如果删除不是一个选项,那么按照下面线程中的说明
如何更改Kafka主题的副本数量?
我有两个vm服务器(比如S1和S2),需要在集群模式下安装kafka,其中只有一个分区和两个副本(一个是领导者本身,另一个是追随者),以确保可靠性。 从这个集群设置中获得了高层次的想法,希望确认以下策略是否正确。 首先将zookeeper设置为两个节点上的群集,以实现高可用性(HA)。如果我只在单个节点上设置zk,然后该节点关闭,则整个集群将关闭。正当在最新的Kafka版本中也必须使用zk吗?看来
我有一个配置bean 然而,当我检查时 似乎没有设置我的任何设置。 我假设我可能在放入配置之前无意中创建了主题。我的问题是如何让我的应用程序检测到NewTopic的值与当前的配置匹配,否则会终止应用程序上下文。 或者强制更新。
我用经纪人ID的20、21、22创建了3个Kafka经纪人设置。然后我创建了这个主题: 其结果是: 当生产者向主题zeta发送消息“Hello World”时,Kafka首先将消息写入哪个分区? 如果我有8个用户在他们自己的进程或线程中并行地运行,并订阅了zeta主题,那么Kafka如何分配分区或代理来并行地为这些用户服务?
本文向大家介绍什么是Kafka中的地域复制?相关面试题,主要包含被问及什么是Kafka中的地域复制?时的应答技巧和注意事项,需要的朋友参考一下 答:对于我们的集群,Kafka MirrorMaker提供地理复制。基本上,消息是通过MirrorMaker跨多个数据中心或云区域复制的。因此,它可以在主动/被动场景中用于备份和恢复;也可以将数据放在离用户更近的位置,或者支持数据位置要求。
我正在用单个主题和多个分区实现kafka producer。我通过消息中的一个特定值(消息json中的feedName属性值)选择消息到哪个分区。我正在为feedName-partitionId映射维护一个SQL表。我的问题是,leader和副本的分区Id是否相同?如果不同,如何在所有代理中唯一地标识分区?
我们已经设置了MirrorMaker来跨两个Kafka集群复制消息。我们还在镜像制造商消费者属性中设置了来复制内部主题。我假设这也将复制,这将反过来同步辅助集群中的消费者组偏移量。 但是,当我们在二级集群中启动消费者组时,它从一开始就开始使用消息,因此看起来消费者组偏移量在二级群集中没有得到复制。 有人能提供一些建议吗?我们如何使用MirrorMaker或任何其他解决方案在辅助集群中同步消费者组偏