CentOS7下简单搭建zookeeper+kafka集群

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 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


相关文章
|
1月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
180 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
7天前
|
分布式计算 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集群】,常见问题解决
|
8天前
|
消息中间件 运维 Linux
linux之centos运维kafka
linux之centos运维kafka
|
8天前
|
消息中间件 Java Linux
linux 之centos7安装kafka;;;;;待补充,未完成
linux 之centos7安装kafka;;;;;待补充,未完成
|
1月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
62 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
2月前
|
消息中间件 存储 Kafka
ZooKeeper助力Kafka:掌握这四大作用,让你的消息队列系统稳如老狗!
【8月更文挑战第24天】Kafka是一款高性能的分布式消息队列系统,其稳定运行很大程度上依赖于ZooKeeper提供的分布式协调服务。ZooKeeper在Kafka中承担了四大关键职责:集群管理(Broker的注册与选举)、主题与分区管理、领导者选举机制以及消费者组管理。通过具体的代码示例展示了这些功能的具体实现方式。
57 2
|
2月前
|
物联网 应用服务中间件 Linux
CentOS7.9 Nginx+EMQX集群组建MQTTS平台
通过以上步骤,您已成功搭建了一个基于CentOS 7.9、Nginx和EMQX的MQTTS平台。这个平台既能保证数据传输的安全性,又能利用Nginx的负载均衡能力和EMQX的高性能、高并发处理能力,实现稳定高效的消息服务。在部署和配置过程中,务必注意证书、域名以及EMQX配置的正确性,确保系统安全和稳定运行。此外,定期更新软件和系统,以及监控系统性能,也是保证MQTTS平台长期稳定运行的重要环节。
74 4
|
2月前
|
物联网 应用服务中间件 Linux
CentOS7.9 Nginx+EMQX集群组建MQTTS平台
通过以上步骤,您已成功搭建了一个基于CentOS 7.9、Nginx和EMQX的MQTTS平台。这个平台既能保证数据传输的安全性,又能利用Nginx的负载均衡能力和EMQX的高性能、高并发处理能力,实现稳定高效的消息服务。在部署和配置过程中,务必注意证书、域名以及EMQX配置的正确性,确保系统安全和稳定运行。此外,定期更新软件和系统,以及监控系统性能,也是保证MQTTS平台长期稳定运行的重要环节。
66 3
|
2月前
|
开发工具
部署安装zookeeper集群
部署安装zookeeper集群
下一篇
无影云桌面