本文固定链接为:https://www.askmac.cn/archives/hadoop-federation.html
本文是官方文档的翻译,原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/ViewFs.html
1简介
文件系统视图(viewFS)提供了一个管理多个hadoop文件系统命名空间(或者命名空间卷组)的途径。特别是在集群中HDFS Federation有多个namenodes,因此有多个命名空间时很有用。ViewFS类似于在一些 Unix/Linux系统中的客户端挂载表。ViewFs可以用来创建个性化的命名空间视图和为每个机器自定义视图。
本指南是在Hadoop系统有多个集群背景下提出的,每个集群可能联合多个namespace。也描述了如何在联合HDFS中使用ViewFS来为每个集群全局命名空间,使得应用程序可以以类似于之前每个-联合方式来运行。
2.旧的方式(之前的 Federation):
2.1 独立的namenode 集群
在之前旧的HDFS Federation方式中,一个集群有一个单独的namenode,为集群提供单独的文件系统命名空间。假设这里有多个集群。每个集群的文件系统命名空间是完全独立和不相交的。此外,物理存储在集群中时非共享访问的(例如,Datanode不能通过集群共享)
每个集群的core-site.xml有一个配置属性,为集群中的namenode设置默认文件系统:
<property> <name>fs.default.name</name> <value>hdfs://namenodeOfClusterX:port</value> </property>
这样的配置属性,运行使用相对名称来解析路径连接到namenode。例如,/foo/bar指的是 hdfs://namenodeOfClusterX:port/foo/bar。这个配置属性在集群每个网关上设置,并且在每个关键集群服务例如 JOBTracker和Oozie上设置。