在Linux上配置Kafka高可用性需部署Kafka集群和Zookeeper集群,核心步驟如下:
環境準備
sudo apt install openjdk-8-jdk
(Ubuntu)或 sudo yum install java-1.8.0-openjdk
(CentOS)。部署Zookeeper集群(Kafka依賴其協調節點)
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
,解壓后進入配置目錄。zoo.cfg
:設置dataDir
(數據目錄)、clientPort
(客戶端端口,默認2181),并配置集群節點(server.1=node1:2888:3888
等,需為每個節點指定唯一ID和端口)。dataDir
下創建myid
文件,寫入節點ID(如節點1寫1
,節點2寫2
)。bin/zookeeper-server-start.sh config/zoo.cfg
。部署Kafka集群
wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz
,解壓后進入配置目錄。server.properties
:
broker.id
:為每個節點設置唯一ID(與Zookeeper的myid
對應)。zookeeper.connect
:指向所有Zookeeper節點(如zoo1:2181,zoo2:2181,zoo3:2181
)。default.replication.factor=3
(副本數,建議≥3)、min.insync.replicas=2
(最小同步副本數)。listeners=PLAINTEXT://<節點IP>:9092
,advertised.listeners
設置為外部可訪問地址。mkdir -p /var/lib/kafka-logs
,并授權用戶(如kafka:kafka
)。bin/kafka-server-start.sh config/server.properties
。驗證高可用性
bin/kafka-topics.sh --create --topic test --replication-factor 3 --partitions 3 --bootstrap-server <任意節點IP>:9092
。監控與維護
kafka-topics.sh --describe
查看Topic分布,kafka-replica-verification.sh
監控副本同步延遲。關鍵注意事項:
參考來源: