8

我是 Kafka 的新手,并尝试为它设置环境。我正在尝试运行单个节点 Kafka,但我遇到了错误。

在mac上按照以下步骤

1. brew install zookeeper
2. brew install kafka
3. zkServer start
4.  kafka-server-start.sh /usr/local/etc/kafka/server.properties
5.bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
6.bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 
This is a message

但我收到以下错误。请让我知道,如果我错过了什么

[2015-10-19 15:48:46,632] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,637] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,638] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test (kafka.producer.async.DefaultEventHandler)
[2015-10-19 15:48:46,746] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,749] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,749] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test (kafka.producer.async.DefaultEventHandler)
[2015-10-19 15:48:46,860] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,863] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,863] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test (kafka.producer.async.DefaultEventHandler)
[2015-10-19 15:48:46,973] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,977] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:46,977] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test (kafka.producer.async.DefaultEventHandler)
[2015-10-19 15:48:47,083] WARN Error while fetching metadata [{TopicMetadata for topic test -> 
No partition metadata for topic test due to kafka.common.LeaderNotAvailableException}] for topic [test]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo)
[2015-10-19 15:48:47,084] ERROR Failed to send requests for topics test with correlation ids in [0,8] (kafka.producer.async.DefaultEventHandler)
[2015-10-19 15:48:47,086] ERROR Error in handling batch of 1 events (kafka.producer.async.ProducerSendThread)
kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
    at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)
    at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)
    at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:88)
    at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:68)
    at scala.collection.immutable.Stream.foreach(Stream.scala:547)
    at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:67)
    at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)

谢谢

4

6 回答 6

7

localhost通过将值设置为文件中的以下属性,解决了我这边的问题config/server.properties

host.name
advertised.host.name
于 2016-04-04T10:44:41.143 回答
5

好的,这个非常常见的端口和主机问题。
能否请您确认 Zookeeper 和 Kafka Broker 的 HOST 和 PORT。我假设您已经在本地配置了 Kafka,因此请确保您提供了正确的主机名。

运行以下命令以确保 Zookeeper 和 Kafka 代理在您在命令中提到的端口上运行:

网络统计-a | grep 端口

如果您仍然遇到任何问题,请告诉我。

于 2015-10-19T13:31:41.980 回答
0

尝试像使用 kafka 一样使用正确的配置启动 zookeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties

您可以删除代理日志,然后重试:

rm -R /tmp/kafka-logs (default location)

如果仍然有问题,请检查日志。

于 2015-10-19T16:01:38.277 回答
0

使用 Kafka broker 时,zookeeper 是必须的。你必须在开始zookeeper-server之前开始kafka-server

对端口非常小心,何时使用zookeeper port,何时使用kafka broker port

如果您收到与元数据相关的任何异常,请检查您的主题是否存在于代理中。

./kafka-topics.sh --zookeeper <host>:<port> --describe --topic <topic-name>

对于主题和消费者,使用 zookeeper 端口(服务),对于消费者,使用 kafka 代理。

于 2017-03-15T13:58:22.287 回答
0

我已将 localhost 设置为 127.0.0.1 以解决 server.properties 中的此问题

于 2016-05-26T03:08:20.873 回答
0

我通过更改 server.properties 文件中的 host.name 属性解决了这个问题。默认情况下,它被注释掉并指向本地机器。因此,如果您想在本地启动 kafka,只需取消注释即可,一切就绪。含义 - host.name=localhost

于 2016-04-26T15:12:05.870 回答