官網下載地址:https://kafka.apache.org/downloads
kafka 在 2.8 版本開始脫離 zookeeper,本文示例版本為 3.7.1。
參考:https://blog.csdn.net/zaixiaqin/article/details/134968110
1、下載
wget https://downloads.apache.org/kafka/3.7.1/kafka_2.12-3.7.1.tgz
2、解壓
tar zxvf kafka_2.12-3.7.1.tgz -C /data/
3、配置
進入安裝目錄的config目錄
cd /data/kafka_2.12-3.7.1/config
consumer.properties 是消費者的相關配置
producer.properties 是生產者的相關配置
server.properties 是 kafka 服務的配置
zookeeper.properties 是 zookeeper 的相關配置
zookeeper 中記錄kafka的broker等資訊
修改 server.properties 的配置
vim /data/kafka_2.12-3.7.1/config/server.properties # 修改2處 listeners=PLAINTEXT://192.168.1.94:9092 advertised.listeners=PLAINTEXT://192.168.1.94:9092 # 可改可不改 log.dirs=/tmp/kafka-logs
zookeeper.properties配置不用改
4、啟動
啟動 zookeeper
cd /data/kafka_2.12-3.7.1/ ./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
啟動 kafka
./bin/kafka-server-start.sh -daemon config/server.properties
5、kafka常用操作
5.1 kafka-topics.sh
引數 說明
–bootstrap-server <String: server to connect to> 連線的kafka的broker的主機名稱和埠號
–topic <String: topic> 操作的topic的名稱
–create 建立topic
–delete 刪除主題
–alter 修改主題
–list 檢視所有主題
–describe 檢視主題詳細描述
–partitions <Integer: # of partitions> 設定分割槽數
–replication-factor <Integer:replication factor> 分割槽副本數,一般跟kafka節點數相同
–config <String: name=value> 更新系統預設的配置
使用 topic 控制檯建立一個 topic
./bin/kafka-topics.sh --bootstrap-server 192.168.1.94:9092 --create --topic som_log --partitions 1
使用 topic 控制檯刪除一個 topic
./bin/kafka-topics.sh --bootstrap-server 192.168.1.94:9092 --delete --topic som_log
5.2 kafka-console-consumer.sh
使用 consumer 控制檯訂閱 topic
cd /data/kafka_2.12-3.7.1/ ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic som_log # --from-beginning 消費者訂閱topic之前,生產者如果已經發布了一個event,這時消費者是拿不到這個event的,如果想要拿到之前已經發布的event,就加上該引數。
5.3 kafka-console-producer.sh
使用 producer 控制檯釋出 event
cd /data/kafka_2.12-3.7.1/ ./bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic som_log # 在箭頭後輸入要傳送的 event,每行代表一個 event
在 producer 中釋出的 event,topic 的訂閱者會接收到。