一个zk会话
启动服务器
bin/zkServer.sh start
这个命令让zk服务器在后台运行
bin.zkServer.sh start-foreground
如果在前台运行,这个名营方便查看服务器输出
bin/zkCli.sh
启动客户端
bin/zkServer.sh stop
退出zk服务器
会话
四种会话状态
超时
- 声明超时参数
- 经过t时间后服务器未接收到消息,服务声明会话过期
- 客户端在t/3未收到消息,客户端向服务器发送心跳。2* t/3 后开始寻找其他服务器
zk与仲裁模式
server.n 第一部分为ip或者主机名 第二三部分为tcp端口号,分别用来仲裁通讯和群首选举
-
分别设置data目录
-
一个服务器通过读取data目录下的myid来获取服务器id信息
通过zk实现锁
使用临时节点,避免进程崩溃导致锁无法释放
主从模式例子实现
- 主节点:监视从节点和任务,分配任务给可用的从节点
- 从节点:通过系统注册自己,确保主节点可以看到他们执行任务
- 客户端:创建新任务并且等待系统响应
主节点
- 只有一个进程会成为主节点 锁定管理权 master
stat命令可以得到⼀个znode节点的属性,并允许我们在已经存在的
znode节点上设置监视点。通过在路径后⾯设置参数true来添加监视点