Debian Kafka集群维护注意事项
data目录、config目录下的配置文件),防止升级过程中数据丢失。server.properties中设置listeners(Broker监听的网络接口,如PLAINTEXT://:9092)和advertised.listeners(客户端访问的Broker地址,如PLAINTEXT://<节点IP>:9092),确保节点间通信正常且客户端能正确连接。kafka)运行Kafka服务,降低系统权限风险;若系统启用SELinux或AppArmor,需配置相应策略允许Kafka访问数据目录、日志目录等资源。ssl.keystore.location、ssl.truststore.location等参数);通过ACL(访问控制列表)限制对Kafka资源(如topics、消费者组)的访问,防止未授权操作。log.retention.hours(保留时间,如168小时/7天)、log.retention.bytes(保留大小,如1GB)或log.segment.bytes(单个日志段大小,如1GB)控制日志占用空间,避免磁盘爆满。log.compress.message.batches=true并选择合适的压缩算法(如lz4,兼顾压缩比与性能),减少日志文件大小,提升存储效率。logrotate工具或Kafka自带的kafka-log-dirs.sh脚本,定期分割、压缩和删除旧日志文件;可配置Cron任务(如每天凌晨2点)自动执行清理操作。BytesInPerSec/BytesOutPerSec、延迟RequestLatencyAvg、磁盘使用率;主题的消息堆积UnderReplicatedPartitions、ISR副本数;消费者的消费速率ConsumerLag),实现对集群状态的全面感知。systemctl status kafka命令检查Kafka服务运行状态,若服务异常,通过journalctl -u kafka -f查看详细日志,定位启动失败(如端口占用、配置文件错误)或运行时异常(如网络中断、磁盘满)的原因。top、htop、iotop等工具监控Broker的CPU、内存、磁盘I/O使用情况;若CPU过高,可调整num.network.threads(网络线程数)、num.io.threads(IO线程数)参数;若内存不足,可优化JVM堆内存大小(KAFKA_HEAP_OPTS)。ping、traceroute、telnet等工具检查集群节点间的网络连通性,确保各Broker之间、Broker与客户端之间的网络延迟低(如小于50ms)、丢包率低(如小于1%),避免因网络问题导致消息传输失败。