Linux——Kafka集群搭建

本文涉及的产品
云原生网关 MSE Higress,422元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Linux——Kafka集群搭建

简介

这里不做过多的原理的讲解,直接讲部署搭建,具体原理性的东西,大家可以到kafka的官网去查看,原汁原味更带劲。

内容

请记住,你是能让世界洒满阳光的人!

安装包准备

JDK1.8 : JDK1.8

kafka_2.12-2.6.0 : kafka_2.12-2.6.0

zookeeper-3.5.8 : zookeeper-3.5.8

kafka_2.12-2.6.0配套的zookeeper就是3.5.8,所以我们直接使用原配进行搭建zookeeper集群

创建目录

mkdir -p /app/data/{zk-data,zk-logs,kafka-logs}

配置JAVA环境

tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/
echo "export JAVA_HOME=/usr/local/jdk1.8.0_221/" >> /etc/profile
echo "export PATH=/usr/local/jdk1.8.0_221//bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin" >> /etc/profile
echo "export CLASSPATH=.:/usr/local/jdk1.8.0_221//lib/dt.jar:/usr/local/jdk1.8.0_221//lib/tools.jar" >> /etc/profile
source /etc/profile
java -version

三个节点都需要配置java环境

搭建zookeeper集群

节点一

##部署zookeeper服务
wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz -C /usr/local/
##配置zookeeper集群
cd /usr/local/apache-zookeeper-3.5.8-bin/conf
cp -rvf zoo_sample.cfg zoo.cfg
#以下配置需修改为自己的实际配置
sed -i "/^dataDir=/c dataDir=/app/data/zk-data" zoo.cfg
sed -i "/^dataDir=/a dataLogDir=/app/data/zk-logs" zoo.cfg
echo "server.1=192.168.47.41:2888:3888" >> zoo.cfg
echo "server.2=192.168.47.42:2888:3888" >> zoo.cfg
echo "server.3=192.168.47.43:2888:3888" >> zoo.cfg
#myid每个节点不同,此为第一个节点
echo "1" >> /app/data/zk-data/myid
##启动zookeeper服务
cd /app/local/apache-zookeeper-3.5.8-bin/bin/
./zkServer.sh start

节点二

##部署zookeeper服务
wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz -C /usr/local/
##配置zookeeper集群
cd /usr/local/apache-zookeeper-3.5.8-bin/conf
cp -rvf zoo_sample.cfg zoo.cfg
#以下配置需修改为自己的实际配置
sed -i "/^dataDir=/c dataDir=/app/data/zk-data" zoo.cfg
sed -i "/^dataDir=/a dataLogDir=/app/data/zk-logs" zoo.cfg
echo "server.1=192.168.47.41:2888:3888" >> zoo.cfg
echo "server.2=192.168.47.42:2888:3888" >> zoo.cfg
echo "server.3=192.168.47.43:2888:3888" >> zoo.cfg
#myid每个节点不同,此为第二个节点
echo "2" >> /app/data/zk-data/myid
##启动zookeeper服务
cd /app/local/apache-zookeeper-3.5.8-bin/bin/
./zkServer.sh start

节点三

##部署zookeeper服务
wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz -C /usr/local/
##配置zookeeper集群
cd /usr/local/apache-zookeeper-3.5.8-bin/conf
cp -rvf zoo_sample.cfg zoo.cfg
#以下配置需修改为自己的实际配置
sed -i "/^dataDir=/c dataDir=/app/data/zk-data" zoo.cfg
sed -i "/^dataDir=/a dataLogDir=/app/data/zk-logs" zoo.cfg
echo "server.1=192.168.47.41:2888:3888" >> zoo.cfg
echo "server.2=192.168.47.42:2888:3888" >> zoo.cfg
echo "server.3=192.168.47.43:2888:3888" >> zoo.cfg
#myid每个节点不同,此为第三个节点
echo "3" >> /app/data/zk-data/myid
##启动zookeeper服务
cd /app/local/apache-zookeeper-3.5.8-bin/bin/
./zkServer.sh start

查看zookeeper状态

./zkServer.sh status

搭建Kafka集群

节点一

##部署kafka服务
wget https://mirror.bit.edu.cn/apache/kafka/2.6.0/kafka_2.12-2.6.0.tgz
tar -zxvf kafka_2.12-2.6.0.tgz -C /usr/local/
##配置kafka集群
cd /usr/local/kafka_2.12-2.6.0/config/
#以下配置需修改为自己的实际配置
#broker.id每个节点不同,此为第一个节点
sed -i "/^broker.id=0/c   broker.id=1" server.properties
ip=`ip a | grep inet | grep -v inet6 | grep -v 127.0.0.1 | awk '{print $2}'| awk -F "/" '{print $1}'`
sed -i "/#listeners=PLAINTEXT:/c  listeners = PLAINTEXT://${ip}:9092" server.properties
sed -i "/^log.dirs=/c    log.dirs=/app/data/kafka-logs" server.properties
sed -i "/^zookeeper.connect=/c  zookeeper.connect=192.168.47.41:2181,192.168.47.42:2181,192.168.47.43:2181" server.properties
echo "delete.topic.enable=true" >> server.properties
##启动kafka服务并查看状态
cd /usr/local/kafka_2.12-2.6.0/bin/
./kafka-server-start.sh -daemon /usr/local/kafka_2.12-2.6.0/config/server.properties
jps

节点二

