在Debian上搭建Kafka集群需注意以下关键点:
-
集群规划
- 至少3个节点(含Zookeeper),建议奇数节点以保证选举稳定性。
- 合理分配磁盘空间(建议SSD)、内存(≥32GB)和CPU资源。
-
依赖环境
- 安装JDK 8/11/17,推荐OpenJDK。
- 配置Zookeeper集群(3节点),确保与Kafka网络互通。
-
配置要点
- server.properties:
broker.id
:每个节点唯一标识。
listeners
/advertised.listeners
:正确配置监听地址和端口,支持多协议(如PLAINTEXT/SSL)。
log.dirs
:指定日志存储路径(建议挂载SSD)。
num.partitions
/default.replication.factor
:根据负载设置分区数(≥3)和副本数(≥2)。
- 安全配置:启用SSL/TLS加密通信,配置SASL认证和ACL权限。
-
网络与防火墙
- 开放Kafka端口(9092等)和Zookeeper端口(2181),确保节点间互通。
- 配置主机名解析(/etc/hosts)或DNS,避免IP变更导致通信异常。
-
性能优化
- 调整JVM堆内存(建议8-16GB),优化GC策略。
- 启用批量发送(
linger.ms
/batch.size
)、压缩(compression.type
)提升吞吐量。
- 监控磁盘I/O和网络延迟,避免单节点成为瓶颈。
-
运维管理
- 配置日志轮转和保留策略,定期备份元数据和数据。
- 使用监控工具(如Prometheus+Grafana)跟踪集群状态,设置告警规则。
- 制定故障恢复流程,定期演练节点故障切换。
参考来源: