kafka代理在启动时不可用

relj7zay  于 2021-06-07  发布在  Kafka
关注(0)|答案(10)|浏览(358)

我在集群的ubuntu节点上设置了一个kafka 0.11.0.0示例。直到几周前一切正常,今天我试图启动它,开机后我发现这个错误:

[2017-09-11 16:21:13,894] INFO [Kafka Server 0], started (kafka.server.KafkaServer)
[2017-09-11 16:21:18,998] WARN Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2017-09-11 16:21:21,991] WARN Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
... and so on...

我的服务器属性:


############################# Server Basics #############################

# The id of the broker. This must be set to a unique integer for each broker.

broker.id=0

# Switch to enable topic deletion or not, default value is false

delete.topic.enable=true

############################# Socket Server Settings ##########################$

# The address the socket server listens on. It will get the value returned from

# java.net.InetAddress.getCanonicalHostName() if not configured.

# FORMAT:

# listeners = listener_name://host_name:port

# EXAMPLE:

# listeners = PLAINTEXT://your.host.name:9092

# listeners=PLAINTEXT://9092

# Hostname and port the broker will advertise to producers and consumers. If no$

# it uses the value for "listeners" if configured.  Otherwise, it will use the $

# returned from java.net.InetAddress.getCanonicalHostName().

advertised.listeners=PLAINTEXT://hidden_ip:55091

我编辑了advised.listeners,因为有一个代理可以将请求重定向到代理。不管怎样直到几周前一切都很顺利。。。
我开始Kafka的步骤:

1- service zookeeper start 
2- ./kafka_2.11-0.11.0.0/bin/kafka-server-start.sh ~/kafka_2.11-0.11.0.0/config/server.properties

有什么建议吗?谢谢您

s3fp2yjn

s3fp2yjn1#

我也有同样的问题。。。
所以我先问Zookeeper一些数据

echo dump | nc localhost 2181

我得到了这样的东西

SessionTracker dump:
Session Sets (3):
0 expire at Sun Dec 03 18:15:48 GST 2017:
0 expire at Sun Dec 03 18:15:51 GST 2017:
1 expire at Sun Dec 03 18:15:54 GST 2017:
0x1601c9a25190000
ephemeral nodes dump:
Sessions with Ephemerals (1):
0x1601c9a25190000:
/controller
/brokers/ids/0

我认为这意味着我有1个代理可用-它的id为0。
那么,让我们来看看那个经纪人。

bin/zookeeper-shell.sh localhost:2181 <<< "get /brokers/ids/0"

我明白了

{"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://192.168.1.220:9092"],"jmx_port":-1,"host":"192.168.1.220","timestamp":"1512308520781","port":9092,"version":4}
cZxid = 0x69
ctime = Sun Dec 03 17:42:00 GST 2017
mZxid = 0x69
mtime = Sun Dec 03 17:42:00 GST 2017
pZxid = 0x69
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x1601c9a25190000
dataLength = 196
numChildren = 0

这让我相当吃惊。。。plaintext://192.168.1.220:9092,所以当我将连接字符串改为

bin/kafka-console-producer.sh  --broker-list PLAINTEXT://192.168.1.220:9092  --topic test

现在一切都成功了。
祝你好运!!

wi3ka0sx

wi3ka0sx2#

如果您使用的是spring boot,请查看是否在中设置了以下属性 application.properties 文件,假设仅生产商应用程序:

spring.kafka.producer.bootstrap-servers=localhost:9092

否则,通常应执行以下操作:

kafka.bootstrap.servers=localhost:9200

我不需要改变 listenersserver.properties 像其他人建议的那样。

xxls0lw8

xxls0lw83#

当我们开始在日志中搜索错误的实际原因时,我们遇到了同样的情况。
当我们启动kafka集群时,它默认使用

listeners=PLAINTEXT://:9092

无法连接,无法找到主机。
我们把线路改成

listeners=PLAINTEXT://<our ip address> :9092,

那么

listeners=PLAINTEXT://<our ip address> :9093,

在我们的server-1.properties(另一个broker id文件)中,我们复制了其他server.properties文件并重新启动了集群。

rkue9o1l

rkue9o1l4#

取消对此行的注解

侦听器=纯文本://:9092

将此更改为

听众=plaintext://127.0.0.1:9092

ej83mcc0

ej83mcc05#

我确信这个问题现在已经解决了,但是我在一个运行aws ecs任务的kafka客户端上得到了这个问题,该客户端试图连接到一个运行ec2示例的kafka集群,问题是安全组。在集群的入站规则列表(ec2->示例->安全->(选择您的安全组)->编辑入站规则->(自定义tcp/9092/cidr)->添加规则)中添加所有ecs任务的允许子网(ecs->集群->任务->详细信息->允许子网)的cidr解决了问题。

jk9hmnmh

jk9hmnmh6#

error message: "Connection to node -1 could not be established. Broker may not be available"

解决方案:
我得到这个错误,因为我有一个不同版本的Kafka运行在集群和本地。确保版本相同。我在指定中的版本 pom.xml 低于 properties 标签

5anewei6

5anewei67#

使用spring boot、kafka(图片:spotify/kafka)和docker compose组合,您可能需要在项目中设置以下属性:

broker-addresses: <hostname>:9092

另外,docker compose中的服务需要配置如下的环境属性,

KAFKA_BOOTSTRAP_SERVERS: <hostname>:9092

希望这能帮上忙。

n3ipq98p

n3ipq98p8#

我将kafka server.properties的侦听器配置为 listeners=PLAINTEXT://**10.127.96.151**:9092 但我要求消费者 ./kafka-console-consumer.sh --bootstrap-server**localhost**:9092 --topic topic1 --from-beginning ,然后它就会发出警告。
当我将consumer引导服务器修复为10.127.96.151:9092时,它运行良好,没有更多警告

7ajki6be

7ajki6be9#

我在windows10上也遇到了同样的问题,我在这篇文章中仔细阅读了所有的答案。造成这个问题的原因和解决方法是,在我的新windows机器上,我安装了jre(jre-8u221),然后按照apache kafka文档中提到的步骤启动zookeeper、kafka服务器、通过producer发送消息等。但我遇到了与broker不可用相关的错误。然后我下载了jdk(来自oracle的jdk-8u221)并安装了它。设置javau home和path变量并重新启动机器。之后的一切都一气呵成。

vaj7vani

vaj7vani10#

i服务器属性:

listeners=PLAINTEXT://hidden_ip:9092

当我跑步时: bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic lt1 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic lt1 我得到了和你一样的错误。我试着运行:

bin/kafka-console-producer.sh --broker-list hidden_ip:9092 --topic lt1

它起作用了,我没有错。
所以我认为你应该检查Kafka服务器使用的端口是什么。当端口没有建立或者你连接了错误的ip时,这个错误就会出现。
我在同一台机器上运行这个。

相关问题