我尝试在Kafka-consumer中传递单词时遇到错误, 我输入的命令
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
请帮我解决这些错误
我在Producer控制台中遇到错误:
[udaychitukula6587 @ ip-172-31-38-183~] $ kafka-console-producer.sh --broker-list ip-172-31-20-58.ec2.internal:6667 - 主题testuday1234 嗨 [2018-05-28 15:27:36,761] WARN获取元数据时出错[{TopicMetadata for topic testuday1234 - > 对于主题[testuday1234],由于kafka.common.LeaderNotAvailableException}]没有主题testuday1234的分区元数据:class kafka.common.LeaderNotAvailableExcep (kafka.producer.BrokerPartitionInfo) [2018-05-28 15:27:36,774] WARN获取元数据时出错[{TopicMetadata for topic testuday1234 - > 对于主题[testuday1234],由于kafka.common.LeaderNotAvailableException}]没有主题testuday1234的分区元数据:class kafka.common.LeaderNotAvailableExcep (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}
答案 0 :(得分:1)
我在这里注意到了一些事情。
首先,在Kafka的较新版本(我认为是0.10.1)中,对于控制台消费者,我们需要使用--bootstrap-server
选项而不是--zookeeper
。你能否确认你正在使用的版本?并尝试使用--bootstrap-server
选项运行使用者命令?
第二,对于这种情况下的制作人,我建议检查3件事以确认问题的位置:
zookeeper-client
shell来查看Kafka集群中是否存在活动控制器(在znode路径中 - {{ 1}})。/brokers/ids/[brokerId]
命令以查看主题是否具有活动的前导分区,即命令输出中的Kafka-topics --describe --topic
列不应具有Leader
。我以前碰到过这个。None
和listeners
)。我发现this post在用户遇到端口6667问题时可能会有用。我希望这有帮助!