在Ubuntu上配置Apache Kafka時,有幾個關鍵要點需要注意。以下是一個詳細的配置指南:
Kafka需要Java運行環境,因此首先需要安裝Java。
sudo apt update
sudo apt install openjdk-8-jdk
java -version
驗證Java安裝成功后,可以設置JAVA_HOME
環境變量:
echo "export JAVA_HOME=/path/to/your/java" >> ~/.bashrc
source ~/.bashrc
Kafka依賴于Zookeeper,因此需要先安裝Zookeeper。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar xvf zookeeper-3.4.6.tar.gz
sudo mv zookeeper-3.4.6 /usr/local/zookeeper
配置Zookeeper:
sudo cat > /usr/local/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
EOF
啟動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 -zxvf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka
配置Kafka:
編輯/usr/local/kafka/config/server.properties
文件,設置以下參數:
broker.id
: 每個Kafka broker的唯一標識。listeners
: Kafka監聽的地址和端口。log.dirs
: Kafka日志存儲的目錄。zookeeper.connect
: Zookeeper的連接地址和端口。例如:
broker.id=0
listeners=PLAINTEXT://your_server_ip:9092
log.dirs=/home/your_user/kafka_logs
zookeeper.connect=localhost:2181
在配置文件目錄下啟動Kafka:
cd /usr/local/kafka/bin
./kafka-server-start.sh ../config/server.properties
驗證Kafka是否啟動成功:
netstat -tulnp | grep 9092
創建一個新的Kafka主題:
./kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
使用Kafka控制臺生產者發送消息:
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
使用Kafka控制臺消費者消費消息:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
為了方便管理,可以將Kafka和Zookeeper的路徑添加到系統環境變量中:
echo "export KAFKA_HOME=/usr/local/kafka" >> ~/.bashrc
echo "export PATH=$PATH:$KAFKA_HOME/bin" >> ~/.bashrc
source ~/.bashrc
確保開放Kafka和Zookeeper所需的端口:
sudo ufw allow 2181
sudo ufw allow 9092
sudo ufw reload
以上是在Ubuntu上配置Kafka的主要要點。請根據實際需求調整配置,并確保所有服務正常運行。