hadoop slave可以存在于不同的安装目录中吗?

时间:2014-11-12 11:22:32

标签: hadoop hadoop2

我有一个3节点hadoop群集,其中包含一个namenode和两个datanode。 namenode位于:/opt/hadoop/目录,datanodes位于/mnt/hadoop/目录中。

namenode的.bashrc是:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
export HADOOP_INSTALL=/opt/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL

和datanodes是:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
export HADOOP_INSTALL=/mnt/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL

然而,当我从namenode启动集群时,我从 datanodes /opt/hadoop/sbin/hadoop-daemon.sh: No such file or directory

在我看来,奴隶指的是/opt/hadoop/而不是/mnt/hadoop。这是为什么? 从站应该与namenodes位于同一路径吗?

感谢。

1 个答案:

答案 0 :(得分:1)

如果你使用start-dfs.sh(start-all.sh现在被描述,内部调用start-dfs.sh和start-yarn.sh实用程序分别启动HDFS和YARN服务)实用程序用于启动所有HDFS服务( namenode和datanodes),然后你必须在所有节点中维护目录结构(保持hadoop工件和配置文件)。

如果不维护相同的目录结构,则必须在所有从属节点中执行以下命令以启动数据节点。

$HADOOP_INSTALL/sbin/hadoop-daemon.sh start datanode

要启动纱线从属服务,必须在所有从属节点中使用以下命令。

$HADOOP_INSTALL/sbin/yarn-daemon.sh start nodemanager