在Debian上搭建Kafka集群需要以下幾個步驟:
首先,確保你的系統上已經安裝了Java和Zookeeper。
sudo apt update
sudo apt install openjdk-8-jdk
驗證Java安裝:
java -version
可以從Apache官網下載Zookeeper的安裝包,或者使用包管理器進行安裝。這里以下載安裝包為例:
wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.6.1.tar.gz
tar -zxvf zookeeper-3.6.1.tar.gz
sudo mv zookeeper-3.6.1 /opt/zookeeper
進入Zookeeper的配置目錄并修改zoo.cfg
文件:
cd /opt/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
編輯zoo.cfg
文件,配置Zookeeper集群:
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
創建數據和日志目錄:
sudo mkdir -p /opt/zookeeper/data
sudo mkdir -p /opt/zookeeper/log
啟動Zookeeper:
nohup ./bin/zookeeper-server-start.sh ../config/zoo.cfg >/dev/null 2>&1 &
下載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 /opt/kafka
配置Kafka:
編輯server.properties
文件,設置每個Kafka broker的broker.id
,listeners
和log.dirs
等參數。例如:
kafka1:
broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1
zookeeper.connect=zookeeper1:2181
kafka2:
broker.id=2
listeners=PLAINTEXT://:9094
log.dir=/tmp/kafka-logs-2
zookeeper.connect=zookeeper1:2181
kafka3:
broker.id=3
listeners=PLAINTEXT://:9095
log.dir=/tmp/kafka-logs-3
zookeeper.connect=zookeeper1:2181
啟動Kafka集群:
cd /opt/kafka
sudo bin/kafka-server-start.sh config/server.properties
sudo bin/kafka-server-start.sh config/server-1.properties
sudo bin/kafka-server-start.sh config/server-2.properties
創建一個測試主題并驗證Kafka集群是否正常工作:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
bin/kafka-console-producer.sh --broker-list localhost:9093 --topic test
bin/kafka-console-consumer.sh --bootstrap-server localhost:9093 --topic test --from-beginning
以上步驟應該可以幫助你在Debian上成功搭建一個Kafka集群。注意,這里的示例配置和步驟可能需要根據你的實際環境和需求進行調整。