Я пытаюсь запустить Had oop (HDFS и YARN) в многоузловом кластере (2 узла), но диспетчер ресурсов не запускается на подчиненном узле. По сути, это не удается из-за исключения ниже - не удается найти класс с именем javax.activation.DataSource
(который присутствует в Java 8).
Версии, с которыми я пробовал: Было oop 3.1.3 / Java 1.8.0_u251 и 1.8.0_u152 Имело oop 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
************************************************************/
Кроме того, на удивление диспетчер ресурсов отлично работает на главном узле (имеет ту же версию Had oop и Java, что и подчиненный узел).
Пожалуйста, помогите. Спасибо.
Примечание - HDFS работает нормально. Только YARN имеет проблемы.
UPDATE : есть другие вопросы StackOverflow, в которых говорится о том же исключении, но они выполняются на Java 9 или выше. Java 8 не должно иметь этой проблемы.