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

hadoop从属可以存在于不同的安装目录中吗?,hadoop,hadoop2,Hadoop,Hadoop2,我有一个3节点的hadoop集群,其中有一个namenode和两个DataNode。 namenode位于:/opt/hadoop/目录,datanode位于/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/b

我有一个3节点的hadoop集群,其中有一个namenode和两个DataNode。 namenode位于:
/opt/hadoop/
目录,datanode位于
/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
数据节点是:

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:没有这样的文件或目录

在我看来,从机指的是
/opt/hadoop/
,而不是
/mnt/hadoop
。这是为什么?
从属节点是否应与namenodes位于同一路径中

谢谢。

如果您使用start-dfs.sh(start-all.sh现在已被删除,它在内部分别调用start-dfs.sh和start-warn.sh实用程序来启动HDFS和warn服务)实用程序来启动所有HDFS服务(namenode和datanodes),那么您必须维护目录结构(保留hadoop工件和配置文件)在所有节点中

如果不在同一目录结构中进行维护,则必须在所有从属节点中执行以下命令以启动datanodes

$HADOOP_INSTALL/sbin/hadoop-daemon.sh start datanode
要启动从属服务,必须在所有从属节点中使用以下命令

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