Процессы NodeManager и ResourceManager не запускаются - PullRequest
0 голосов
/ 03 марта 2019

Я настраиваю кластер с несколькими узлами, и мои процессы NodeManager и ResourceManager по какой-то причине не запускаются, и я не могу понять, почему.Когда я запускаю команду jps, я вижу только процессы NameNode и SecondaryNameNode и JPS.В результате моя работа в MapReduce не будет работать.Это моя конфигурация

yarn-site.xml - через NameNode и DataNodes

<configuration>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>ec2PathToMyNameNode.compute-1.amazonaws.com</value>
  </property>
</configuration>

И мой файл hosts это на NameNode:

nameNodeIP nameNodePublicDNS.compute-1.amazonaws.com
dataNode1IP dataNode1PublicDNS.compute-1.amazonaws.com
dataNode2IP dataNode2PublicDNS.compute-1.amazonaws.com
dataNode3IP dataNode3PublicDNS.compute-1.amazonaws.com
127.0.0.1 localhost

Когда язапустите мое задание MapReduce, оно говорит, что не может подключиться на 8032.Я использую Hadoop 3.1.2

Редактировать:

Я проверил журналы и обнаружил следующее исключение:

Причина:java.lang.ClassNotFoundException: javax.activation.DataSource в java.base / jdk.internal.loader.BuiltinClassLoader.loadClass (BuiltinClassLoader.java:583) в java.base / jdk.internal.loader.ClassLoadersLlassClassLoaders $ AppClass.java: 190) в java.base / java.lang.ClassLoader.loadClass (ClassLoader.java:499) ... еще 83

Ошибка при введении конструктора, java.lang.NoClassDefFoundError: javax / активации / DataSourceв org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver. (JAXBContextResolver.java:41) в org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebApp.setup, в то время как:54 :54поиск org.apache.hadoop.yarn.server.resourcemanager.webapp.JAXBContextResolver

1 ошибка в com.google.inject.internal.InjectorImpl $ 2.get (InjectorImpl.java:1025) в com.google.inject.internal.InjectorImpl.getInstance (InjectorImpl.java:1051) на com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory $ GuiceInstantiatedComponentProvider.getInstance (GuiceComponentProviderFactory.java:345)

Ответы [ 2 ]

0 голосов
/ 30 июля 2019

[pdash @ localhost hadoop] $ export YARN_RESOURCEMANAGER_OPTS = "- add-modules = ALL-SYSTEM" [pdash @ localhost hadoop] $ export YARN_NODEMANAGER_OPTS = "- add-modules = ALL-SYSTEM"

Это будет работать наверняка, я пытался из журнала Apache JIRA .... Спасибо PRAFUL

0 голосов
/ 03 марта 2019

Попытка выяснить проблему

(1) Start-dfs.sh vs Start-all.sh

Убедитесь, что вы используете команду Start-all.shкогда вы пытаетесь запустить hadoop, потому что Start-dfs.sh запустит только namenode и datanodes

(2) Проверьте журналы Hadoop

Проверьте глобальное HADOOP_LOG_DIRзначение переменной, чтобы получить каталог журнала, поскольку он будет включать все исключения, возникающие при попытке запустить диспетчер Namenode и менеджер ресурсов

(3) Проверить наличие установленной версии Java

Ошибка может быть вызвана несовместимой версией Java, проверьте, что вы установили последнюю версию Java.

(4) Проверка общих проблем Hadoop

На основании ошибки, указанной в ответеВ обновлении вы можете найти эти ссылки по теме:


Дополнительная информация

Для получения дополнительной информации вы можете проверить мою статью о средних, она может дать вам некоторые идеи:

...