首页主机资讯CentOS Kafka 集群搭建指南

CentOS Kafka 集群搭建指南

时间2025-11-28 16:47:04发布访客分类主机资讯浏览1149
导读:CentOS Kafka 集群搭建指南 一 环境准备与规划 准备至少3台CentOS 7/8 服务器(虚拟机或物理机均可),示例规划如下: 节点 内网IP 主机名 broker-1 192.168.2.83 kafkaser...

CentOS Kafka 集群搭建指南

一 环境准备与规划

  • 准备至少3台CentOS 7/8 服务器(虚拟机或物理机均可),示例规划如下:
    节点 内网IP 主机名
    broker-1 192.168.2.83 kafkaserver1
    broker-2 192.168.2.84 kafkaserver2
    broker-3 192.168.2.86 kafkaserver3
  • 安装 Java 8+(推荐 OpenJDK 8 或 11),并配置环境变量(示例:JAVA_HOME、PATH)。
  • 下载并解压 Apache Kafka(示例版本:kafka_2.13-3.4.0.tgz),建议统一安装路径(如:/opt/kafka)。
  • 开放防火墙端口:Kafka 默认 9092,ZooKeeper 默认 2181(如使用 ZK 模式)。

二 部署模式选择与准备

  • Kafka 支持两种元数据管理模式:
    • ZooKeeper 模式:传统方式,Kafka 依赖外部或内置 ZooKeeper 管理元数据。
    • KRaft 模式:自 Kafka 3.x 起可用,去除对 ZooKeeper 的依赖,部署与运维更简单。
  • 注意:两种模式不能同时使用,请选择其一并保持一致。

三 使用 ZooKeeper 模式部署

  • 启动 ZooKeeper(内置或外部 ZooKeeper 均可):
    • 内置示例:
      • 启动 ZooKeeper:bin/zookeeper-server-start.sh config/zookeeper.properties
      • 启动 Broker:bin/kafka-server-start.sh config/server.properties
  • 配置每个 Broker 的 server.properties(三台节点分别配置):
    • broker.id:每台唯一(如:1、2、3
    • listeners:建议绑定主机名或内网IP(如:PLAINTEXT://kafkaserver1:9092
    • log.dirs:数据目录(如:/var/lib/kafka/logs-1
    • zookeeper.connect:ZooKeeper 地址(如:kafkaserver1:2181,kafkaserver2:2181,kafkaserver3:2181
  • 创建测试主题并验证:
    • 创建主题(复制因子建议与 Broker 数一致,示例为 3):
      • bin/kafka-topics.sh --create --topic kafka-test --bootstrap-server kafkaserver1:9092 --partitions 3 --replication-factor 3
    • 查看主题详情:
      • bin/kafka-topics.sh --describe --topic kafka-test --bootstrap-server kafkaserver1:9092
    • 生产/消费测试:
      • 生产:bin/kafka-console-producer.sh --topic kafka-test --bootstrap-server kafkaserver1:9092
      • 消费:bin/kafka-console-consumer.sh --topic kafka-test --from-beginning --bootstrap-server kafkaserver1:9092

四 使用 KRaft 模式部署(推荐)

  • 生成集群 ID(任一节点执行一次即可):
    • KAFKA_CLUSTER_ID=“$(bin/kafka-storage.sh random-uuid)”
  • 格式化日志目录(每个节点执行,使用同一 Cluster ID):
    • bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
  • 启动 Kafka(每个节点):
    • bin/kafka-server-start.sh config/kraft/server.properties
  • 创建测试主题并验证(与 ZK 模式相同):
    • 创建主题:bin/kafka-topics.sh --create --topic kafka-test --bootstrap-server kafkaserver1:9092 --partitions 3 --replication-factor 3
    • 生产与消费测试:同上

五 常用运维与安全加固

  • 常用运维
    • 后台启动:nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2> & 1 &
    • 优雅停止:bin/kafka-server-stop.sh
    • 查看进程:jps(应能看到 Kafka 进程)
    • 验证监听:ss -lntp | grep 9092 或 netstat -anp | grep 9092
  • 安全加固(可选)
    • 启用 SASL/PLAIN 认证:在 server.properties 中配置 listeners 为 SASL_PLAINTEXT,并在启动脚本中注入 JAAS 配置(KAFKA_OPTS),创建 JAAS 文件定义用户与口令,生产/消费脚本需配置对应安全参数。
    • 防火墙与网络:仅开放必要端口(如 9092/2181),限制来源网段,避免暴露在公网。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Kafka 集群搭建指南
本文地址: https://pptw.com/jishu/759172.html
CentOS Kafka 故障排查方法 Kafka在CentOS上的配置技巧

游客 回复需填写必要信息