設定本地Apache Kafka,與Docker強強聯動
2024.02.18
一、引言
許多公司擁有大量的數據,需要一種方法來簡化和轉儲所有傳入數據到不同的位置,這就是所謂的Kafka Sink。
在生產環境中,不建議自己託管Kafka,而是建議支付雲端服務供應商在AWS上進行託管,這就是Amazon Managed Streaming for Apache Kafka(MSK)。然而,Kafka在本地測試卻很不方便。因此,在將其部署到測試或生產環境之前,可以選擇使用Docker在本地快速啟動一個Apache Kafka來開發所需內容。這樣可以更快地進行開發並驗證程式碼,不用擔心環境問題。
二、使用Docker和Docker Compose快速啟動Kafka
1.配置Docker Compose文件
首先,使用Docker和Docker Compose建立運行單節點Kafka的設定。以下是一個範例的Docker Compose檔案:
version: "2"
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 22181:2181
kafka:
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- 29092:29092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
2. 檢查Kafka和Zookeeper設定的狀態
完成之後,可以使用以下兩個指令檢查Kafka和Zookeeper設定的狀態。
nc -z localhost 22181
nc -z localhost 29092
- 1.
- 2.
如果一切運行順利,這兩個測試都應該返回成功。
三、使用Offset Explorer 2查看Kafka
1. 下載Offset Explorer 2
現在,可以下載Kafka工具(Offset Explorer 2,下載網址:https://kafkatool.com/download.html),它是一個用於Kafka的UI工具,支援以UI方式查看Kafka,不用記住命令列。
2. 配置Offset Explorer 2
下載了工具後,需要進行設定設置,在組態設定中,進入高級選項卡,並將localhost:29092作為引導網關,然後就可以開始使用了!