我从客户端收到带有 python 的消息,但服务器上没有带有 python 的消息?
I get message from client with python but there is no message on server with python?
当我编写此代码并运行它在我的桌面上时它可以工作。
from kafka import KafkaConsumer
consumer = KafkaConsumer('ersin_test',
group_id='eg61-group',
auto_offset_reset='earliest',
enable_auto_commit=False,
consumer_timeout_ms=10000,
bootstrap_servers=['10.1.2.3:9092'])
for message in consumer:
print(message)
但是当我将此代码移动到不同的机器(服务器)时,它没有从 kafka 收到任何消息。
我 运行 这个代码是这样的:python my_script.py
我的服务器已连接kafka服务器:
telnet 10.1.2.3 9092
Trying 10.1.2.3...
Connected to 10.1.2.3.
Escape character is '^]'.
当我 运行 服务器上的这段代码工作时,它可以从 kafka
获取主题名称
import kafka
consumer = kafka.KafkaConsumer(group_id='eg61-group',bootstrap_servers=['10.1.2.3:9092'])
t=consumer.topics()
print(t)
{'ersin_test', 'second-topic', 'abc', 'ESB', 'first-topic', 'ersin-topic'}
所以我看不懂是什么问题
我该如何解决这个问题?
提前致谢。
代理已将 advertised.listeners
设置为 myname
,但此 DNS 主机名无法从您的客户端计算机解析。
这意味着当与 IP 地址的初始 bootstrap 连接成功时,代理 returns myname
作为客户端应发出 consume/produce 请求的主机名,并且由于客户端无法解决 myname
失败。
您应该修复您的 DNS,以便您的客户端计算机可以正确解析 myname
。如果这不是一个选项,那么重新配置您的 Kafka 代理以将 advertised.listeners
设置为 IP 地址(即 advertised.listeners=PLAINTEXT://10.1.2.3:9092
)
当我编写此代码并运行它在我的桌面上时它可以工作。
from kafka import KafkaConsumer
consumer = KafkaConsumer('ersin_test',
group_id='eg61-group',
auto_offset_reset='earliest',
enable_auto_commit=False,
consumer_timeout_ms=10000,
bootstrap_servers=['10.1.2.3:9092'])
for message in consumer:
print(message)
但是当我将此代码移动到不同的机器(服务器)时,它没有从 kafka 收到任何消息。
我 运行 这个代码是这样的:python my_script.py
我的服务器已连接kafka服务器:
telnet 10.1.2.3 9092
Trying 10.1.2.3...
Connected to 10.1.2.3.
Escape character is '^]'.
当我 运行 服务器上的这段代码工作时,它可以从 kafka
获取主题名称import kafka
consumer = kafka.KafkaConsumer(group_id='eg61-group',bootstrap_servers=['10.1.2.3:9092'])
t=consumer.topics()
print(t)
{'ersin_test', 'second-topic', 'abc', 'ESB', 'first-topic', 'ersin-topic'}
所以我看不懂是什么问题
我该如何解决这个问题?
提前致谢。
代理已将 advertised.listeners
设置为 myname
,但此 DNS 主机名无法从您的客户端计算机解析。
这意味着当与 IP 地址的初始 bootstrap 连接成功时,代理 returns myname
作为客户端应发出 consume/produce 请求的主机名,并且由于客户端无法解决 myname
失败。
您应该修复您的 DNS,以便您的客户端计算机可以正确解析 myname
。如果这不是一个选项,那么重新配置您的 Kafka 代理以将 advertised.listeners
设置为 IP 地址(即 advertised.listeners=PLAINTEXT://10.1.2.3:9092
)