温馨提示×

Linux Kafka配置中哪些是关键

小樊
47
2025-09-15 09:20:05
栏目: 智能运维

Linux Kafka配置的关键点如下:

一、环境准备

  • Java环境:需安装OpenJDK 8+,配置JAVA_HOME
  • Zookeeper(可选):Kafka 2.8+可不用外部Zookeeper,但需在server.properties中配置zookeeper.connect(若使用)。

二、核心配置文件(server.properties)

  • Broker标识broker.id(集群中唯一,整数)。
  • 监听配置listeners(协议+地址+端口,如PLAINTEXT://0.0.0.0:9092)。
  • 数据存储log.dirs(日志目录,建议多磁盘路径提升性能)。
  • 集群协调zookeeper.connect(Zookeeper地址,如localhost:2181)。
  • 分区与副本num.partitions(默认分区数,影响并行度)、default.replication.factor(副本数,建议≥2)。
  • 日志保留log.retention.hours(保留时长,默认168小时)。

三、性能与高可用配置

  • 线程优化num.network.threads(网络处理线程数)、num.io.threads(磁盘I/O线程数)。
  • 批量处理batch.size(生产者批量大小,单位字节)、linger.ms(批量等待时间)。
  • 压缩compression.type(如gzipsnappy,减少网络传输)。

四、安全配置

  • 认证与加密security.protocol(如SASL_SSL)、sasl.mechanism(如PLAIN)、ssl.keystore/truststore路径。
  • 权限控制:通过ACL限制客户端访问权限。

五、客户端配置(生产/消费者)

  • 生产者bootstrap.serverskey.serializer/value.serializeracks(确认机制,all最可靠)。
  • 消费者bootstrap.serversgroup.id(消费组ID)、auto.offset.reset(无偏移时策略:earliest/latest)。

六、监控与维护

  • 日志管理:定期查看kafka-server.logkafka-consumer-groups.log
  • 动态调整:使用kafka-configs.sh修改配置(如副本数、分区数)。

关键参数来源

0