CentOS7下简单搭建zookeeper+kafka集群

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 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


相关文章
|
3月前
|
消息中间件 运维 算法
Kafka 为什么要抛弃 Zookeeper?
本文探讨了Kafka为何逐步淘汰ZooKeeper。长久以来,ZooKeeper作为Kafka的核心组件,负责集群管理和协调任务。然而,随着Kafka的发展,ZooKeeper带来的复杂性增加、性能瓶颈及一致性问题日益凸显。为解决这些问题,Kafka引入了KRaft,这是一种基于Raft算法的内置元数据管理方案,不仅简化了部署流程,还提升了系统的一致性和扩展性。本文详细分析了这一转变背后的原因及其带来的优势,并展望了Kafka未来的发展方向。
265 1
|
3月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
121 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
4月前
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
3月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
271 4
|
4月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
803 4
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
3月前
|
消息中间件 Java Kafka
ELFK对接zookeeper&kafka
ELFK对接zookeeper&kafka
|
4月前
|
消息中间件 Java Linux
linux 之centos7安装kafka;;;;;待补充,未完成
linux 之centos7安装kafka;;;;;待补充,未完成
|
3月前
|
消息中间件 存储 运维
为什么说Kafka还不是完美的实时数据通道
【10月更文挑战第19天】Kafka 虽然作为数据通道被广泛应用,但在实时性、数据一致性、性能及管理方面存在局限。数据延迟受消息堆积和分区再平衡影响;数据一致性难以达到恰好一次;性能瓶颈在于网络和磁盘I/O;管理复杂性涉及集群配置与版本升级。
147 1
|
3月前
|
消息中间件 Java Kafka
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
68 1
|
5月前
|
消息中间件 Java Kafka
Kafka不重复消费的终极秘籍!解锁幂等性、偏移量、去重神器,让你的数据流稳如老狗,告别数据混乱时代!
【8月更文挑战第24天】Apache Kafka作为一款领先的分布式流处理平台,凭借其卓越的高吞吐量与低延迟特性,在大数据处理领域中占据重要地位。然而,在利用Kafka进行数据处理时,如何有效避免重复消费成为众多开发者关注的焦点。本文深入探讨了Kafka中可能出现重复消费的原因,并提出了四种实用的解决方案:利用消息偏移量手动控制消费进度;启用幂等性生产者确保消息不被重复发送;在消费者端实施去重机制;以及借助Kafka的事务支持实现精确的一次性处理。通过这些方法,开发者可根据不同的应用场景灵活选择最适合的策略,从而保障数据处理的准确性和一致性。
400 9