【问题标题】:Create directory in hadoop filesystem在hadoop文件系统中创建目录
【发布时间】:2015-01-31 19:37:14
【问题描述】:

我是 hadoop 新手。我正在尝试在 hdfs 中创建一个目录,但我无法创建。

我已经登录到“hduser”,因此我假设 /home/hduser“预先存在为 Unix fs。所以我尝试使用以下命令创建 hadoop 目录。

[hduser@Virus ~]$ hadoop fs -mkdir /home/hduser/mydata/
14/12/03 15:04:53 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: `/home/hduser/mydata/': No such file or directory

在线搜索后,我认为 hadoop 可能无法理解“/home/hduser”,或者因为我正在使用 hadoop2,其中 mkdir 无法像 Unix 命令“madir -p”(递归)那样工作。因此我尝试创建“/mydata”但没有运气。

[hduser@Virus ~]$ hadoop fs -mkdir /mydata
14/12/03 15:09:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: Cannot create directory /mydata. Name node is in safe mode.

我尝试离开安全模式,但问题仍然存在。

[hduser@Virus ~]$ hdfs dfsadmin -safemode leave
14/12/03 15:09:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Safe mode is OFF

我也尝试过使用“/user/mydata”,因为“/user”是 hadoop 作为主目录的目录。

[hduser@Virus ~]$ hadoop fs -mkdir /user/mydata
14/12/03 15:36:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: Cannot create directory /user/mydata. Name node is in safe mode.

现在如何进一步调试?

【问题讨论】:

标签: shell hadoop hdfs command-line-interface


【解决方案1】:

列出你的目录

hadoop fs -ls /

输出:

Found 1 items
drwxr-xr-x   - sony supergroup          0 2016-12-10 16:45 /usr

创建目录

hadoop fs -mkdir /app

创建成功并检查

hadoop fs -ls /

输出:

Found 2 items
drwxr-xr-x   - sony supergroup          0 2016-12-12 04:11 /usr
drwxr-xr-x   - sony supergroup          0 2016-12-10 16:45 /app

【讨论】:

    【解决方案2】:

    在 HDFS 上,

    hdfs dfs -mkdir -p /this/is/a/new/directory
    

    【讨论】:

      【解决方案3】:

      要离开安全模式,请尝试以下命令,因为 hadoop dfsadmin -safemode 在较新的 Hadoop 发行版中已被弃用:

       hdfs dfsadmin -safemode leave
      

      默认情况下,用户在 hdfs 中的 home 目录存在于 '/user/hduser' 而不是 /home/hduser'。

      如果您尝试像下面这样直接创建目录,那么它将像“/user/hduser/sampleDir”一样创建。

      hadoop fs -mkdir /path/to/be/created
      

      【讨论】:

        【解决方案4】:

        创建目录/用户

        hadoop fs -mkdir /user
        

        然后用你的用户名

        hadoop fs -mkdir /user/yourusername
        

        现在尝试创建目录。

        【讨论】:

        • 另外,你可以用一个命令来完成它:hadoop fs -mkdir -p /user/ysername;
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-22
        • 1970-01-01
        • 1970-01-01
        • 2020-06-13
        • 1970-01-01
        相关资源
        最近更新 更多