ERROR向主题发送消息时出错

Nil*_*pal 25 apache-kafka

在kafka中生成消息时,我收到以下错误:

$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic nil_PF1_P1
hi
hello

[2016-07-19 17:06:34,542] ERROR Error when sending message to topic nil_PF1_P1 with key: null, value: 2 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
[2016-07-19 17:07:34,544] ERROR Error when sending message to topic nil_PF1_P1 with key: null, value: 5 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.


$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic nil_PF1_P1
Topic:nil_PF1_P1    PartitionCount:1    ReplicationFactor:1 Configs:
Topic: nil_PF1_P1   Partition: 0    Leader: 2   Replicas: 2 Isr: 2
Run Code Online (Sandbox Code Playgroud)

对此有何看法?

小智 14

而不是更改server.properties包括代码本身中的0.0.0.0.这解决了我的问题.

代替

    /usr/bin/kafka-console-producer --broker-list Hostname:9092 --topic MyFirstTopic1
Run Code Online (Sandbox Code Playgroud)

使用:

    /usr/bin/kafka-console-producer --broker-list 0.0.0.0:9092 --topic MyFirstTopic1
Run Code Online (Sandbox Code Playgroud)


Yog*_*war 11

这可能是因为kafka server.properties文件中的一些参数.以下解决方案为我工作.您可以在此处找到更多信息
1)停止kakfka服务器.

$ cd $ KAFKA_HOME/bin
$ ./kafka-server-stop.sh

2)改变了

听众= PLAINTEXT://主机名:9092

听众= PLAINTEXT://0.0.0.0:9092

$ KAFKA_HOME /配置/ server.properties`

文件.
3)重启kafka服务器.

$ KAFKA_HOME/bin/kafka-server-start.sh /kafka/config/server.properties


Dan*_*Mor 9

我知道这已经过时了但这可能适用于正在处理它的其他人:我更改了两件事:
1.将"bootstrap.servers"属性或--broker-list选项 更改为0.0.0.0:9092
2.更改(在我的情况下取消注释和编辑)2个属性中的server.properties

  • listeners = PLAINTEXT://your.host.name:9092 to listeners = PLAINTEXT://:909 2
  • advertised.listeners = PLAINTEXT://your.host.name:9092 to advertised.listeners = PLAINTEXT:// localhost:9092

  • 就我而言,这很简单,默认情况下绑定到 ipv6,因此只需注意一下 - 确保它在 ipv4 addy 上运行,并在不需要时禁用 ipv6 (2认同)

poo*_*til 8

如果您正在运行hortonworks群集,请检查ambari中的侦听端口.

在我的情况下9092不是我的端口.我去了ambari,发现监听端口设置为6667, 它对我有用.:)


Aru*_*n Y 5

我遇到了类似的问题,我可以localhost在网络上的不同机器上进行生产和消费,而不能在网络上的其他机器上进行生产和消费。根据很少的答案,我得到了本质上我们需要advertised.listener向生产者和消费者公开的线索,但是给出0.0.0.0也不起作用。因此,针对advertised.listeners

advertised.listeners=PLAINTEXT://HOST.IP:9092

我照listener=PLAINTEXT://:9092原样离开了。

因此,有了这种火花,生产者和消费者就可以看到广告的ip和端口