吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 435|回复: 5
收起左侧

[求助] kafka单节点问题请教

[复制链接]
Cellluo 发表于 2024-8-25 14:29
佬们,请教个问题,我需要搭建一个单节点的kafka服务器,,根据官网的教程,我已经搭建好了,现在需要局域网的节点的能连kafka服务器,为了kafka服务器能局域网能访问,需要修改配置文件 ,修改内容如下

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://192.168.5.155:9092
这样操作后,在本机上,创建话题,再使用生产者,和消费者没有问题。但是我在另一台服务器上使用Python3脚本模拟生产者,消费者就有问题。
下面是生产者脚本
from kafka3 import KafkaProducer
import json创建Kafka Producer实例producer = KafkaProducer(
bootstrap_servers=‘192.168.5.155:9092’, # Kafka服务器的地址和端口
value_serializer=lambda v: json.dumps(v).encode(‘utf-8’) # 将消息序列化为JSON格式
)发送消息到Kafka的主题producer.send(‘test-topic’, {‘key’: ‘value’}) # ‘my-topic’ 替换为你的实际主题名确保所有消息都被发送producer.flush()print(“消息发送成功”)
下面是消费者的脚本
from kafka3 import KafkaConsumer
import json创建Kafka Consumer实例consumer = KafkaConsumer(
‘test-topic’, # 替换为你的实际主题名
bootstrap_servers=‘192.168.5.155:9092’, # Kafka服务器的地址和端口
auto_offset_reset=‘earliest’, # 从最早的消息开始读取
enable_auto_commit=True, # 自动提交偏移量
group_id=‘my-group’, # 消费者组ID
value_deserializer=lambda x: json.loads(x.decode(‘utf-8’)) # 将消息反序列化为JSON格式
)消费消息for message in consumer:
print(f"接收到消息: {message.value}")
运行脚本报错了,
Traceback (most recent call last):
File “/root/python_code/writing.py”, line 5, in
producer = KafkaProducer(
File “/usr/local/lib/python3.10/dist-packages/kafka3/producer/kafka.py”, line 383, in init
client = self.config[‘kafka_client’](
File “/usr/local/lib/python3.10/dist-packages/kafka3/client_async.py”, line 244, in init
self.config[‘api_version’] = self.check_version(timeout=check_timeout)
File “/usr/local/lib/python3.10/dist-packages/kafka3/client_async.py”, line 900, in check_version
raise Errors.NoBrokersAvailable()
kafka3.errors.NoBrokersAvailable: NoBrokersAvailable想问哈各位哪里不对,脚本是用chatgpt4生成的,我试了telnet 192.168.5.155 9092不通,但我已经 关了防火墙,我查看了又有端口监听在9092.
感谢各位大佬给我指点。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

offlinelee 发表于 2024-8-25 16:26
生产者尝试指定一下api_version对应的kafka版本?producer = KafkaProducer(
    bootstrap_servers=brokers,
    api_version = (0, 9,0))
finky 发表于 2024-8-25 16:39
kafka3.errors.NoBrokersAvailable: NoBrokersAvailable 这不是很明确吗?broker问题,如果broker是启动成功的话,对外的listener配置了吗?
 楼主| Cellluo 发表于 2024-8-25 19:57
finky 发表于 2024-8-25 16:39
kafka3.errors.NoBrokersAvailable: NoBrokersAvailable 这不是很明确吗?broker问题,如果broker是启动成 ...

能告诉我怎么排查吗,我把这个问题给chatgpt,它回复的,我都排查不出来问题,可能是我问的方式不对,感谢你的回复。
Blacksuns 发表于 2024-8-26 09:36
推测是ip地址无法识别 。
1. 没有依次启动 zookeeper 和 kafka;
2. kafka配置文件中 host没有写对:例如有些是 localhost:9092(local版)
 楼主| Cellluo 发表于 2024-8-26 20:46
Blacksuns 发表于 2024-8-26 09:36
推测是ip地址无法识别 。
1. 没有依次启动 zookeeper 和 kafka;
2. kafka配置文件中 host没有写对:例如 ...

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://192.168.5.155:9092
把这两个地方都改成局域网IP地址就行了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-14 18:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表