hadoop 权威指南学习笔记ing(1)

1. zookeeper: 高可用性的分布式协调服务

    分布式困难在于部分失败:消息传递过程中,到底接收方收到与否,无法确定下来,才有了tcp协议的3次握手这样比较复杂的协议

2. zk的实例

   可以讲zk看成是一个文件系统,这个文件系统文友目录跟文件,只有 节点的概念,znode这个节点既可以看做是一个service,包括db实例,thrift service,也可以看做是一个保存其他service的容器,所有的这些znode 构成了一个tree型的结构,而基本的zk操作就是在这些节点上面进行的,包括 create 组,删除组,加入组,列出组的成员等

  关于znode:有2中不同的类型,短暂的和永久的,短暂的在一次客户端创建组的会话中保持,当会话断开后,这个znode就结束了,被zk删除,而永久的znode一直存在

3. 每个znode有一个与之关联的ACL,zk用来协调服务而不是存储数据的,所有每个znode的大小不能超过1m,对于znode 的访问具有原子性

  znode创建的时候可以指定顺序号,有顺序号的znode,可以有相同的名字

 4. 观察机制

  znode节点上发生变化时,可以通知其他的客户端,eg是 一个客户端调用了zk的exists查看当前tree中是否有某个znode,同时在上面设置一个观察,当其他客户端创建这个znode后,便可以通知这个客户端了,可以再读操作上设置观察(exists,getData,getChildren),写操作上触发观察(create,setData,delete)

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2012-05-25 19:24  wtx  阅读(811)  评论(0编辑  收藏  举报