hdfs dfs -mkdir,没有这样的文件或目录

2D_*_*2D_ 17 hadoop hdfs

嗨,我是hadoop的新手,并尝试在hdfs中创建名为twitter_data的目录.我在softlayer上设置了我的vm,成功安装并启动了hadoop.

这是我想要运行的表扬:

hdfs dfs -mkdir hdfs:// localhost:9000/user/Hadoop/twitter_data

并且它一直返回此错误消息:

 /usr/local/hadoop/etc/hadoop/hadoop-env.sh: line 2: ./hadoop-env.sh: Permission denied
16/10/19 19:07:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: `hdfs://localhost:9000/user/Hadoop/twitter_data': No such file or directory
Run Code Online (Sandbox Code Playgroud)

为什么说没有这样的文件和目录?我订购它制作目录,不应该只创建一个?我猜它一定是权限问题,但我无法解决它.请帮我hdfs专家.我花了太多时间在一件简单的事情上.

提前致谢.

use*_*931 29

这是因为父目录也不存在.试试hdfs dfs -mkdir -p /user/Hadoop/twitter_data.该-p标志表示还将创建导致给定目录的所有不存在的目录.

至于您在评论中提出的问题,只需输入您的浏览器即可http://<host name of the namenode>:<port number>/.


小智 8

使用以下步骤命令创建目录:

1)不要运行hadoop并格式化namenode: -

$ hadoop namenode -format
Run Code Online (Sandbox Code Playgroud)

2)运行hadoop: -

$ start-all.sh
Run Code Online (Sandbox Code Playgroud)

3)现在首先创建初始目录,然后在同一目录中创建另一个目录:

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

按照上述步骤解决问题.