site.xml中将默认文件系统设置为hdfs

ttisahbt  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(349)

我在伪分布式模式下使用hadoop1.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 财政司司长。
我的默认文件系统不是在core-site.xml中设置为hdfs吗?如果没有,我该怎么设置?

uurity8g

uurity8g1#

eclipse环境不知道hadoop安装目录下的conf目录在哪里可以找到core-default.xml和core-site.xml,除非这些文件被添加到eclipse类路径中以首先加载。
由于这些没有添加到eclipse类路径中,默认的core-site.xml将从jar文件hadoop-*-core.jar(例如:hadoop-0.20.2-core.jar for version 0.20)加载,该文件将本地系统作为默认文件系统,因此您可以看到 LocalFileSystem 对象而不是 DistributedFileSystem .
所以,加上 <HADOOP_INSTALL>/conf 目录到eclipse项目类路径,转到项目属性(项目->属性)->java构建路径->库选项卡->添加外部类文件夹->从中选择conf目录 <HADOOP_INSTALL> 上面的内容应该将`/core site.xml'添加到eclipse类路径中,并且所有设置都应该覆盖默认设置。

相关问题