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)
一个不会敲代码的程序员
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库