zookeeper 是用来管理HMaster和RegionServer的, 和datanode复制没有关系
---------------
核心是watch, 用来监听其他服务器中节点的变化情况
节点znode, 可以分为永久节点和临时节点
永久节点存放需要同步管理的数据
临时节点作为心跳测试,和session的生命周期一致, 所有节点都能知道其他节点的状态。
还用来作为选举master,sequence最小的一个。
watch事件触发
为读操作设置watch: exists getChildren getData
watch种类分为: data watch 和 child watch
setData 触发data watch
create delete 触发 data watch 和 child watch
watch只能生效一次
如果要一直监控一个值得话,需要使用StatCallback
package alwaysWatch;
import org.apache.zookeeper.AsyncCallback.StatCallback;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
public class Main implements Watcher, StatCallback {
String znode = "/e";
ZooKeeper zk;
public Main() throws Exception {
zk = new ZooKeeper("192.168.1.107:2181", 30000, this);
zk.exists(znode, true);
Thread.sleep(Long.MAX_VALUE);
}
public static void main(String[] args) throws Exception {
new Main();
}
@Override
public void process(WatchedEvent event) {
zk.exists(znode, true, this, null);
}
@Override
public void processResult(int rc, String path, Object ctx, Stat stat) {
try {
byte b[] = zk.getData(znode, false, null);
System.out.println(new String(b, "UTF-8"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
参考
http://www.cnblogs.com/zhangchaoyang/articles/2536178.html
http://www.blogjava.net/BucketLi/archive/2010/12/21/341268.html
多个server互相监控
http://blog.163.com/wm_at163/blog/static/132173490201232675256528/
分享到:
相关推荐
自己整理的ZooKeeper学习笔记,适合刚刚接触ZooKeeper的人学习
Zookeeper学习 Zookeeper是一个由Java编写并开源的,为分布式系统提供协调服务的框架. Zookeeper概述 Zookeeper最早起源于雅虎研究院的一个小组.当时研究人员发现,在雅虎内部的很多系统基本都依赖一个类似的系统来...
zookeeper 学习资料 中篇
Zookeeper学习笔记
zookeeper 学习资料 下篇
zookeeper 学习资料 上篇
zookeeper学习视频
在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。如果在创建znode时Flag设置为EPHEMERAL,那么当创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在...
zookeeper学习笔记
java ZooKeeper学习笔记\ZooKeeper原理、运用
zookeeper学习用Demo,包含zookeeper的各种使用案例 zookeeper学习用Demo,包含zookeeper的各种使用案例
基于 Zookeeper部署微服务,实现前后端分离,提高开发效率。
zookeeper学习知识点, 脑图
ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务:**分布式锁服务**。由于ZooKeeper的开源特性,后来我们的开发者在分布式锁的基础上,摸索了出了其他的使用方法:**...
本文适合但不限于软件开发人员阅读。本文档能够使阅读者对zookeeper有一个宏观且全面的了解,内容主要包含zookeeper架构、数据模型、读写及工作原理、典型应用场景、指令汇总等,
主要介绍了zookeeper 的概述,特点,作用,角色,安装,shell命令
Zookeeper 学习1
ZooKeeper是一个开源的分布式协调服务,最初由雅虎公司开发,后来成为Apache基金会的顶级项目。它为分布式应用程序提供了高性能的协调服务,包括配置管理、命名服务、分布式同步和组服务等功能。 ZooKeeper的主要...
适用人群:了解zookeeper,学习大数据方向,项目需要用到zookeeper
3天精通zookeeper视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程内容: zookeeper简介 zookeeper数据模型 zookeeper单机安装 zookeeper常用shell命令 zookeeper的Acl权限控制 zookeeper...