hadoop-0.20.2 格式化hadoop时,报command not found,权限不够?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]#
或者 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
应该是可以的 祝你好运 ~-~
操作Hadoop集群
操作Hadoop集群
所有必要的配置完成后,将文件分发到所有机器上的HADOOP_CONF_DIR目录。这应该是所有机器上相同的目录。
一般来说,建议HDFS和YARN作为单独的用户运行。在大多数安装中,HDFS进程作为“hdfs”执行。YARN通常使用“纱线”帐户。
Hadoop启动
要启动Hadoop集群,您需要启动HDFS和YARN集群。
首次升级HDFS时,必须格式化。将新的分布式文件系统格式化为hdfs:
[hdfs] $ $ HADOOP_HOME / bin / hdfs namenode -format <cluster_name>
在指定的节点上使用以下命令启动HDFS NameNode作为hdfs:
[hdfs] $ $ HADOOP_HOME / bin / hdfs --daemon start namenode
在每个指定的节点上使用以下命令启动HDFS DataNode :hdfs:
[hdfs] $ $ HADOOP_HOME / bin / hdfs --daemon start datanode
如果配置了etc / hadoop / worker和ssh信任访问(请参阅单节点安装),则可以使用实用程序脚本启动所有HDFS进程。作为hdfs:
[hdfs] $ $ HADOOP_HOME / sbin / start-dfs.sh
开始使用以下命令,在指定的ResourceManager为运行纱线纱:
[纱线] $ $ HADOOP_HOME / bin / yarn --daemon启动资源管理器
运行一个脚本来在每个指定的主机上启动一个NodeManager作为纱线:
[纱线] $ $ HADOOP_HOME / bin / yarn --daemon启动nodemanager
启动独立的WebAppProxy服务器。在WebAppProxy服务器上作为纱线运行。如果使用多个服务器进行负载平衡,则应在每个服务器上运行:
[纱线] $ $ HADOOP_HOME / bin / yarn --daemon启动代理服务器
如果配置了etc / hadoop / worker和ssh信任访问(请参阅单节点安装),则可以使用实用程序脚本启动所有YARN进程。由于纱线:
[纱线] $ $ HADOOP_HOME / sbin / start-yarn.sh
使用以下命令启动MapReduce JobHistory服务器,在映射的指定服务器上运行:
[mapred] $ $ HADOOP_HOME / bin / mapred --daemon启动历史记录服务器
Hadoop关机
使用以下命令停止NameNode,在指定的NameNode上运行hdfs:
[hdfs] $ $ HADOOP_HOME / bin / hdfs --daemon stop namenode
运行脚本来停止DataNode作为hdfs:
[hdfs] $ $ HADOOP_HOME / bin / hdfs --daemon stop datanode
如果配置了etc / hadoop / worker和ssh可信访问(请参阅单节点安装),所有HDFS进程可能会使用实用程序脚本停止。作为hdfs:
[hdfs] $ $ HADOOP_HOME / sbin / stop-dfs.sh
停止使用下面的命令,在指定的ResourceManager作为运行的ResourceManager 纱:
[纱线] $ $ HADOOP_HOME / bin / yarn --daemon停止资源管理器
运行一个脚本来停止一个工作的NodeManager作为纱线:
[纱线] $ $ HADOOP_HOME / bin / yarn - daemon stop nodemanager
如果配置了etc / hadoop / worker和ssh信任访问(请参阅单节点安装),则可以使用实用程序脚本停止所有YARN进程。由于纱线:
[纱线] $ $ HADOOP_HOME / sbin / stop-yarn.sh
停止WebAppProxy服务器。在WebAppProxy服务器上作为纱线运行。如果使用多个服务器进行负载平衡,则应在每个服务器上运行:
[纱线] $ $ HADOOP_HOME / bin /纱线停止代理服务器
使用以下命令停止MapReduce JobHistory服务器,在映射的指定服务器上运行:
[mapred] $ $ HADOOP_HOME / bin / mapred --daemon stop historyserver
以上是关于hadoop-0.20.2 格式化hadoop时,报command not found,权限不够?的主要内容,如果未能解决你的问题,请参考以下文章