nodemanager和resourcemanager进程不启动

0vvn1miw  于 2021-05-27  发布在  Hadoop
关注(0)|答案(3)|浏览(837)

我正在设置一个多节点集群,我的nodemanager和resourcemanager进程由于某种原因没有启动,我不知道为什么。当我运行 jps 命令,我只看到 NameNode 以及 SecondaryNameNode 以及 JPS 过程。结果,我的mapreduce工作不起作用。这是我的配置
yarn-site.xml-跨namenode和datanodes

<configuration>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>ec2PathToMyNameNode.compute-1.amazonaws.com</value>
  </property>
</configuration>

我的主机文件在namenode上是这样的:

nameNodeIP nameNodePublicDNS.compute-1.amazonaws.com
dataNode1IP dataNode1PublicDNS.compute-1.amazonaws.com
dataNode2IP dataNode2PublicDNS.compute-1.amazonaws.com
dataNode3IP dataNode3PublicDNS.compute-1.amazonaws.com
127.0.0.1 localhost

当我运行mapreduce作业时,它会显示无法连接 8032 . 我正在使用hadoop3.1.2
编辑:
我检查了日志,发现以下异常:
原因:java.lang.classnotfoundexception:javax.activation.datasource at java.base/jdk.internal.loader.builtinclassloader.loadclass(builtinclassloader)。java:583)在java.base/jdk.internal.loader.classloaders$appclassloader.loadclass(classloaders。java:190)在java.base/java.lang.classloader.loadclass(classloader。java:499) ... 83人以上
注入构造函数时出错,java.lang.noclassdeffounderror:javax/activation/datasource,位于org.apache.hadoop.yarn.server.resourcemanager.webapp.jaxbcontextresolver.(jaxbcontextresolver)。java:41)在org.apache.hadoop.yarn.server.resourcemanager.webapp.rmwebapp.setup(rmwebapp。java:54)查找org.apache.hadoop.yarn.server.resourcemanager.webapp.jaxbcontextresolver时出错
com.google.inject.internal.injectorimpl$2.get(injectorimpl。java:1025)在com.google.inject.internal.injectorimpl.getinstance(injectorimpl。java:1051)位于com.sun.jersey.guice.spi.container.guicecomponentproviderfactory$guiceInstantidComponentProvider.getinstance(guicecomponentproviderfactory)。java:345)

q43xntqr

q43xntqr1#

试图找出问题所在

(1) start-dfs.sh与start-all.sh
检查您是否正在使用 Start-all.sh 命令,因为 Start-dfs.sh 将只启动namenode和datanodes
(2) 检查hadoop日志
检查是否有故障 HADOOP_LOG_DIR 全局变量值以获取日志目录,因为它将包括尝试启动namenode管理器和资源管理器时引发的所有异常
(3) 检查已安装的java版本
错误可能由不兼容的java版本引发,请检查是否已安装最新的java版本。
修复hadoop中的java9不兼容
启动resourcemanager和nodemanager时发生hadoop错误
(4) 检查hadoop常见问题
根据您在答案更新中提供的错误,您可能会发现以下相关问题链接:
[jdk9]在jdk9 env中使用jdk9构建hadoop pkg后无法运行yarn应用程序
[jdk9]使用hadoop pkg(使用jdk9构建)后,资源管理器无法启动

更多信息

有关更多信息,请查看我在medium上的文章,它可能会为您提供一些见解:
在ubuntu 16.04上逐步安装hadoop 3.1.0多节点集群

nr7wwzry

nr7wwzry2#

[pdash@localhost hadoop]$export yarn\u resourcemanager\u opts=“--添加模块=所有系统”[pdash@localhost hadoop]$export yarn\u nodemanager\u opts=“--添加模块=所有系统”
我从ApacheJira日志中尝试过,它肯定会有用的…谢谢praful

bvuwiixz

bvuwiixz3#

我的问题是我使用java11与hadoop合作。
所以我要做的是
1.rm/库/java/*
2.下载java8https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
3.安装java8jdk和
4.修复hadoop-env.sh中的javau home
5.全部停止.sh
6.启动-dfs.sh
7.start-yarn.sh

相关问题