Linux中Kafka集群搭建步骤是什么
以下是在Linux中搭建Kafka集群的核心步骤(基于Kafka 3.x版本,依赖ZooKeeper):
一、环境准备
-
安装JDK
确保安装Java 1.8+,推荐使用OpenJDK:# CentOS/RHEL sudo yum install -y java-1.8.0-openjdk-devel # Ubuntu/Debian sudo apt install -y openjdk-8-jdk java -version # 验证安装
-
安装ZooKeeper集群
- 下载并解压ZooKeeper:
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.2/apache-zookeeper-3.8.2-bin.tar.gz tar -zxvf apache-zookeeper-3.8.2-bin.tar.gz -C /usr/local/
- 配置
zoo.cfg
(需设置dataDir
、clientPort
及集群节点信息server.x=host:port:port
):# 示例(3节点集群) server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888
- 启动ZooKeeper:
cd /usr/local/apache-zookeeper-3.8.2-bin/bin ./zkServer.sh start
- 下载并解压ZooKeeper:
二、Kafka集群安装与配置
-
下载并解压Kafka
wget https://dlcdn.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz tar -zxvf kafka_2.13-3.5.1.tgz -C /usr/local/ ln -s /usr/local/kafka_2.13-3.5.1 /usr/local/kafka
-
配置Kafka(关键参数)
编辑config/server.properties
(每个节点需唯一配置):# 节点唯一标识 broker.id=1 # 不同节点依次设置为2、3等 # 监听地址(需替换为实际IP) listeners=PLAINTEXT://kafka-node1:9092 advertised.listeners=PLAINTEXT://kafka-node1:9092 # ZooKeeper连接 zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 # 存储目录 log.dirs=/data/kafka/logs # 集群参数(高可用) default.replication.factor=3 # 副本数 min.insync.replicas=2 # 最小同步副本数
-
创建日志目录并授权
mkdir -p /data/kafka/logs chown -R kafka:kafka /data/kafka/logs
三、启动Kafka集群
在每个节点上执行:
cd /usr/local/kafka/bin
./kafka-server-start.sh ../config/server.properties &
四、验证集群状态
-
查看Broker状态
# 查看所有Broker是否正常注册 ./kafka-broker-api-versions.sh --bootstrap-server kafka-node1:9092
-
创建测试Topic
./kafka-topics.sh --create --topic test-topic --bootstrap-server kafka-node1:9092 --partitions 3 --replication-factor 3 ./kafka-topics.sh --describe --topic test-topic --bootstrap-server kafka-node1:9092 # 查看Topic分布
-
发送/消费消息
# 生产者 ./kafka-console-producer.sh --topic test-topic --bootstrap-server kafka-node1:9092 # 消费者 ./kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server kafka-node1:9092
五、集群优化与安全(可选)
- 启用Kafka内置安全机制(如SASL/SSL):参考官方文档配置认证。
- 监控集群状态:使用
kafka-run-class.sh
或集成Prometheus+Grafana监控关键指标(如ISR、延迟、吞吐量)。
注意事项
- 确保ZooKeeper集群为奇数节点(3/5节点),避免脑裂。
- 生产环境中建议关闭防火墙或开放Kafka端口(9092等)。
- 若需高可用,建议跨机架部署节点,配置
rack.id
参数。
以上步骤参考自[1,2,3,4,5,6,7,8,9,10,11]。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!