【问题标题】:Kafka consumer and producer throwing error卡夫卡消费者和生产者抛出错误
【发布时间】:2018-05-28 15:42:28
【问题描述】:

我在尝试在 Kafka 消费者中传递单词时遇到错误, 我输入的命令

console-1:(用于生产者)

    export PATH=$PATH:/usr/hdp/current/kafka-broker/bin

kafka-topics.sh --create --zookeeper ip-172-31-20-58.ec2.internal:2181 --replication-factor 1 --partitions 1 --topic testuday1234

kafka-console-producer.sh --broker-list ip-172-31-20-58.ec2.internal:6667 --topic testuday1234

console-2:(用于消费者)

export PATH=$PATH:/usr/hdp/current/kafka-broker/bin
kafka-console-consumer.sh --zookeeper localhost:2181 --topic testuday1234 --from-beginning

请帮我解决这些错误

我在生产者控制台中遇到错误:

[udaychitukula6587@ip-172-31-38-183 ~]$ kafka-console-producer.sh --broker-list ip-172-31-20-58.ec2.internal:6667 --topic testuday1234
hi
[2018-05-28 15:27:36,761] WARN Error while fetching metadata [{TopicMetadata for topic testuday1234 ->
No partition metadata for topic testuday1234 due to kafka.common.LeaderNotAvailableException}] for topic [testuday1234]: class kafka.common.LeaderNotAvailableExcep
tion (kafka.producer.BrokerPartitionInfo)
[2018-05-28 15:27:36,774] WARN Error while fetching metadata [{TopicMetadata for topic testuday1234 ->
No partition metadata for topic testuday1234 due to kafka.common.LeaderNotAvailableException}] for topic [testuday1234]: class kafka.common.LeaderNotAvailableExcep
tion (kafka.producer.BrokerPartitionInfo)

我在消费者控制台中遇到错误:

[udaychitukula6587@ip-172-31-38-183 ~]$ kafka-console-consumer.sh --zookeeper localhost:2181 --topic testuday123 --from-beginning
{metadata.broker.list=ip-172-31-20-58.ec2.internal:6667,ip-172-31-53-48.ec2.internal:6667,ip-172-31-60-179.ec2.internal:6667, request.timeout.ms=30000, client.id=c
onsole-consumer-63526, security.protocol=PLAINTEXT}
{metadata.broker.list=ip-172-31-20-58.ec2.internal:6667,ip-172-31-53-48.ec2.internal:6667,ip-172-31-60-179.ec2.internal:6667, request.timeout.ms=30000, client.id=c
onsole-consumer-63526, security.protocol=PLAINTEXT}

【问题讨论】:

  • 多少个分区?该错误在生产者方面是不言自明的。该主题的分区没有领导者。消费者有什么例外?我什么都没看到。

标签: apache-kafka


【解决方案1】:

我在这里指出了几件事。

首先,在控制台消费者的 Kafka 的较新版本(我认为是 0.10.1 版本)中,我们需要使用 --bootstrap-server 选项而不是 --zookeeper。您能否确认您正在使用的版本?并尝试使用--bootstrap-server 选项运行消费者命令?

其次,对于这种情况下的制作人,我建议检查 3 件事来确认问题可能出在哪里:

  1. Kafka 集群的领导者由 zookeeper 选举,因此可能值得通过运行 zookeeper-client shell 来检查 Kafka 集群中是否有活动控制器(在 znode 路径中 - /brokers/ids/[brokerId]) .
  2. 尝试运行Kafka-topics --describe --topic 命令以查看主题是否有活动的领导者分区,即命令输出中的Leader 列不应该有None。我以前也遇到过这种情况。
  3. 最后一个是关于代理的端口号,请您检查并确认代理是否真的在侦听该端口。您可以在代理的 server.properties 文件中找到此信息(listeners 和 advertised.listeners)。我发现 this post 在用户遇到端口 6667 问题时可能会很有用。

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2018-12-04
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 2018-05-05
    • 2021-08-22
    相关资源
    最近更新 更多