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