本地搭建 kafka
環境
構建環境
下載本倉庫後
# 啟動
$ docker-compose up -d
# 停止
$ docker-compose stop
kafka 啟動之後,只能本機訪問,同一區域網其他機器沒法訪問
使用
進入容器
$ docker exec -it kafka /bin/bash
$ cd /opt/kafka/bin
生產訊息
$ ./kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
消費訊息
$ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning
其他
客戶端訪問 kafka
的時候
- 客戶端連線到
KAFKA_LISTENERS
標識的地址,完後認證後,獲取一個brokers
的返回地址 - 通過返回的
brokers
地址重新建立與kafka
的連線,這個返回的地址就是KAFKA_ADVERTISED_LISTENERS
的值
因此,若要區域網其他機器也能訪問到容器內的 kafka
,則需要宣告 KAFKA_ADVERTISED_LISTENERS
的地址.
欄位說明:
- KAFKA_LISTENERS 定義
kafka
的服務監聽地址 - KAFKA_ADVERTISED_LISTENERS
kafka
釋出到zookeeper
供客戶端使用的服務地址
參考
Docker kafka
kafka配置KAFKA_LISTENERS和KAFKA_ADVERTISED_LISTENERS
本作品採用《CC 協議》,轉載必須註明作者和本文連結