CentOS7下简单搭建zookeeper+kafka集群

简介: CentOS7下简单搭建zookeeper+kafka集群

640.jpg

640.png


640.png640.png


如下图所示


640.png



三台CentOS7的机器来搭建zookeeper+kafka集群


192.168.31.221 node1 node1.walkingcloud.cn
192.168.31.222 node2 node2.walkingcloud.cn
192.168.31.223 node3 node3.walkingcloud.cn

一、环境搭建


1、三台机器均修改/etc/hosts


image.png


2、配置互信

ssh-keygen
ssh-copy-id root@node2
ssh-copy-id root@node3

如果有必要的话,三台机器间两两互信


640.png

640.png


3、提前下载JDK,zookeeper,kakfa的相关安装包,并上传到/opt目录

如下图所示


scp /opt/* root@node2:/opt
scp /opt/* root@node3:/opt

640.png


二、每台机器都安装JDK环境,并配置好环境变量


1、安装JDK


rpm -ivh jdk-8u251-linux-x64.rpm

640.png

2、配置环境变量vi /etc/profile,将如下三行加到最后

export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

3、使环境变量生效source /etc/profile


640.png


三、安装zookeeper,配置zookeeper


1、三个节点均解压zookeeper安装包


cd /opt
tar -zxf apache-zookeeper-3.6.0-bin.tar.gz
mv apache-zookeeper-3.6.0-bin zookeeper
cd zookeeper
mkdir data
cd conf
cp zoo_sample.cfg zoo.cfg

640.png


2、配置zoo.cfg


vi zoo.cfg


修改日志保存目录


dataDir=/opt/zookeeper/data


#server.服务编号=服务地址、LF通信端口、选举端口


server.221=node1:2888:3888
server.222=node2:2888:3888
server.223=node3:2888:3888


640.png

配置同步到node2和node3

scp zoo.cfg root@node2:/opt/zookeeper/conf/
scp zoo.cfg root@node3:/opt/zookeeper/conf/

640.png

3、配置/data/myid文件,写入服务器ID


640.png


node1的id设置为221

node2的id设置为222

node3的id设置为223


4、三台均修改变量/etc/profile


vi /etc/profile,在最后面加一行


export PATH=$PATH:/opt/zookeeper/bin


然后 source /etc/profile


并验证zkServer.sh命令是否可以正常调出来


640.png


5、三个节点均启动zookeeper


zkServer.sh start

640.png

查看状态zkServer.sh status

640.png


可以看到node1和node2为follower

node3为leader


四、三个节点均安装kafka,配置kakfa


1、node1上解压kafka安装包

cd /opt
tar -zxf kafka_2.13-2.5.0.tgz
mv kafka_2.13-2.5.0 kafka
cd kafka
cd config
cp server.properties server.properties_default

640.png


2、创建data目录

640.png


3、修改kakfa配置文件


vi server.properties

640.png

1)broker.id

640.png

2)log.dir目录指定

log.dirs=/opt/kafka/data

640.png

3)zookeeper连接信息

zookeeper.connect=node1:2181,node2:2181,node3:2181


640.png


4、node1将kafka整个目录进行文件scp同步,同步到node2和node3上

cd /opt/
scp -r kafka root@node2:/opt/
scp -r kafka root@node3:/opt/
然后再去node2,node3上手动修改server.properties中broker.id分为222和223

5、修改环境变量,加入kafkar的bin目录

vi /etc/profile最后一行添加:/opt/kafka/bin
export PATH=$PATH:/opt/zookeeper/bin:/opt/kafka/bin
source /etc/profile

640.png

 scp /etc/profile root@node2:/etc
 scp /etc/profile root@node3:/etc
在节点node2,node3上source /etc/profile


6、三个节点启动kafka


kafka-server-start.sh /opt/kafka/config/server.properties


先前台的方式启动kakfa-server,后期改用后台或者服务脚本的方式启动kafka


640.png

7、再开其它会话窗口测试topic

640.png


创建topic

kafka-topics.sh --create --zookeeper node1:2181 --partitions 2 --replication-factor 3 --topic yuanfantest

列出topic

kafka-topics.sh --list --zookeeper node1:2181

查看topic描述

kafka-topics.sh  --zookeeper node1:2181  --topic yuanfantest --describe

640.png

8、测试主题的生产与消费


如下图所示,利用console在node1上生产,在node3消费的效果

node1上生产:kafka-console-producer.sh --bootstrap-server node1:9092 --topic yuanfantest
node3上消费:kafka-console-consumer.sh --bootstrap-server node3:9092 --topic yuanfantest

69480cc07b6584ee9cb60dd18ddc309f.png


相关文章
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
436 4
|
9月前
|
消息中间件 运维 Java
搭建Zookeeper、Kafka集群
本文详细介绍了Zookeeper和Kafka集群的搭建过程,涵盖系统环境配置、IP设置、主机名设定、防火墙与Selinux关闭、JDK安装等基础步骤。随后深入讲解了Zookeeper集群的安装与配置,包括数据目录创建、节点信息设置、SASL认证配置及服务启动管理。接着描述了Kafka集群的安装,涉及配置文件修改、安全认证设置、生产消费认证以及服务启停操作。最后通过创建Topic、发送与查看消息等测试验证集群功能。全网可搜《小陈运维》获取更多信息。
777 1
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
2908 1
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
10月前
|
消息中间件 人工智能 安全
秒级灾备恢复:Kafka 2025 AI自愈集群下载及跨云Topic迁移终极教程
Apache Kafka 2025作为企业级实时数据中枢,实现五大革新:量子安全传输(CRYSTALS-Kyber抗量子加密算法)、联邦学习总线(支持TensorFlow Federated/Horizontal FL框架)、AI自愈集群(MTTR缩短至30秒内)、多模态数据处理(原生支持视频流、3D点云等)和跨云弹性扩展(AWS/GCP/Azure间自动迁移)。平台采用混合云基础设施矩阵与软件依赖拓扑设计,提供智能部署架构。安装流程涵盖抗量子安装包获取、量子密钥配置及联邦学习总线设置。
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
458 1
|
消息中间件 存储 Kafka
2024最全Kafka集群方案汇总
Apache Kafka 是一个高吞吐量、可扩展、可靠的分布式消息系统,广泛应用于数据驱动的应用场景。Kafka 支持集群架构,具备高可用性和容错性。其核心组件包括 Broker(服务器实例)、Topic(消息分类)、Partition(有序消息序列)、Producer(消息发布者)和 Consumer(消息消费者)。每个分区有 Leader 和 Follower,确保数据冗余和高可用。Kafka 2.8+ 引入了不依赖 Zookeeper 的 KRaft 协议,进一步简化了集群管理。常见的集群部署方案包括单节点和多节点集群,后者适用于生产环境以确保高可用性。
792 0
|
12月前
|
消息中间件 存储 缓存
kafka 的数据是放在磁盘上还是内存上,为什么速度会快?
Kafka的数据存储机制通过将数据同时写入磁盘和内存,确保高吞吐量与持久性。其日志文件按主题和分区组织,使用预写日志(WAL)保证数据持久性,并借助操作系统的页缓存加速读取。Kafka采用顺序I/O、零拷贝技术和批量处理优化性能,支持分区分段以实现并行处理。示例代码展示了如何使用KafkaProducer发送消息。
|
消息中间件 存储 运维
为什么说Kafka还不是完美的实时数据通道
【10月更文挑战第19天】Kafka 虽然作为数据通道被广泛应用,但在实时性、数据一致性、性能及管理方面存在局限。数据延迟受消息堆积和分区再平衡影响;数据一致性难以达到恰好一次;性能瓶颈在于网络和磁盘I/O;管理复杂性涉及集群配置与版本升级。
493 1
|
消息中间件 Java Kafka
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
373 1