在hadoop文件系统中创建目录

时间:2014-12-03 09:47:44

标签: shell hadoop command-line-interface

我是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" as" / 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.

现在如何进一步调试?

4 个答案:

答案 0 :(得分:6)

要退出安全模式,请尝试以下命令,因为在较新的Hadoop发行版中不推荐使用hadoop dfsadmin -safemode

 hdfs dfsadmin -safemode leave

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

如果你试图像下面那样直接创建目录,那么它将被创建为'/ user / hduser / sampleDir'。

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

答案 1 :(得分:3)

创建目录/用户

hadoop fs -mkdir /user

然后使用您的用户名

hadoop fs -mkdir /user/yourusername

现在尝试创建目录。

答案 2 :(得分:1)

列出您的目录

hadoop fs -ls /

<强>输出:

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

hadood 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

答案 3 :(得分:0)

在HDFS上,

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