zookeeper-笔记-命令

一、启动zk服务

其实就是启动了zookeeper服务端,只是开启了zookeeper一个节点,后面会介绍如何开启服务端多个节点

zkServer.sh start

二、启动完了之后,就可以通过客户端查看服务端的节点情况

1、启动zookeeper客户端 zkCli.sh
2、退出客户端:quit
3、查看当前服务端树形情况:ls -R /

客户端在服务端创建永久节点:create /app1
创建临时节点:create -e /lock

监听lock节点的状态:stat -w /lock
如果节点过期,会受到一个watchedEvent事件

三、使用zookeeper实现分布式锁:

原理:客户端1创建临时节点A,接着客户端2创建临时节点A,此时客户端2创建失败,客户端2监听节点A,等待释放,如果释放客户端2就会收到通知,然后客户端2在创建临时节点A,成功。

四、zookeeper实现master-worker

1、先创建 /workers节点(永久节点):create /workers

2、在创建master临时节点:create -e /master "m1:2223" —m1表示znode的值,2223表示端口号

3、master创建成功后,在监听/workers节点下面的变化:ls -w /workers

4、创建临时worker节点1:create -e /workers/w1 'w1:2224'

4、创建临时worker节点2:create -e /workers/w2 'w2:2224'

五、配置3个节点的zookeeper集群:

第一步:首先准备三个配置文件、每次启动指定配置文件,那么就会启动三个zookeeper节点。这个配置可以从conf目录下面copy文件zook.cfg。修改一下配置,大致内容如下

第一个是存放数据的路径,三个节点的数据路径不能一样 第二个是端口号,三个节点的端口号不能一样,我们可以2181、2182、2183依次递增。 第三个点是,配置集群内节点与节点直接的通讯,这个数据的三个配置文件都一样,3333表示 集群中节点与节点直接的通讯端口,3334表示leader选举的端口。

比如下图在quorum目录下面放置三个cfg文件

第二步:配置myid文件

dataDir=/Users/leileijiang/IdeaProjects/zookeeper/temp/zook1
前面我们配置了数据存放的路径,但是前提是我们要在这个目录下面放置myid文件

怎么放置myid文件呢,myid文件存什么内容呢
可以分别进入到zook1、zook2、zook3目录下面执行下面命令

echo "1" > myid

就会在zook1目录下面生成文件和设置内容,当如zook2目标下面要执行:echo "2" > myid 同理zook3目录下面执行:echo "3" > myid

第三步:上面配置文件都弄好了之后,开始启动三个zookeeper服务端的节点

进入配置文件所在目标执行:zkServer.sh start-foreground ./zoo-quorum-node1.cfg 启动第一个zookeeper节点,分别启动三个节点

启动日志:查看被选为leader的节点
节点1:FOLLOWING - LEADER ELECTION TOOK - 208542 MS
节点2:LEADING - LEADER ELECTION TOOK - 229 MS
节点3:FOLLOWING - LEADER ELECTION TOOK - 20 MS

节点2的日志:LEADING表示节点2成了leader节点
节点1和节点3的日志:FOLLOWING 表示成了follower节点

4、第四步:开启一个zookeeper客户端,执行:zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 表示客户端接入zookeeper服务的端口和每个节点的配置。

客户端启动日志:
Session establishment complete on server localhost/127.0.0.1:2181, session id = 0x100027c85860000, negotiated timeout = 30000

表示和2181建立了连接

断开2181节点,此时客户端又会重行连接zookeeper服务节点

Session establishment complete on server localhost/127.0.0.1:2182, session id = 0x200027c85970000, negotiated timeout = 30000

表示和2182建立了连接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信仰_273993243

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值