在CentOS上搭建Kafka集群需注意以下关键点:
- 环境准备
- 安装JDK 8+并配置环境变量。
- 部署Zookeeper集群(Kafka依赖其管理元数据),确保所有节点配置一致。
- 配置文件优化
- 唯一标识:每个Broker的
broker.id
需唯一。
- 网络配置:
listeners
:配置监听协议及地址(如PLAINTEXT://内网IP:9092
)。
advertised.listeners
:指定客户端可访问的地址(内网/外网需区分)。
- 存储配置:
log.dirs
:指定多个磁盘目录(如/data1/kafka,/data2/kafka
)提升IO性能。
log.retention.hours
:设置日志保留时间(建议72小时以上)。
- 集群部署要点
- 节点配置:复制Kafka安装包到各节点,修改
broker.id
和网络参数后同步配置。
- 启动顺序:先启动Zookeeper集群,再逐个启动Kafka Broker。
- 安全与权限
- 启用SSL/TLS加密通信,配置证书路径。
- 通过SASL认证限制客户端访问,设置ACL权限。
- 性能优化
- 分区与副本:根据业务负载设置分区数(建议≥消费者数量),副本数≥2(保障高可用)。
- 资源分配:为Broker分配足够内存(建议≥8GB),调整JVM堆内存参数。
- 磁盘优化:使用SSD存储日志,启用
noatime
挂载选项减少IO开销。
- 监控与维护
- 使用Kafka自带命令(如
kafka-topics.sh
)监控主题状态,或集成Prometheus+Grafana。
- 定期清理日志文件,避免磁盘占满。
- 版本与兼容性
参考资料: