在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.是不是我必须要建立一个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
应该是可以的 祝你好运 ~-~