【问题标题】:Kafka mirror maker not working卡夫卡镜子制造商不工作
【发布时间】:2018-05-22 06:21:36
【问题描述】:

我遇到了一个奇怪的问题,我的镜像制造商能够镜像目标集群中的主题名称,但是当我尝试从中使用消息时没有看到任何消息。下面是我的配置文件 -

生产者配置

bootstrap.servers=dest_broker_ip:9092,dest_broker_ip:9092
acks=1
batch.size=100
max.in.flight.requests.per.connection=1
retries=1000000
client.id=mirror_maker_producer

consumer.config

bootstrap.servers=source_broker_ip:9092,source_broker_ip:9092,source_broker_ip:9092    
exclude.internal.topics=true
group.id=test-consumer-group_3
client.id=mirror_maker_consumer

然后我使用以下命令启动我的镜像制作器

bin/kafka-run-class.sh kafka.tools.MirrorMaker --consumer.config config/consumer.config --producer.config config/producer.config --whitelist=".*"

镜像制作器启动后,我会转到我的源集群并使用以下命令创建一个主题以及一些消息

bin/kafka-verifiable-producer.sh --topic u39 --max-messages 2000 --broker-list 10.******:9092

这将创建一个主题 u39,并将向其推送 2000 条消息。现在,如果我在同一个源集群上运行消费者,我可以使用确认消息是在源集群中生成的消息

我现在转到我的目标集群并尝试创建一个具有相同名称的主题,即 u39 这将返回一个错误,指出主题已存在,这确认镜像制造商将主题从源集群复制到目标集群,但是当我尝试使用通过以下命令在目标集群上发送消息

bin/kafka-console-consumer.sh --zookeeper 10.200.14.117:2181 --topic u39 --from-beginning

我没有看到任何消息。不知道出了什么问题,非常感谢任何帮助/指导。

更新 1 - 我正在使用 Kafka 1.0.0

更新 2 - 两个集群完全隔离,设置在 AWS 上,一个集群在 east-1,另一个在 west-2。再次,我能够在两个集群上生成和使用消息。

【问题讨论】:

  • 较新的 Kafka 消费者使用 bootstrap-servers 而不是 Zookeeper
  • 是的,我正在使用引导服务器
  • 对不起?我在问题中看到kafka-console-consumer.sh --zookeeper,而不是kafka-console-consumer.sh --bootstrap-server

标签: apache-kafka kafka-consumer-api kafka-producer-api


【解决方案1】:

我认为您正在混合来自不同版本的控制台使用者的语法。现在默认应该是新的消费者,新的消费者需要一个引导服务器而不是 ZooKeeper。

试试:

kafka-console-consumer.sh --bootstrap-server 10.******:9092 --topic u39 --from-beginning

【讨论】:

  • 不,它没有工作它给出一个错误警告 [Consumer clientId=consumer-1, groupId=console-consumer-73211] 无法建立到节点 -1 的连接。经纪人可能不可用。 (org.apache.kafka.clients.NetworkClient)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
  • 1970-01-01
  • 2017-05-06
  • 2013-08-26
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
相关资源
最近更新 更多