在hadoop文件系统中创建目录

vir*_*rus 10 shell hadoop command-line-interface hdfs

我是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
Run Code Online (Sandbox Code Playgroud)

在线搜索后,我想到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.
Run Code Online (Sandbox Code Playgroud)

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

[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
Run Code Online (Sandbox Code Playgroud)

我也试过"/ 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.
Run Code Online (Sandbox Code Playgroud)

现在如何进一步调试?

Sag*_*iya 7

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

 hdfs dfsadmin -safemode leave
Run Code Online (Sandbox Code Playgroud)

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

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

hadoop fs -mkdir /path/to/be/created
Run Code Online (Sandbox Code Playgroud)


Gio*_*ous 7

在 HDFS 上,

hdfs dfs -mkdir -p /this/is/a/new/directory
Run Code Online (Sandbox Code Playgroud)


Kum*_*mar 5

创建目录/用户

hadoop fs -mkdir /user
Run Code Online (Sandbox Code Playgroud)

然后输入您的用户名

hadoop fs -mkdir /user/yourusername
Run Code Online (Sandbox Code Playgroud)

现在尝试创建目录。

  • 另外,您可以使用一个命令来实现它:`hadoop fs -mkdir -p / user / ysername`; (2认同)