kafka内外网映射地址如何配置

随枫而弑 发表于: 2019-09-30   最后更新时间: 2019-10-01  

kafka版本:kafka_2.12-2.3.0
网络环境:内网IP:9092 映射到 外网IP:7039

有个重点是我的外网地址是无法在本地解析的,即在本地只能用内网地址访问kafka

我现在想要在内网能用内网地址访问kafka,在外网能用外网地址访问kafka
以下是我失败的尝试:

1、只配置listeners

listeners=PLAINTEXT://内网IP:9092

内网可以访问,外网报错:

ERROR Error when sending message to topic Hello with key: null, value: 3 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Topic Hello not present in metadata after 60000 ms.

2、配置了listenersadvertised.listeners

listeners=PLAINTEXT://内网IP:9092
advertised.listeners=PLAINTEXT://外网IP:7039

内网和外网访问都报错:

WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 11 : {Hello=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

3、网上找到的一个配置:

listeners=INTERNAL://0.0.0.0:9092,EXTERNAL://0.0.0.0:7039
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
advertised.listeners=INTERNAL://内网IP:9092,EXTERNAL://外网IP:7039
inter.broker.listener.name=INTERNAL

内网可以访问,外网报错:

ERROR Error when sending message to topic Hello with key: null, value: 3 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Topic Hello not present in metadata after 60000 ms.


您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容




上一条: Java创建kafka消费者,不消费报Marking the coordinator servername93:8082 (id: 2147483554 rack: null) dead for group notice-topic_consumer2
下一条: kafka集群配置,但是tps上不去,但是不知道是什么原因

  • 最后还是通过域名映射来解决这个问题,把内外网端口映射一样,然后配置listeners=PLAINTEXT://hostname:9092,修改内网hosts文件为内网地址,修改外网hosts文件为外网地址,就可以内外网都能访问到了

    看看这篇文章能解决你的问题不
    https://www.orchome.com/1903