我是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.
现在如何进一步调试?
答案 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