在Ubuntu上配置Kafka涉及幾個步驟,包括安裝Java、Zookeeper和Kafka本身,然后修改配置文件并啟動服務。以下是一個詳細的步驟指南:
首先,確保你的系統上安裝了Java。Kafka需要Java運行環境,推薦使用JDK 8。
sudo apt update
sudo apt install openjdk-8-jdk
java -version
驗證Java安裝成功后,設置JAVA_HOME環境變量:
echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> ~/.bashrc
source ~/.bashrc
下載并解壓Zookeeper:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.15/zookeeper-3.4.15.tar.gz
tar -xzf zookeeper-3.4.15.tar.gz
sudo mv zookeeper-3.4.15 /usr/local/zookeeper
配置Zookeeper:
sudo cp /usr/local/zookeeper/conf/zoo.cfg /usr/local/zookeeper/conf/zoo.cfg.sample
sudo vi /usr/local/zookeeper/conf/zoo.cfg
修改zoo.cfg文件中的配置,例如:
tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181
啟動Zookeeper:
sudo /usr/local/zookeeper/bin/zkServer.sh start
驗證Zookeeper是否啟動成功:
sudo netstat -nap | grep 2181
下載并解壓Kafka:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka
創建Kafka日志目錄:
sudo mkdir -p /usr/local/kafka/log
配置Kafka:
sudo vi /usr/local/kafka/config/server.properties
修改server.properties文件中的配置,例如:
broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/usr/local/kafka/log
zookeeper.connect=localhost:2181
創建啟動腳本kafka-start.sh:
sudo vi /usr/local/kafka/bin/kafka-start.sh
添加以下內容:
#!/bin/bash
# Start Zookeeper
/usr/local/zookeeper/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties &
sleep 3
# Start Kafka
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
賦予腳本執行權限:
chmod +x /usr/local/kafka/bin/kafka-start.sh
啟動Kafka:
/usr/local/kafka/bin/kafka-start.sh
使用以下命令查看Kafka進程:
ps aux | grep kafka
或者使用Kafka自帶的命令行工具測試:
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
創建一個Topic:
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
生產者和消費者測試:
# Producer
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
# Consumer
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
以上步驟應該可以幫助你在Ubuntu上成功配置Kafka。如果遇到問題,請檢查配置文件和日志目錄權限設置是否正確。