当前位置: 首页 > news >正文

zookeeper 集群

zookeeper 集群

1、zookeeper 集群说明

initLimit 是Zookeeper用它来限定集群中的Zookeeper服务器连接到Leader的时限
syncLimit 限制了follower服务器与leader服务器之间请求和应答之间的时限
服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
这个配置项的书写格式比较特殊,规则如下:server.N=YYY:A:B 其中,
N表示服务器编号,
YYY表示服务器的IP地址,
A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。
B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)

一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。
下面是一个集群的例子:

server.0=233.34.9.144:2008:6008  
server.1=233.34.9.145:2008:6008  
server.2=233.34.9.146:2008:6008
server.3=233.34.9.147:2008:6008  

但是当所采用的为伪集群时,IP地址都一样,只能是A端口和B端口不一样。
下面是一个伪集群的例子:

server.0=127.0.0.1:2008:6008
server.1=127.0.0.1:2007:6007
server.2=127.0.0.1:2006:6006
server.3=127.0.0.1:2005:6005

2、搭建集群

2.1 拷贝赋值

zookeeper-3.4.14.tar.gz解压后拷贝到/opt目录下并重新名为zk01。

[root@localhost myzookeeper]# mv zookeeper-3.4.14.tar.gz /opt/ 
[root@localhost opt]# tar -zxvf zookeeper-3.4.14.tar.gz
[root@localhost opt]# mv zookeeper-3.4.14 zk01

2.2 在zk01中的创建mydata文件夹

[root@localhost zk01]# mkdir mydata

2.3 新建zoo.cfg

[root@localhost conf]# cp zoo_sample.cfg zoo.cfg

2.4 修改zoo.cfg配置文件

在这里插入图片描述

server.1=127.0.0.1:2991:3991
server.2=127.0.0.1:2992:3992
server.3=127.0.0.1:2993:3993

2.5 创建myId文件

在zk01的 mydata下面创建myid的文件,在里面写入server的数字
表示1号服务器

# vim myid

里面写1 然后退出并保存
在这里插入图片描述

为了确保zk01 正确,我们可以启动测试一下
在这里插入图片描述

关闭当前的zk01 服务

[root@localhost opt]# kill -9 4060

2.6 将zk01 赋值两份分别为zk02,zk03

[root@localhost opt]# cp -r zk01 zk02
[root@localhost opt]# cp -r zk01 zk03

2.7 修改zk02,zk03的zoo.cfg,myid配置文件

#zk02
[root@localhost opt]# vim zk02/conf/zoo.cfg
在这里插入图片描述

[root@localhost opt]# vim zk02/mydata/myid 

在这里插入图片描述

#zk03

[root@localhost opt]# vim zk03/conf/zoo.cfg 

在这里插入图片描述

 
[root@localhost opt]# vim zk03/mydata/myid

在这里插入图片描述

2.8 启动集群

# vim startup.sh
/opt/zk01/bin/zkServer.sh start
/opt/zk02/bin/zkServer.sh start
/opt/zk03/bin/zkServer.sh start
:wq 
# chmod +x startup.sh
./startup.sh
查看进程
# ps –ef |grep zookeeper
2.9 使用客户端链接集群
[root@localhost opt]# ./zk01/bin/zkCli.sh -server 127.0.0.1:2191

在客户端2191 中添加节点
在这里插入图片描述

在客户端2192中查询
在这里插入图片描述

2.10 查看节点的状态

[root@localhost opt]# ./zk01/bin/zkServer.sh status

在这里插入图片描述

2.11 集群主机宕机情况测试

测试1:主机宕机./zk02/bin/zkServer.sh stop[root@localhost opt]# ./zk01/bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zk01/bin/../conf/zoo.cfgMode: follower[root@localhost opt]# ./zk02/bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zk02/bin/../conf/zoo.cfgError contacting service. It is probably not running.[root@localhost opt]# ./zk03/bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zk03/bin/../conf/zoo.cfgMode: leader[root@localhost opt]# 3号上位!create /test01 test0113都有数据。
测试2:主机活了./zk02/bin/zkServer.sh start[root@localhost opt]# ./zk02/bin/zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /opt/zk02/bin/../conf/zoo.cfgStarting zookeeper ... STARTED[root@localhost opt]# ./zk01/bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zk01/bin/../conf/zoo.cfgMode: follower[root@localhost opt]# ./zk02/bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zk02/bin/../conf/zoo.cfgMode: follower[root@localhost opt]# ./zk03/bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zk03/bin/../conf/zoo.cfgMode: leader[root@localhost opt]# 查看2号机是否有数据同步?[zk: 127.0.0.1:2192(CONNECTED) 0] ls /[zookeeper, test, test01]
http://www.lryc.cn/news/153519.html

相关文章:

  • stable diffusion实践操作-随机种子seed
  • 大数据可视化大屏实战项目(4)物流数据云看台(包括动态登陆页面)—HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中)
  • 在ubuntu下远程链接仓库gitte/github
  • 一些自己整理的工具实用参数
  • C# Timer定时器
  • oracle怎么删除表索引
  • 【Tkinter系列13/15】标准化外观和选项数据库
  • springboot 集成dubbo
  • 基于YOLOV8模型和CCPD数据集的车牌目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • net user安全隐患
  • 深入剖析Kubernetes之资源模型和GPU 管理
  • Springboot整合HBase
  • 在不同操作系统上如何安装符号表提取工具(eu-strip)
  • 钡铼R40边缘计算网关与华为云合作,促进物联网传感器数据共享与应用
  • 图表背后的故事:数据可视化的威力与影响
  • C++ 信号处理
  • 电源模块的降额曲线
  • uni-app 之 安装uView,安装scss/sass编译
  • CSS中如何隐藏元素但保留其占位空间(display:nonevsvisibility:hidden)?
  • 【rust/egui】(八)使用panels给你的应用划分功能区块
  • QT实现任意阶贝塞尔曲线绘制
  • 【Java 基础篇】Java 数组使用详解:从零基础到数组专家
  • 基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作
  • docker_python-django_uwsgi_nginx_浏览器_网络访问映过程
  • Python爬取天气数据并进行分析与预测
  • 基础算法-递推算法-学习
  • L1-056 猜数字(Python实现) 测试点全过
  • 第 361 场 LeetCode 周赛题解
  • 07-架构2023版-centos+docker部署Canal 实现多端数据同步
  • 过滤器的应用-Filter