权限被拒绝:验证Hadoop dfs

时间:2015-08-04 23:59:11

标签: hadoop installation

尽管这个问题将成为另一个问题的完全复制品,但我仍然愿意提出这个问题 - 因为StackOverflow和AskUbuntu上的其他类似问题(和答案)都没有帮助我。我是一个新手,并试图从TutorialsPoint教程中学习Hive。

我已经按照此链接中给出的JDK 1.7和Hadoop的安装指南:Hive - Installation掌舵,并且遇到了第二步:验证Hadoop dfs。

在主目录下格式化namenode后运行start-dfs.sh,我得到以下输出:

neil@neil-VirtualBox:~$ start-dfs.sh
15/08/04 19:42:01 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [localhost]
neil@localhost's password: 
localhost: mkdir: cannot create directory `/usr/local/hadoop/logs': Permission denied
localhost: chown: cannot access `/usr/local/hadoop/logs': No such file or directory
localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-neil-namenode-neil-VirtualBox.out
localhost: /usr/local/hadoop/sbin/hadoop-daemon.sh: line 159: /usr/local/hadoop/logs/hadoop-neil-namenode-neil-VirtualBox.out: No such file or directory
localhost: head: cannot open `/usr/local/hadoop/logs/hadoop-neil-namenode-neil-VirtualBox.out' for reading: No such file or directory
localhost: /usr/local/hadoop/sbin/hadoop-daemon.sh: line 177: /usr/local/hadoop/logs/hadoop-neil-namenode-neil-VirtualBox.out: No such file or directory
localhost: /usr/local/hadoop/sbin/hadoop-daemon.sh: line 178: /usr/local/hadoop/logs/hadoop-neil-namenode-neil-VirtualBox.out: No such file or directory

我已经尝试了herehere发布的每个解决方案,而没有进一步推进。

另外,当我运行' hadoop版本'命令,它给出以下输出:

Hadoop 2.7.0
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r d4c8d4d4d203c934e8074b31289a28724c0842cf
Compiled by jenkins on 2015-04-10T18:40Z
Compiled with protoc 2.5.0
From source with checksum a9e90912c37a35c3195d23951fd18f
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.0.jar

这很奇怪,因为我在安装Hadoop 2.4.0之前完全卸载了Hadoop 2.7.0,如教程链接中所示。我也在运行Java 1.7.0_79。

我已经被困在这2天了,从那时起就一直在爬网。请给我一个解决方案或链接,我可以用它来了解我的出路。由于我是安装Hadoop的完全新手,因此非常感谢任何形式的帮助。我还会根据您的反馈更新问题。

谢谢,

Souradeep

1 个答案:

答案 0 :(得分:0)

对于您的start-dfs.sh问题,请尝试以下操作:

第1步:检查文件夹/usr/local/hadoop/logs是否存在。如果存在则转到步骤3.如果不存在,请执行步骤2.

ls -l /usr/local/hadoop/logs

第2步:手动创建文件夹。

sudo mkdir /usr/local/hadoop/logs

第3步:更改权限和所有权。

sudo chmod -R 777 /usr/local/hadoop/logs
sudo chown -R hadoopusername:hadoopgroupname /usr/local/hadoop/logs
  

注意: hadoopusername 更改为您的hadoop用户,将 hadoopgroupname 更改为您的hadoop组。就我而言,我的用户和群组名称分别为 hduser hadoop 。所以我的命令   就像: sudo chown -R hduser:hadoop ......

现在,使用start-dfs.sh启动hadoop进程。

对于hadoop -version问题,请尝试删除与2.7.0相关的lib文件或删除/home/hadoopuser/.bashrc中与2.7.0相关的PATH条目。