gpt4 book ai didi

java - NodeManager 和 ResourceManager 进程未启动

转载 作者:可可西里 更新时间:2023-11-01 15:20:12 26 4
gpt4 key购买 nike

我正在设置一个多节点集群,我的 NodeManager 和 ResourceManager 进程由于某种原因没有启动,我无法弄清楚原因。当我运行 jps 命令时,我只看到 NameNodeSecondaryNameNode 以及 JPS 进程。因此,我的 MapReduce 作业将无法运行。这是我的配置

yarn-site.xml - 跨 NameNode 和 DataNode

<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。我正在使用 Hadoop 3.1.2

编辑:

我检查了日志,发现了以下异常:

Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ... 83 more

Error injecting constructor, java.lang.NoClassDefFoundError: javax/activation/DataSource at org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver.(JAXBContextResolver.java:41) at org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebApp.setup(RMWebApp.java:54) while locating org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver

1 error at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025) at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051) at com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory$GuiceInstantiatedComponentProvider.getInstance(GuiceComponentProviderFactory.java:345)

最佳答案

试图找出问题

(1) Start-dfs.sh 对比 Start-all.sh

当您尝试启动 hadoop 时,请检查您是否正在使用 Start-all.sh 命令,因为 Start-dfs.sh 只会启动名称节点和数据节点

(2)查看Hadoop日志

检查 HADOOP_LOG_DIR 全局变量值以获取日志目录,因为它将包括尝试启动名称节点管理器和资源管理器时抛出的所有异常

(3)检查安装的Java版本

错误可能是由不兼容的 Java 版本引发的,请检查您是否安装了最新的 Java 版本。

(4)查看Hadoop常见问题

根据您在答案更新中提供的错误,您可能会发现这些问题链接相关:


更多信息

有关更多信息,您可以查看我在 Medium 上的文章,它可能会给您一些见解:

关于java - NodeManager 和 ResourceManager 进程未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54972484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com