我在伪分布式模式下使用 Hadoop 1.0.3。我的 conf/core-site.xml 设置如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>mapred.child.tmp</name>
<value>/home/administrator/hadoop/temp</value>
</property>
</configuration>
所以我相信我的默认文件系统设置为 HDFS。但是,当我运行以下代码时:
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
我认为 fs 应该是一个DistributedFileSystem
实例。然而,事实证明它是LocalFileSystem
实例。
但是,如果我运行以下代码:
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://localhost:9000");
FileSystem fs = FileSystem.get(conf);
然后我可以得到一个DistributedFileSystem
fs。
我的默认文件系统不是在 core-site.xml 中设置为 HDFS 吗?如果没有,我应该如何设置?