官方文档地址:
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/ViewFs.html
1、简介
ViewFs是用来管理多个Hadoop namespace的一种方案。
具体思路和一些Linux/Unix系统的挂载表十分相似。
ViewFs可以生成某个namespace的视图,或者说某个集群的文件视图。
简单的说,ViewFs解决了多个集群多个namespace的问题,例如Federation的client-side mount table
。
2、旧时代-在Federation之前
一个集群拥有一个namenode,它为集群提供一个单一的文件系统namespace。假设有很多集群,那么它们的namespace是彼此独立的。更重要的是,物理存储也没有在集群之间进行共享。
单namenode集群
每个集群的core-site.xml有一个配置参数设置默认文件系统的namenode:
<property>
<name>fs.default.name</name>
<value>hdfs://namenodeOfClusterX:port</value>
</property>
按照这样配置,如果我们要访问路径/foo/bar
,那么hdfs地址就为hdfs://namenodeOfClusterX:port/foo/bar
。
3、新时代-Federation和ViewFS
假设我们有多个集群,每个集群又有一个或多个namenode。每个namenode有自己的namespace。一个n