配置Ubuntu Kafka集群涉及多個步驟,包括安裝依賴、下載和解壓Kafka、配置Kafka、創建和啟動Kafka集群等。以下是詳細的步驟:
首先,確保你的Ubuntu系統已經安裝了Java環境。你可以使用以下命令來安裝OpenJDK 11:
sudo apt update
sudo apt install openjdk-11-jdk -y
下載預編譯的Kafka二進制文件。例如,你可以下載Kafka 3.6.2版本:
wget https://downloads.apache.org/kafka/3.6.2/kafka_2.12-3.6.2.tgz
tar -xzf kafka_2.12-3.6.2.tgz
sudo mv kafka_2.12-3.6.2 /usr/local/kafka
進入Kafka的配置目錄并編輯server.properties
文件。以下是一些主要的配置項:
broker.id
: Kafka broker節點的唯一標識。listeners
: Kafka broker的監聽地址。log.dir
: Kafka日志文件的存儲目錄。zookeeper.connect
: Zookeeper的連接地址。例如:
cd /usr/local/kafka/config
sudo vi server.properties
在任意一個節點上生成集群ID:
/usr/local/kafka/bin/kafka-storage.sh random-uuid
然后在其他節點上執行相同的命令。
如果你使用的是KRaft模式,可以跳過Zookeeper的配置。如果你使用的是傳統的Kafka模式,需要配置Zookeeper。以下是一個簡單的Zookeeper配置示例:
# 編輯zookeeper配置文件
sudo vi /usr/local/kafka/config/zookeeper.properties
主要配置項包括:
dataDir
: Zookeeper數據目錄。clientPort
: Zookeeper客戶端端口。在配置目錄下啟動Kafka服務:
cd /usr/local/kafka
sudo bin/kafka-server-start.sh -daemon config/kraft/server.properties
使用以下命令檢查Kafka broker是否在監聽端口9092:
netstat -tulnp | grep 9092
你可以使用kafka-console-producer.sh
和kafka-console-consumer.sh
進行通信測試:
/usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092 --replication-factor 3 --partitions 1 --topic test-topic
/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092 --topic test-topic
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092 --topic test-topic --from-beginning
node.id
不沖突。log.dirs
配置路徑下的文件并重新創建KRaft集群。