【问题标题】:Multi broker cluster多代理集群
【发布时间】:2018-04-19 20:33:19
【问题描述】:

我将这个 tutorial 用于多代理 kafka 集群。 我建立了三个经纪人:

  • 本地主机:9092
  • 本地主机:9093
  • 本地主机:9094

并使用了这个命令:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic

据我所知,如果我的一个代理死了,另一个仍然会运行并处理消息。

问题是如果我杀了9092 我不能使用这个命令: bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic

我知道该端口已被终止,但是 - 如何通过通用引导服务器使其运行?我错过了什么?

EDIT1:

之后

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --from-beginning --topic my-replicated-topic

它给了我信息:

WARN [Consumer clientId=consumer-1, groupId=console-consumer-82352] 无法建立到节点 -1 的连接。经纪人可能不可用。 (org.apache.kafka.clients.NetworkClient)`

控制台停止。没有消息阅读

【问题讨论】:

    标签: java apache-kafka


    【解决方案1】:

    您可以使用bootstrap-server中的经纪人列表:

    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --from-beginning --topic my-replicated-topic
    

    【讨论】:

    • 不知道你为什么添加spring-kafka标签;这个问题与Spring无关。也就是说,我刚刚对其进行了测试,它对我来说效果很好(使用 kafka 0.11)。我只有一个经纪人,但$ kafka-console-consumer --bootstrap-server localhost:9998,localhost:9092,localhost:9999 --topic testIn --from-beginning 连接到 9092 ok。控制台上的 INFO 日志显示它们已正确解析为列表:bootstrap.servers = [localhost:9998, localhost:9092, localhost:9999]。和WARN Connection to node -1 could not be established(和-3),它​​显示记录正常。
    • 我想添加一些相关的 java 代码,但之后我注意到我可以只用脚本来做同样的事情。我删除了标签。
    • 看来我的kafka选择leader有点问题。我有两个休息时间,但领导者是-1
    • 仅供参考。我又添加了 2 个经纪人,也遇到了类似的问题。客户端没有故障转移。我吹掉了 kafka 日志和 zookeeper 数据并重新启动了代理,一切都开始正常工作了。
    猜你喜欢
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 2019-03-19
    • 1970-01-01
    相关资源
    最近更新 更多