hadoop-0.20.2 格式化hadoop时,报command not found,权限不够?

在Redhat 5.6 Enterprise x64环境下,搭建 Apache Hadoop-0.20.2 环境 遇到了以下错误:

1.jdk设置环境变量:
JAVA_HOME=/usr/software/jdk1.7.0_09
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

--jdk设置环境是没问题的,能运行HelloWorld.

2.hadoop 设置环境变量
export HADOOP_HOME=/usr/software/hadoop/hadoop-0.20.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

3.其它文件的修改都正常,格式化hadoop时报了以下问题:

[root@hadoopName /]# cd /usr/software/hadoop/hadoop-0.20.2/bin
[root@hadoopName bin]# hadoop namenode -format
-bash: hadoop: command not found
请问一下大家这是怎么回事?大家是怎么格式化hadoop的?

现在,实现linux的ssh无密码验证配置后,再次进入hadoop到bin目录,执行hadoop namenode -format命令时,报权限不够,请问一下大家,该怎么修改?
[root@hadoopName bin]# pwd/usr/software/hadoop/hadoop-0.20.2/bin
[root@hadoopName bin]# hadoop namenode -format
-bash: /usr/software/hadoop/hadoop-0.20.2/bin/hadoop: 权限不够
[root@hadoopName bin]#

第1个回答  2014-04-22
你用 hadoop的用户执行呢
或者 chown -R 你的hadoop目录 把它归到hadoop用户组哈 在试试追问

1.是不是我必须要建立一个hadoop用户,再把权限赋到hadoop目录。我现在是用root登录的reahat.
2.若可以用root登录,又是怎么操作的呢?

追答

我觉得还是用第一个 方法试试 比较好

    建立一个 单独的hadoop用户组 在hadoop用户组 建立一个hadoop用户 把所需要的环境变量都在 配置在hadoop用户下的 ~/.bashrc 这个文件里面 

    在/etc/sudoers 的 root  ALL=(ALL:ALL) ALL 添加 hadoop ALL=(ALL:ALL) ALL 

    把你的 /usr/software/hadoop/hadoop-0.20.2 赋权给 hadoop 

    配置所有机子的 hadoop用户间的 ssh 登录

    执行hadoop namenode -format
    应该是可以的  祝你好运 ~-~

相似回答