0

我正在尝试在多节点集群(2 个节点)中运行 Hadoop(HDFS 和 YARN),但资源管理器无法在从节点上启动。基本上,由于以下异常而失败 - 无法找到名为的类javax.activation.DataSource(Java 8 中存在)。

我试过的版本:Hadoop 3.1.3/Java 1.8.0_u251 和 1.8.0_u152 Hadoop 3.2.1/Java 1.8.0_u251

以上所有组合都给出相同的错误。

        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
        ... 52 more
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 86 more
2020-05-08 07:31:07,375 INFO org.apache.hadoop.yarn.server.nodemanager.NodeManager: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NodeManager at rajesh2-VirtualBox/127.0.1.1
************************************************************/

此外,令人惊讶的是,资源管理器在主节点上运行良好(与从节点具有相同的 Hadoop 和 Java 版本)。

请帮忙。谢谢。

注意 - HDFS 运行良好。只有 YARN 有问题。

更新:还有其他 StackOverflow 问题讨论了相同的异常,但它们在 Java 9 或更高版本上运行。Java 8 不应该有这个问题。

4

0 回答 0