在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
监控副本同步延迟。关键注意事项:
参考来源: