在Hadoop文件系统中创建目录

16

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

我已经登录到“hduser”,因此我假设/home/hduser在Unix文件系统中已经存在。所以我尝试使用下面的命令创建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命令“mkdir -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",因为hadoop将"/user"作为默认家目录。

[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.

现在该如何进一步调试?


你的名称节点尚未离开安全模式。http://unmeshasreeveni.blogspot.in/2014/04/name-node-is-in-safe-mode-how-to-leave.html - USB
4个回答

14

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

hdfs dfsadmin -safemode leave

 hdfs dfsadmin -safemode leave

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

如果您尝试直接创建目录,则会像下面这样创建:'/user/hduser/sampleDir'。

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

如果我在/home/hduser中尝试使用~/foldername,它不会创建/home/hduser/foldername, 而是创建/user/hduser/foldername。正如你所说,用户在hdfs中的默认主目录存在于'/user/hduser',而不是/home/hduser。 非常有帮助。 - undefined

7
在HDFS上,
hdfs dfs -mkdir -p /this/is/a/new/directory

6
创建一个目录 /user
hadoop fs -mkdir /user

然后使用您的用户名。
hadoop fs -mkdir /user/yourusername

现在尝试创建目录。

2
此外,您可以使用一个命令完成:hadoop fs -mkdir -p /user/用户名 - user3335966

2
列出您的目录
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接