hadoop从属程序是否可以存在于不同的安装目录中?

zz2j4svz  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(338)

我有一个3节点 hadoop 具有一个namenode和两个datanode的集群。namenode位于: /opt/hadoop/ 目录和数据节点位于 /mnt/hadoop/ 目录。
.bashrc namenode的名称是:

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: No such file or directory .
在我看来,奴隶是指 /opt/hadoop/ 而不是 /mnt/hadoop . 为什么会这样?
从属节点是否应该与namenodes驻留在同一路径中?
谢谢。

wz3gfoph

wz3gfoph1#

如果您使用start-dfs.sh(start-all.sh现在是去擦洗的,它在内部分别调用start-dfs.sh和start-yarn.sh实用程序来启动hdfs和yarn服务)实用程序来启动所有hdfs服务(namenode和datanodes),然后在所有节点中维护目录结构(保留hadoop工件和配置文件)。
如果不是在同一目录结构中维护,则必须在所有从属节点中执行以下命令以启动datanodes。

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

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

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

相关问题