我试着用卡夫卡。 所有配置都正确完成,但当我试图从控制台产生消息时,我一直得到以下错误
WARN Error while fetching metadata with correlation id 39 :
{4-3-16-topic1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
Kafka版本:2.11-0.9.0.0
我试着用卡夫卡。 所有配置都正确完成,但当我试图从控制台产生消息时,我一直得到以下错误
WARN Error while fetching metadata with correlation id 39 :
{4-3-16-topic1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
Kafka版本:2.11-0.9.0.0
当前回答
如果你在本地机器上运行kafka,尝试更新$KAFKA_DIR/config/server。以下行包含的属性: //localhost:9092然后重启kafka。
其他回答
我解决这个问题的方法是这样设置监听器:
advertised.listeners = PLAINTEXT://my.public.ip:9092
listeners = PLAINTEXT://0.0.0.0:9092
这使得KAFKA代理侦听所有接口。
我使用的是kafka_2.12-0.10.2.1:
vi problem / server . properties
加到下面一行:
listeners=PLAINTEXT://localhost:9092
不需要更改广告。当它拾取值时监听器 从STD侦听器属性。
代理将向生产者和消费者发布主机名和端口。如果没有设置,
如果配置了“监听器”,则使用该值
否则,它将使用从java.net.InetAddress.getCanonicalHostName()返回的值。
停止Kafka代理:
bin/kafka-server-stop.sh
重新启动代理:
bin/kafka-server-start.sh -daemon config/server.properties
现在你应该不会看到任何问题。
如果你在本地机器上运行kafka,尝试更新$KAFKA_DIR/config/server。以下行包含的属性: //localhost:9092然后重启kafka。
因为我想让我的kafka代理连接到远程生产者和消费者,所以我不想做广告。要注释掉的侦听器。在我的情况下,(在kubernetes上运行kafka),我发现我的kafka pod没有分配任何集群IP。通过从服务中删除行clusterIP: None。呵呵,kubernetes给kafka pod分配了一个内部ip。这解决了我的LEADER_NOT_AVAILABLE问题,也解决了kafka生产者/消费者的远程连接问题。
我知道这是很久以前发布的,我想分享我是如何解决它的。 因为我有我的办公室笔记本电脑(VPN和代理配置)。 我检查了环境变量NO_PROXY
> echo %NO_PROXY%
返回空值 现在我已经设置了NO_PROXY与localhost和127.0.0.1
> set NO_PROXY=127.0.0.1,localhost
如果您想追加现有值,则
> set NO_PROXY=%NO_PROXY%,127.0.0.1,localhost
在这之后,我重新启动了zookeeper和kafka 工作起来很有魅力