HDFS作为默认文件系统,而ViewFS同时也启用,好处在于:
1. 可以用Rack Awareness的命令行查看机架,因为必须要HDFS作为默认文件系统才行
2. 可以享受ViewFS带来的好处, viewfs可以将各种文件系统映射在不同的目录下,实现了client-side mount table.
viewfs的信息参考:
http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/viewfs/ViewFs.html
https://issues.apache.org/jira/browse/HADOOP-7257
下面的两个namenode的core.xml配置如下, 第二个defaultFS的值应该是hdfs://namenode2:9000
<property> <name>fs.defaultFS</name> <value>hdfs://namenode1:9000</value> </property> <property> <name>fs.viewfs.mounttable.default.link./ns1</name> <value>hdfs://namenode1:9000</value> </property> <property> <name>fs.viewfs.mounttable.default.link./ns2</name> <value>hdfs://namenode2:9000</value> </property>
hduser@namenode1:/usr/local/hadoop/etc/hadoop$ hdfs dfsadmin -printTopology Rack: /168/1 192.168.1.73:50010 (datanode1) 192.168.1.74:50010 (datanode2) 192.168.1.75:50010 (datanode3)
hduser@namenode1:/usr/local/hadoop/etc/hadoop$ hdfs dfs -ls hdfs://namenode1:9000/ Found 1 items drwxr-xr-x - hduser supergroup 0 2014-03-17 10:44 hdfs://namenode1:9000/system
hduser@namenode1:/usr/local/hadoop/etc/hadoop$ hdfs dfs -ls viewfs:/// Found 2 items -r--r--r-- - hduser hadoop 0 2014-03-18 06:58 viewfs:///ns1 -r--r--r-- - hduser hadoop 0 2014-03-18 06:58 viewfs:///ns2