如果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
wge