##部署kafka服务
wget https://mirror.bit.edu.cn/apache/kafka/2.6.0/kafka_2.12-2.6.0.tgz
tar -zxvf kafka_2.12-2.6.0.tgz -C /usr/local/
##配置kafka集群
cd /usr/local/kafka_2.12-2.6.0/config/
#以下配置需修改为自己的实际配置
#broker.id每个节点不同,此为第二个节点
sed -i "/^broker.id=0/c   broker.id=2" server.properties
ip=`ip a | grep inet | grep -v inet6 | grep -v 127.0.0.1 | awk '{print $2}'| awk -F "/" '{print $1}'`
sed -i "/#listeners=PLAINTEXT:/c  listeners = PLAINTEXT://${ip}:9092" server.properties
sed -i "/^log.dirs=/c    log.dirs=/app/data/kafka-logs" server.properties
sed -i "/^zookeeper.connect=/c  zookeeper.connect=192.168.47.41:2181,192.168.47.42:2181,192.168.47.43:2181" server.properties
echo "delete.topic.enable=true" >> server.properties
##启动kafka服务并查看状态
cd /usr/local/kafka_2.12-2.6.0/bin/
./kafka-server-start.sh -daemon /usr/local/kafka_2.12-2.6.0/config/server.properties
jps

节点三

##部署kafka服务
wget https://mirror.bit.edu.cn/apache/kafka/2.6.0/kafka_2.12-2.6.0.tgz
tar -zxvf kafka_2.12-2.6.0.tgz -C /usr/local/
##配置kafka集群
cd /usr/local/kafka_2.12-2.6.0/config/
#以下配置需修改为自己的实际配置
#broker.id每个节点不同,此为第三个节点
sed -i "/^broker.id=0/c   broker.id=3" server.properties
ip=`ip a | grep inet | grep -v inet6 | grep -v 127.0.0.1 | awk '{print $2}'| awk -F "/" '{print $1}'`
sed -i "/#listeners=PLAINTEXT:/c  listeners = PLAINTEXT://${ip}:9092" server.properties
sed -i "/^log.dirs=/c    log.dirs=/app/data/kafka-logs" server.properties
sed -i "/^zookeeper.connect=/c  zookeeper.connect=192.168.47.41:2181,192.168.47.42:2181,192.168.47.43:2181" server.properties
echo "delete.topic.enable=true" >> server.properties
##启动kafka服务并查看状态
cd /usr/local/kafka_2.12-2.6.0/bin/
./kafka-server-start.sh -daemon /usr/local/kafka_2.12-2.6.0/config/server.properties
jps

topic

只需在一个节点操作即可

## 创建
./kafka-topics.sh --create --topic wechat --partitions 10 --replication-factor 1 --zookeeper 192.168.47.41:2181,192.168.47.42:2181,192.168.47.43:2181
## 查看
./kafka-topics.sh  --topic wechat --describe --zookeeper 192.168.47.41:2181,192.168.47.42:2181,192.168.47.43:2181
## 删除
./kafka-topics.sh --delete --topic wechat --zookeeper 192.168.47.41:2181,192.168.47.42:2181,192.168.47.43:2181

学无止境,谦卑而行.

目录
相关文章
|
1月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
196 0
|
6月前
|
消息中间件 Linux Kafka
linux命令使用消费kafka的生产者、消费者
linux命令使用消费kafka的生产者、消费者
305 16
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
374 4
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
443 2
|
7月前
|
消息中间件 运维 Java
搭建Zookeeper、Kafka集群
本文详细介绍了Zookeeper和Kafka集群的搭建过程,涵盖系统环境配置、IP设置、主机名设定、防火墙与Selinux关闭、JDK安装等基础步骤。随后深入讲解了Zookeeper集群的安装与配置,包括数据目录创建、节点信息设置、SASL认证配置及服务启动管理。接着描述了Kafka集群的安装,涉及配置文件修改、安全认证设置、生产消费认证以及服务启停操作。最后通过创建Topic、发送与查看消息等测试验证集群功能。全网可搜《小陈运维》获取更多信息。
625 1
|
8月前
|
消息中间件 人工智能 安全
秒级灾备恢复:Kafka 2025 AI自愈集群下载及跨云Topic迁移终极教程
Apache Kafka 2025作为企业级实时数据中枢,实现五大革新:量子安全传输(CRYSTALS-Kyber抗量子加密算法)、联邦学习总线(支持TensorFlow Federated/Horizontal FL框架)、AI自愈集群(MTTR缩短至30秒内)、多模态数据处理(原生支持视频流、3D点云等)和跨云弹性扩展(AWS/GCP/Azure间自动迁移)。平台采用混合云基础设施矩阵与软件依赖拓扑设计,提供智能部署架构。安装流程涵盖抗量子安装包获取、量子密钥配置及联邦学习总线设置。
|
11月前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
2504 1
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
11月前
|
消息中间件 存储 Kafka
2024最全Kafka集群方案汇总
Apache Kafka 是一个高吞吐量、可扩展、可靠的分布式消息系统,广泛应用于数据驱动的应用场景。Kafka 支持集群架构,具备高可用性和容错性。其核心组件包括 Broker(服务器实例)、Topic(消息分类)、Partition(有序消息序列)、Producer(消息发布者)和 Consumer(消息消费者)。每个分区有 Leader 和 Follower,确保数据冗余和高可用。Kafka 2.8+ 引入了不依赖 Zookeeper 的 KRaft 协议,进一步简化了集群管理。常见的集群部署方案包括单节点和多节点集群,后者适用于生产环境以确保高可用性。
661 0
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
387 1
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
290 6