CentOS Kafka 集群搭建指南
导读: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
- 创建主题(复制因子建议与 Broker 数一致,示例为 3):
四 使用 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
