在HDFS中创建新文件夹时出错

时间:2015-04-14 02:25:06

标签: hadoop hdfs

我的hadoop-1.2.1配置受到打击:

***core-site.xml***

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/dsk/hadoop/tmp-storage</value>
    </property>
</configuration>


***hdfs-site.xml***


<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

我想使用Hadoop Filesystem API在HDFS中开辟新的方向。所以我在我的代码中写道:

    @Test
    public void testDirectory() throws Exception {

        Configuration configuration = new Configuration();
        FileSystem hdfs = HDFSUtils.getFileSystem(configuration);
        Path path = new Path("/test_dir");
        boolean isSuccess = hdfs.mkdirs(path);
        System.out.println("mkdir   test_dir" + (isSuccess ? " success" : " failure"));
    }

我的class HDFSUtils是:

    public static FileSystem getFileSystem(Configuration conf) {

        FileSystem hdfs = null;
        try {

            hdfs = FileSystem.get(conf);
            return hdfs;

        } catch (Exception e) {
            e.printStackTrace();
        }
        return hdfs;
    }

我想要我的hdfs层次结构,如下所示: enter image description here 但是当我用JUnit测试时,我得到了mkdir test_dir failure

我的工作IDE是Eclipse,在conf文件夹中已包含两个xml个文件enter image description here

我仍然在如何使用Filesystem API操作HDFS上的文件方面遇到一些问题。 起初我使用了URL方法并且它有效。

String fileUrl = "hdfs://localhost:9000/firstSQL.sql";

但当我将其更改为HDFS FileSystem API时,我找不到我的文件:

    Configuration conf = new Configuration();
    FileSystem hdfs = HDFSUtils.getFileSystem(conf);
    Path path = new Path("/firstSQL.sql");

失败痕迹为java.io.FileNotFoundException: File /firstSQL.sql does not exist.

但我在HDFS中确实有firstSQL.sqlenter image description here

我对HDFS上我文件的真实路径感到困惑。

0 个答案:

没有答案