Hadoop启动报错NoClassDefFoundError: javax/activation/DataSource解决方案

如果Hadoop完成正常启动后,我们用jps应该能看到以下5个进程:

NameNode、SecondaryNameNode、DataNode、NodeManager、ResourceManager

但是发现NodeManager、ResourceManager这两个进程没起来。

查看日志发现以下报错:

Caused by: java.lang.NoClassDefFoundError: javax/activation/DataSource
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource

有以下几种解决方案:

1、重新安装jdk,使用1.8版本的。

2、网上提供的方法:修改yarn-env.sh,添加以下内容(本人3.2.1版本的试了貌似没用):

export YARN_RESOURCEMANAGER_OPTS="--add-modules=ALL-SYSTEM"
export YARN_NODEMANAGER_OPTS="--add-modules=ALL-SYSTEM"

3、直接下载activation-1.1.1.jar到lib目录下,或者本地上传到${HADOOP_HOME}/share/hadoop/yarn/lib目录下后重新启动start-yarn.sh即可:

cd ${HADOOP_HOME}/share/hadoop/yarn/lib
wget https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar

你可能感兴趣的:(hadoop,大数据)