在Ubuntu上集成Kafka與Zookeeper是一個常見的任務,特別是在構建分布式流處理平臺時。以下是一個詳細的步驟指南,幫助你在Ubuntu系統上成功集成Kafka和Zookeeper。
Kafka是用Java編寫的,因此首先需要安裝Java環境。
sudo apt-get update
sudo apt-get install openjdk-17-jdk
java -version
從Apache Kafka和Zookeeper的官方網站下載適合Ubuntu版本的安裝包,并解壓到指定目錄。
wget https://mirrors.aliyun.com/apache/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0 kafkacd
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.6.6/apache-zookeeper-3.6.6.tar.gz
tar -zxvf apache-zookeeper-3.6.6.tar.gz
mv apache-zookeeper-3.6.6 zookeeper
進入Zookeeper的配置目錄并編輯zoo.cfg
文件。
cd zookeeper
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
在zoo.cfg
文件中添加或修改以下內容:
tickTime=2000
dataDir=/home/kafka/zookeeper
clientPort=2181
initLimit=10
syncLimit=5
server.1=192.168.1.111:2888:3888
server.2=192.168.1.112:2888:3888
server.3=192.168.1.113:2888:3888
在dataDir
指定的目錄下創建myid
文件,并寫入相應的服務器編號。
mkdir -p /home/kafka/zookeeper
echo 1 > /home/kafka/zookeeper/myid
在Zookeeper的bin
目錄下啟動Zookeeper服務。
cd /home/kafka/zookeeper/bin
./zkServer.sh start
./zkServer.sh status
進入Kafka的配置目錄并編輯server.properties
文件。
cd /home/kafka/kafkacd
vim config/server.properties
在server.properties
文件中添加或修改以下內容:
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://192.168.1.111:9092
log.dirs=/home/kafka/log/kafka
zookeeper.connect=192.168.1.111:2181
使用Kafka提供的命令行工具創建主題。
./kafka-topics.sh --bootstrap-server 192.168.1.111:9092 --create --topic my-topic --partitions 3 --replication-factor 3
在Kafka的bin
目錄下啟動Kafka服務。
./kafka-server-start.sh config/server.properties
使用Kafka客戶端連接到Kafka集群。
./kafka-topics.sh --bootstrap-server 192.168.1.111:9092 --list
通過以上步驟,你已經成功在Ubuntu上集成了Kafka和Zookeeper。請確保所有配置文件和路徑都正確無誤,并根據實際需求進行調整。