当我尝试创建单个集群hadoop环境时,我无法加载节点管理器或资源管理器。从日志中我得到错误:
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 83 more
我从jdk8对javax.activation的依赖中收集到这一信息。我能找到的唯一在线解决方案是在usr/local/cell/hadoop/{version}/libexec/etc/hadoop文件夹的yarn-env.sh文件中更改以下两行:
export YARN_RESOURCEMANAGER_OPTS="--add-modules=ALL-SYSTEM"
``` `export YARN_NODEMANAGER_OPTS="--add-modules=ALL-SYSTEM"` 这不起作用,我继续在日志中得到相同的错误时,试图运行Yarn管理器。有人能建议如何摆脱这种依赖吗?
环境:
mac os catalina 10.15.2版
java(tm)se运行时环境(build 13.0.1+9)
java hotspot(tm)64位服务器虚拟机(内部版本13.0.1+9,混合模式,共享)
apache hadoop 2.10.0版
1条答案
按热度按时间xxls0lw81#
您可以将hadoop-env.sh中的javahome变量设置为java8安装的位置,然后就可以开始了
或者,使用docker或预构建的quickstart虚拟机,如cloudera的虚拟机