温馨提示×

Kafka配置Ubuntu环境要求

小樊
45
2025-12-05 10:13:58
栏目: 智能运维

Kafka在Ubuntu的环境要求与部署要点

一 操作系统与Java版本

  • 操作系统建议使用Ubuntu 20.04 LTS 或 22.04 LTS,可获得更好的稳定性与包支持。Kafka为Java应用,需安装JDK 8 或更高版本;生产环境更推荐OpenJDK 11(亦可使用OpenJDK 17)。验证命令:java -version

二 依赖服务与端口

  • 依赖组件:传统模式需部署Zookeeper;自Kafka 2.8+起支持KRaft模式(内置元数据仲裁,无需单独Zookeeper)。
  • 端口规划:客户端通信默认9092;KRaft模式下控制器通信默认9093;Zookeeper默认2181
  • 防火墙放行示例(UFW):sudo ufw allow 2181,9092,9093/tcp && sudo ufw reload
  • KRaft关键配置要点:process.roles=broker,controllerlisteners=PLAINTEXT://:9092,CONTROLLER://:9093controller.listener.names=CONTROLLERinter.broker.listener.name=PLAINTEXTadvertised.listeners=PLAINTEXT://<本机IP>:9092node.id(各节点唯一)、controller.quorum.voters(仲裁列表)。

三 硬件与存储

  • 磁盘:为Kafka日志(log.dirs)配置高性能磁盘(如SSD/NVMe)充足空间;避免将日志与系统盘混用。
  • 内存:为JVM与操作系统页缓存预留充足内存;生产Broker通常建议≥8 GB,具体视业务吞吐与保留策略而定。
  • 网络:跨节点部署时保证低时延与稳定带宽;公网或容器环境需正确设置advertised.listeners以便客户端可达。

四 文件系统与目录权限

  • 日志目录(如/var/lib/kafka/data/kafka)需确保Kafka运行用户具备读写权限;避免使用/tmp作为生产日志目录。
  • 如采用Zookeeper,其dataDir(如**/var/lib/zookeeper**)同样需正确权限与持久化存储。
  • 运行示例:sudo chown -R kafka:kafka /var/lib/kafka /var/lib/zookeeper(用户与路径按实际调整)。

五 快速自检清单

  • Java就绪:java -version输出符合预期(如1.811)。
  • 端口可达:本地或远程可连通9092(KRaft再加9093;Zookeeper为2181)。
  • 配置正确:server.propertieskraft/server.properties中的broker.id/node.idlistenersadvertised.listenerslog.dirscontroller.quorum.voters等参数无误。
  • 集群唯一性:多Broker时各节点broker.id唯一;KRaft模式下各节点node.id唯一且仲裁列表一致。
  • 基本连通测试:创建Topic、生产者/消费者收发消息正常。

0