在Debian上部署Kafka集群涉及多個步驟,包括安裝必要的軟件、配置Kafka和Zookeeper、啟動服務以及驗證集群狀態。以下是一個詳細的步驟指南:
安裝JDK:Kafka運行在JVM上,因此需要安裝JDK??梢允褂靡韵旅畎惭bOpenJDK 8:
sudo apt update
sudo apt install openjdk-8-jdk
下載并解壓Kafka:從Apache Kafka官網下載所需版本的Kafka安裝包,并解壓到指定目錄。
wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz
tar -zxvf kafka_2.13-2.6.0.tgz
cd kafka_2.13-2.6.0
下載并解壓Zookeeper:同樣從Apache Kafka官網下載Zookeeper安裝包,并解壓。
wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.6.2.tar.gz
tar -zxvf zookeeper-3.6.2.tar.gz
cd zookeeper-3.6.2
修改Zookeeper配置文件:復制zoo_sample.cfg
為zoo.cfg
,并修改以下配置:
dataDir=/var/lib/zookeeper
clientPort=2181
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
啟動Zookeeper:
bin/zookeeper-server-start.sh config/zoo.cfg
修改Kafka配置文件:在每個Kafka節點的config
目錄下,修改server.properties
文件,設置broker.id
、listeners
、log.dirs
和zookeeper.connect
。
broker.id=0
listeners=PLAINTEXT://kafka1:9092
log.dirs=/data/kafka
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
分發配置文件:將修改好的配置文件復制到其他Kafka節點。
scp /path/to/kafka/config/server.properties hadoop2:/path/to/kafka/config/
scp /path/to/kafka/config/server.properties hadoop3:/path/to/kafka/config/
啟動Kafka服務:在每個節點上啟動Kafka服務。
bin/kafka-server-start.sh config/server.properties
創建測試主題:創建一個測試主題以驗證集群功能。
bin/kafka-topics.sh --create --zookeeper zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 --replication-factor 3 --partitions 3 --topic test
生產者和消費者測試:分別啟動生產者和消費者以驗證消息傳遞。
bin/kafka-console-producer.sh --broker-list kafka1:9092,kafka2:9092,kafka3:9092 --topic test
bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092 --topic test --from-beginning