在CentOS上配置Kafka需注意以下事项:
-
环境准备
- 安装JDK 1.8+并配置环境变量。
- 下载Kafka并解压到指定目录,建议使用稳定版本。
- 若使用Zookeeper,需先安装并配置Zookeeper。
-
核心配置文件(server.properties)
- broker.id:每个节点唯一标识,集群中需不同。
- listeners:指定监听协议及地址(如
PLAINTEXT://0.0.0.0:9092)。 - log.dirs:日志存储目录,建议多磁盘路径提升IO性能。
- zookeeper.connect:Zookeeper地址,集群中需指向同一实例。
- 安全配置:启用SSL加密或SASL认证(如
security.protocol=SSL)。
-
性能与资源优化
- 内存配置:通过
KAFKA_HEAP_OPTS设置JVM堆内存(建议为物理内存的50%-70%),并配置缓冲区参数(如buffer.memory为可用内存的50%)。 - 分区与副本:根据业务负载设置分区数(
num.partitions)和副本数(default.replication.factor),确保高可用。 - 日志清理:配置
log.retention.hours(保留时间)和log.retention.bytes(保留大小),避免磁盘占满。
- 内存配置:通过
-
启动与运维
- 启动顺序:先启动Zookeeper,再启动Kafka。
- 防火墙放通端口(默认9092、2181)。
- 监控工具:使用Kafka自带命令行工具(如
kafka-topics.sh)或集成Prometheus+Grafana监控性能。
-
集群配置(若需)
- 多节点需确保
broker.id唯一,且zookeeper.connect指向同一Zookeeper集群。 - 配置
auto.leader.rebalance.enable=false避免自动平衡影响稳定性。
- 多节点需确保
-
安全与权限
- 禁用
auto.create.topics.enable防止意外创建Topic。 - 定期清理日志目录,避免权限问题导致服务异常。
- 禁用
参考来源: