kafka本地可以执行查询topic的命令,但是通过外网链接kafka,查询topic就不行。(外网ping端口可以ping通)

smile-hu 发表于: 2022-02-22   最后更新时间: 2022-02-22 14:14:57   1,247 游览

很神奇的问题,我把kafka安装在服务器上之后,本地可以执行查询topic的命令。

但是通过外网链接kafka,查询topic就不行。(外网ping 端口 可以ping通)

服务器环境:机房服务器,独立ip。请求先到达防火墙,然后防火墙根据端口映射,匹配到对应的服务器上

配置如下

broker.id=0
listeners=PLAINTEXT://192.168.88.82:9092  和 listeners=PLAINTEXT://:9092 效果是一样的
log.dirs=/data/kafka/log
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
zookeeper.connect=127.0.0.1:2181

用以上配置之后,服务器本地可以访问kafka,同局域网下的另一台服务器也可以访问

但是加了advertised.listeners=PLAINTEXT://xxx:9092这个配置之后,本地服务器也不能访问了。

发表于 2022-02-22
添加评论

server.properites中加上以下配置,然后重启kafka:

advertised.listeners=PLAINTEXT://外网地址:9092

配置来自:Kafka Broker配置

smile-hu -> 半兽人 2年前

我配上之后,服务器上kafka都没办法使用了

smile-hu -> 半兽人 2年前

配了之后 本地的kafka都不能使用了

smile-hu -> 半兽人 2年前

重新编辑了一下

半兽人 -> smile-hu 2年前

192.168.88.82:9092内部这个地址应该是不影响的呀,你操作命令贴一下。

telnet一下外网,看看通不通,配置没问题,我个人觉得是你外网转发的问题。

smile-hu -> 半兽人 2年前

我把这个advertised.listeners 配上之后,执行

kafka-topic.sh --list --bootstrap-server 192.168.88.82:9092

就执行不成功了。

半兽人 -> smile-hu 2年前

报什么错?

smile-hu -> 半兽人 2年前
[root@192 ~]# /usr/tools/kafka_2.13-3.0.0/bin/kafka-topics.sh --list --bootstrap-server 192.168.88.82:9092
Error while executing topic command : Timed out waiting for a node assignment. Call: listTopics
[2022-02-23 09:55:52,419] ERROR org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics
半兽人 -> smile-hu 2年前
netstat -unltpa|grep 9092

查看你端口的绑定情况,贴一下。

你的答案

查看kafka相关的其他问题或提一个您自己的问题