centos7安裝單機kafka

苦逼yw發表於2024-07-04

官網下載地址: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 的訂閱者會接收到。

相關文章