跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 kafka 中 advertised.listeners 生效问题
未分類
21 1 月 2022

关于 kafka 中 advertised.listeners 生效问题

关于 kafka 中 advertised.listeners 生效问题

資深大佬 : cxyfreedom 16

使用 docker-compose 创建了 zookeep 和 kafka 的容器,配置如下:

version: '3'  services:   zookeeper:     image: wurstmeister/zookeeper     ports:       - "2181:2181"     container_name: zookeeper     networks:        - zk    kafka:     image: wurstmeister/kafka     ports:       - "29092:9092"     environment:       KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"       KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://10.10.10.4:9092       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT       KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092       KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181       KAFKA_CREATE_TOPICS: "topic_test:3:1"     depends_on:       - zookeeper     container_name: kafka     networks:        - zk  networks:    zk:     driver: bridge  

其中,KAFKA_ADVERTISED_LISTENERS 的 OUTSIDE 的 IP 是随意写的,换成别的也可以。

INSIDE 用于 docker 内部网络来访问的,这个外网无法连接没什么问题。OUTSIDE 则是提供给外网的。但是因为 IP 是随便配置的,实际上外网本身是无法连接到 10.10.10.4:9092 的,然后客户端通过映射出来的端口 29092 ,能够连接到 Kafka ,想问一下这是为什么?

比如用 Python 的包连接:

# -*- coding:utf-8 -*- from kafka import KafkaConsumer   SERVER = "100.100.21.183:29092" TOPIC = "topic_test"  consumer = KafkaConsumer(bootstrap_servers=SERVER, group_id="test_group", auto_offset_reset="earliest")  print(f"分区信息:{consumer.partitions_for_topic(TOPIC)}") print(f"当前 topic 和分区信息:{consumer.assignment()}") print(f"可消费偏移量:{consumer.beginning_offsets(list(consumer.assignment()))}")  # output 分区信息:{0, 1, 2} 当前 topic 和分区信息:set() 可消费偏移量:{} 

大佬有話說 (1)

  • 資深大佬 : QmLi

    印象中客户端会先通过 kafka 从 zk 里拿 topic 各分区对应 leader 的 KAFKA_ADVERTISED_LISTENERS ,然后再通过 KAFKA_ADVERTISED_LISTENERS 配置的域名或者 ip 发数据
    你这里所有数据都是从 zk 里取的,到这一步都还没用到 KAFKA_ADVERTISED_LISTENERS 这个配置
    你可以尝试发几条数据,估计就不行了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具