設(shè)置本地Apache Kafka,與Docker強強聯(lián)動
一、引言
許多公司擁有大量的數(shù)據(jù),需要一種方法來簡化和轉(zhuǎn)儲所有傳入數(shù)據(jù)到不同的位置,這就是所謂的Kafka Sink。
在生產(chǎn)環(huán)境中,不建議自己托管Kafka,而是建議支付云服務(wù)提供商在AWS上進行托管,這就是Amazon Managed Streaming for Apache Kafka(MSK)。然而,Kafka在本地測試卻很不方便。因此,在將其部署到測試或生產(chǎn)環(huán)境之前,可以選擇使用Docker在本地快速啟動一個Apache Kafka來開發(fā)所需內(nèi)容。這樣可以更快地進行開發(fā)并驗證代碼,不用擔(dān)心環(huán)境問題。
二、使用Docker和Docker Compose快速啟動Kafka
1.配置Docker Compose文件
首先,使用Docker和Docker Compose創(chuàng)建運行單節(jié)點Kafka的設(shè)置。以下是一個示例的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
2. 檢查Kafka和Zookeeper設(shè)置的狀態(tài)
完成之后,可以使用以下兩個命令檢查Kafka和Zookeeper設(shè)置的狀態(tài)。
nc -z localhost 22181
nc -z localhost 29092
如果一切運行順利,這兩個測試都應(yīng)該返回成功。
三、使用Offset Explorer 2查看Kafka
1. 下載Offset Explorer 2
現(xiàn)在,可以下載Kafka工具(Offset Explorer 2,下載地址:https://kafkatool.com/download.html),它是一個用于Kafka的UI工具,支持以UI方式查看Kafka,不用記住命令行。
2. 配置Offset Explorer 2
下載了該工具之后,需要進行配置設(shè)置,在配置設(shè)置中,進入高級選項卡,并將localhost:29092作為引導(dǎo)網(wǎng)關(guān),然后就可以開始使用了!