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 @   wtx  阅读(812)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示