单虚拟机搭建zookeeper分布式伪集群

单虚拟机搭建zookeeper分布式伪集群

1、zookeeper的来源和含义

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。顾名思义。分布式其实就是拆。将一个服务。拆分成多个服务。在保证系统服务功能完整的基础上,进行拆分。比如订单服务down掉了并不会影响整体功能的运行。而单体式服务会影响

早在90年代。计算机学家提出分布式cap定律。

c:一致性。读写一致性。客户端发出读或写请求。服务器返回/做出相应结果。
1、假如有a,b服务器。同时存储了数字1.
2、客户发出写请求:向a服务器写入2.覆盖掉数字1.(现在a服务器只有2)。
3、客户继续对a服务器发出读请求。如果服务器a没有挂掉。则返回数字2
4、但是如果这时候,客户端对b服务器发出读请求。由于没有往b上做写操作。所以只能读出1(其实客户是想读出2)
5、这就不满足一致性原理。。zookeeper则做了对应处理。当一个节点被改写后。对应其他尚可服务的节点都被改写。

a:可用性。zookeeper不满足高可用。满足2n-1选举策略。当超过一半以上节点挂掉。则判定整个zookeeper集群挂掉。票选机制必须满足单数票选。集群的服务器个数必须为3,5,7,9等。否则票数可能一样。选不出leader。

p:分区容错性:多个服务器可能分布在不同地域。不同地域的网络请求结果不一样。设计分布式系统时必须考虑。

所以普通的单体项目满足ca
分布式系统:满足ap和cp
三者不能同时满足

2、分布式集群搭建

因为服务器只有一个。所以单虚拟机搭建zk集群

1、apache官网下载zk包
zk
在这里插入图片描述
2、打开linux系统。切换root目录

mkdir zookeeper

3、将下载好的tar包解压至此目录

tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz 

4、将解压的目录移动至zookeeper1

mv apache-zookeeper-3.6.2-bin zookeeper1

5、编辑修改集群1

cd zookeeper1/
mkdir data
cd data
echo "1" > myid    #集群第一个节点myid为1
cd ../
cd conf/
cp zoo_sample.cfg zoo.cfg  #将zoo_sample拷贝为zoo.cfg
vi zoo.cfg

编辑zoo.cfg文件
修改dataDir为:dataDir=/zookeeper/zookeeper1/data
末尾追加三行:

server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883

6、编辑修改集群2

cd /zookeeper/
cp -r zookeeper1 zookeeper2
cp -r zookeeper1 zookeeper3
cd zookeeper2
echo "2" >data/myid
vi conf/zoo.cfg

编辑zoo.cfg文件
修改dataDir为:dataDir=/zookeeper/zookeeper2/data
修改clientPort=2182

7、编辑修改集群3

cd ../
cd zookeeper3
echo "3">data/myid
vi conf/zoo.cfg

编辑zoo.cfg文件
修改dataDir为:dataDir=/zookeeper/zookeeper3/data
修改clientPort=2183

8、分别启动集群三个节点

cd ../
sh /zookeeper/zookeeper1/bin/zkServer.sh start
sh /zookeeper/zookeeper2/bin/zkServer.sh start
sh /zookeeper/zookeeper3/bin/zkServer.sh start

9、查看集群节点运行状态
第一个集群

cd zookeeper1
./bin/zkServer.sh status

在这里插入图片描述
第二个集群

cd ../zookeeper2/
./bin/zkServer.sh status

在这里插入图片描述

第三个集群

cd ../zookeeper3/
./bin/zkServer.sh status

在这里插入图片描述
其中leader就是master节点
follower从节点

10、启动客户端

在这里插入图片描述

常规操作:
1、查询节点
在这里插入图片描述

2、新增节点
在这里插入图片描述
父节点不存在情况下创建不了子节点

这时候2181和2182同时也新增了这个节点
在这里插入图片描述

在这里插入图片描述

3、查询节点
在这里插入图片描述

4、编辑节点
在这里插入图片描述
5、创建子节点
在这里插入图片描述
子节点里有值

6、删除节点
在这里插入图片描述

7、递归删除节点(删除父节点和子节点)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值