ZooKeeper主从模式的三种角色(以Client为例)
来源:互联网 发布:祥南行书体 mac 编辑:程序博客网 时间:2024/06/07 10:51
主节点
集群中只有一个节点会成为主节点,所以相应的节点必须锁定管理权。因此要创建一个>/master<的节点。
create -e /master “master”
用>get /master<查看主节点信息,会有类似于下面格式的输出:
master
cZxid = 0xa00000007
ctime = Mon May 29 16:54:37 CST 2017
mZxid = 0xa00000007
mtime = Mon May 29 16:54:37 CST 2017
pZxid = 0xa00000007
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
同时通过>true<参数来监视主节点,如:
ls /master true
stat /master true
从节点
从节点主要有两个关注点:注册节点和确认接受任务分配。
1. 首先要先初始化>/workers、/tasks、/assign<这三个父节点目录:
2. 通过>create /workers/something “something”<在目录下注册从节点,以让主节点能够知道哪个节点正常;
3. 通过>create /assign/something “something”<在目录下注册可以接受任务的节点;
4. 同样,需要通过>true<来添加监视状态;
客户端
客户端的要向>/tasks<目录中添加要执行的任务,同样也是采用注册的方式。
1. 首先提交任务:>create -s /tasks/task- “cmd”<,提交了一个 “cmd” 任务,得到以下回复:
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/tasks
Created /tasks/task-0000000000
客户端要监视任务的执行状态>ls /tasks/task-0000000000 true<;
之后主节点查看任务和可用节点,将任务分配给目标节点>create /assign/Hadoop3/task-0000000000 “”<,得到:
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/assign/Hadoop3
Created /assign/Hadoop3/task-0000000000然后从节点检查确定任务分配给自己并执行任务;
一旦任务完成,从节点就向>create /tasks/task-0000000000/status “done”<中添加状态,
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/tasks/task->0000000000
Created /tasks/task-0000000000/status
6.客户端接收通知,检查结果>get /tasks/task-0000000000<,结果类似如下:
cmd
cZxid = 0xa00000013
ctime = Mon May 29 18:08:43 CST 2017
mZxid = 0xa00000013
mtime = Mon May 29 18:08:43 CST 2017
pZxid = 0xa00000017
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 1
同时检查状态>get /tasks/task-0000000000/status<,
done
cZxid = 0xa00000017
ctime = Mon May 29 18:22:57 CST 2017
mZxid = 0xa00000017
mtime = Mon May 29 18:22:57 CST 2017
pZxid = 0xa00000017
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
当然在实际中,不应该用Client来实现应用,而是通过自己的程序调用API完成,Client更多用于调试。
- ZooKeeper主从模式的三种角色(以Client为例)
- ZooKeeper的三种角色
- ZooKeeper的三种角色
- XFire的Client的三种模式
- XFire的Client的三种模式
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 设计模式 策略模式 以角色游戏为背景
- 第八届蓝桥杯决赛小结
- N-Queens(递归回溯+迭代回溯)
- 「报告」工业互联网信息安全厂商报告-01
- 程序员顶尖和普通就是有5个区别!
- HDU
- ZooKeeper主从模式的三种角色(以Client为例)
- Java 获取本月最后一天
- USACO Section1.3 Mixing Milk
- 动态顺序表部分接口的简易实现
- 什么是ppa
- 【HDU1394】Minimum Inversion Number
- ViewPager+Fragment+RecyclerView,当切换viewpager时,recyclerview自动滑动问题
- 快速中值求取算法
- dubbo-zookeeper 环境问题