以下是在CentOS上实现Kafka高可用的方案,包含关键配置和部署要点:
多节点部署
硬件与网络
net.core.rmem_max)。Kafka配置(server.properties)
broker.id。listeners=PLAINTEXT://0.0.0.0:9092  # 监听所有IP
advertised.listeners=PLAINTEXT://broker1.example.com:9092  # 客户端连接地址
default.replication.factor=3:默认副本数3,确保数据冗余。min.insync.replicas=2:写入时至少2个副本同步成功才返回成功。auto.leader.rebalance.enable=true。Zookeeper配置(若使用)
server.x=host:port:port格式指定成员。tickTime=2000、initLimit=5、syncLimit=2等参数保障集群稳定性。副本与Leader选举
KRaft模式(Kafka 4.0+推荐)
process.roles=controller或broker,并设置controller.quorum.voters。监控工具
# 查看Topic详情
bin/kafka-topics.sh --describe --topic my-topic --bootstrap-server broker1:9092
# 查看Broker列表
bin/zookeeper-shell.sh localhost ls /brokers/ids  # Zookeeper模式
故障处理
log.dirs)和Zookeeper数据。bin/kafka-preferred-replica-election.sh --bootstrap-server broker1:9092
server.properties中配置listeners=SSL://并指定证书路径。SASL_PLAINTEXT或SASL_SSL,配置用户名/密码认证。参考来源: