我正在设置一个多节点集群,并且由于某些原因我的NodeManager和ResourceManager进程没有启动,并且我不知道为什么。当我运行jps
命令时,我只看到NameNode
和SecondaryNameNode
和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
编辑:
我检查了日志,发现以下异常:
原因:java.lang.ClassNotFoundException:javax.activation.DataSource 在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时
1个错误 在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 $ GuiceInstantiatedComponentProvider.getInstance(GuiceComponentProviderFactory.java:345)
答案 0 :(得分:1)
(1)Start-dfs.sh与Start-all.sh
在尝试启动hadoop时,请检查您是否正在使用Start-all.sh
命令,因为Start-dfs.sh
仅会启动namenode和datanodes
(2)检查Hadoop日志
检查HADOOP_LOG_DIR
全局变量值以获取Log目录,因为它会包含尝试启动Namenode Manager和Resource Manager时抛出的所有异常
(3)检查已安装的Java版本
不兼容的Java版本可能引发该错误,请检查是否已安装最新的Java版本。
(4)检查Hadoop常见问题
根据您在答案更新中提供的错误,您可能会发现以下相关问题链接:
有关更多信息,您可以查看我在Medium上的文章,它可能会给您一些见解:
答案 1 :(得分:0)
[pdash @ localhost hadoop] $ export YARN_RESOURCEMANAGER_OPTS =“-add-modules = ALL-SYSTEM” [pdash @ localhost hadoop] $ export YARN_NODEMANAGER_OPTS =“-add-modules = ALL-SYSTEM”
我肯定会从apache JIRA日志中尝试过....谢谢PRAFUL
答案 2 :(得分:0)
我的问题是我使用java11与hadoop合作。
所以我要做的是
1.rm / Library / Java / *
2。从https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载Java8
3.install java8jdk和
4。在hadoop-env.sh中修复JAVA_HOME
5.stop-all.sh
6.start-dfs.sh
7.start-yarn.sh