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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章