ZooKeeper:轻量级的分布式系统,用于解决分布式应用中通用的协作问题。
1 设计思想
- MapReduce1.0架构的JobTracker故障:
- 重新启动 JobTracker,所有作业需要重新执行
- MapReduce1.0没有处理JobTracker故障的机制——单点瓶颈
- Standalone模式下Spark架构的Master故障:
- 重启系统 or 借助ZooKeeper配置多个Master实现高可用
- Yarn架构的ResourceManager故障:
- 从持久化存储系统中恢复状态信息,所有应用将会重新执行
- 可部署多个RM并通过ZooKeeper协调,保证RM的高可用性
ZooKeeper设计目标:将实现复杂的分布式一致性服务封装起来,构建高效可靠的原语集,并给用户提供一系列简单易用的接口。ZooKeeper不存储大量数据,而存储元数据或配置信息等,以便进行协调服务。
1.1 数据模型
ZooKeeper维护类似文件系统的层次数据结构。
只是类比文件系统的结构
但文件系统中文件夹不存放数据,只在文件中存放数据