后面开始整理以前学习HDFS、Yarn时的笔记。node
HDFS 1.x
主要角色:git
- Namenode * 1
- 存储、管理元数据,包括文件信息、文件与数据块的映射。
- 处理与元数据相关的操做,如枚举路径、查看文件的逻辑大小等。
- 集群的协调者,如Datanode上下线、数据块的生命周期管理。
- Datanode * n
- Client * n
- 集群的使用者,经过具体的FileSystem访问集群(门面模式)。
HDFS 2.x
与HDFS 1.x相比,2.x新增了两个重要feature:HA、Federation。github
角色变化以下:服务器
- Namenode * 2k
- HA支持一个Active Namenode和一个Standby Namenode,以一个Namespace(或Nameservice)的形式对外服务。在active挂时,自动将将standby切换为新的active,旧的active恢复后成为standby。
- Federation将多个Namespace合并为一个视图,用户可经过viewfs访问。
- Datanode * n
- 全部节点共同对全部Namespace服务。在Datanode上,各Namespace拥有单独的目录(blockpool)。
- Client * n
- 2.x的Federation经过
客户端挂载表
实现,要经过ViewFileSystem访问NameNode。(这一点也算不上变化,多了一种门面而已)
HA大大增强了HDFS的可用性;Federation则将多个集群的视图合并在一块儿,方便用户使用。两个特性很是重要,HDFS 3.x在这两个feature上继续工做,现在HA以支持多standby,Federation支持服务器端路由。后面再整理实现方案。架构
本文连接:HDFS1.x、2.x架构图
做者:猴子007
出处:monkeysayhi.github.io
本文基于 知识共享署名-相同方式共享 4.0 国际许可协议发布,欢迎转载,演绎或用于商业目的,可是必须保留本文的署名及连接。学习