2017-10-12 14 views
0

Lors de l'exécution start-all.sh mon slave1 et slave2 ne peut pas trouver NodeManager dans JPSHadoop NodeManager ne démarre pas, l'esclave ne satisfait pas les allocations minimales

travail sur Ubuntu 16.04 avec VM VirtualBox maître

[email protected]:~$ jps 
15920 Jps 
15505 SecondaryNameNode 
15659 ResourceManager 
15293 NameNode 

slave1

[email protected]:~$ jps 
7587 DataNode 
7945 Jps 

slave2

[email protected]:~$ jps 
7138 DataNode 
7374 Jps 

ceci est mon NodeManager-slave1.log

2017-10-12 17: 26: 59662 ERREUR org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Erreur inattendue à partir NodeStatusUpdater org.apache. hadoop.yarn.exceptions.YarnRuntimeException: Recieved signal d'arrêt de resourceManager, enregistrement des NodeManager a échoué, message de ResourceManager: NodeManager de slave1 ne satisfait pas les allocations minimales, envoi signal d'arrêt à la NodeManager. à org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.registerWithRM (NodeStatusUpdaterImpl.java:278) à org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.serviceStart (NodeStatusUpdaterImpl.java:197) à org.apache.hadoop.service.AbstractService.start (AbstractService.java:193) sur org.apache.hadoop.service.CompositeService.serviceStart (CompositeService.java:120) sur org.apache.hadoop.yarn.server. nodemanager.NodeManager.serviceStart (NodeManager.java:272) à org.apache.hadoop.service.AbstractService.start (AbstractService.java:193) à org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager (NodeManager.java:496) à org.apache.hadoop.yarn.server.nodemanager.NodeManager.main (NodeManager.j ava: 543)

2017-10-12 17: 26: 59.710 FATAL org.apache.hadoop.yarn.server.nodemanager.NodeManager: Erreur lors du démarrage NodeManager org.apache.hadoop.yarn.exceptions.YarnRuntimeException: org .apache.hadoop.yarn.exceptions.YarnRuntimeException: Recieved signal d'arrêt de resourceManager, enregistrement des NodeManager a échoué, message de ResourceManager: NodeManager de slave1 ne satisfait pas les allocations minimales, envoi signal d'arrêt à la NodeManager. à org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.serviceStart (NodeStatusUpdaterImpl.java:203) à org.apache.hadoop.service.AbstractService.start (AbstractService.java:193) à org.apache. hadoop.service.CompositeService.serviceStart (CompositeService.java:120) à org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceStart (NodeManager.java:272) à org.apache.hadoop.service.AbstractService. début (AbstractService.java:193) à org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager (NodeManager.java:496) à org.apache.hadoop.yarn.server.nodemanager.NodeManager.main (NodeManager.java:543) causés par: org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Recieved signal d'arrêt de Resourcem anager, Echec de l'enregistrement de NodeManager, Message de ResourceManager: NodeManager de slave1 ne satisfait pas les allocations minimales, envoyant le signal SHUTDOWN au NodeManager. à org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.registerWithRM (NodeStatusUpdaterImpl.java:278) à org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.serviceStart (NodeStatusUpdaterImpl.java:197) . .. 6 plus

J'ai trouvé des informations relatives.Ils me disent d'ajouter

<property> 
<name>yarn.nodemanager.resource.memory-mb</name> 
<value>1024</value> 
</property> 

mais cela ne fonctionne toujours pas.

Donc, je mis en valeur 4096, le travail peut toujours pas

voici mon fils-site.xml ci-dessous

<configuration> 
<property> 
<name>yarn.resourcemanager.hostname</name> 
<value>master</value> 
</property> 

<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.address</name> 
<value>master:8032</value> 
</property> 

<property> 
<name>yarn.resourcemanager.scheduler.address</name> 
<value>master:8030</value> 
</property> 

<property> 
<name>yarn.resourcemanager.resource-tracker.address</name> 
<value>master:8031</value> 
</property> 

<property> 
<name>yarn.resourcemanager.admin.address</name> 
<value>master:8033</value> 
</property> 

<property> 
<name>yarn.resourcemanager.webapp.address</name> 
<value>master:8088</value> 
</property> 

<property> 
<name>yarn.nodemanager.resource.memory-mb</name> 
<value>4096</value> 
</property> 

<property> 
<name>yarn.nodemanager.local-dirs</name> 
<value>/home/yunchi/yarn</value> 
<final>true</final> 
</property> 


<property> 
<name>yarn.scheduler.minimum-allocation-mb</name> 
<value>1</value> 
</property> 
<property> 
<name>yarn.scheduler.minimum-allocation-vcores</name> 
<value>1</value> 
</property> 
+0

J'ai découvert que nodemanager apparaîtra parfois mais peu de secondes il disparaîtra ... –

Répondre

0

Peut-être que votre machine virtuelle ne dispose pas de ressources suffisantes. Vous ne devriez donc pas augmenter la valeur du paramètre yarn.nodemanager.resource.memory-mb, car il n'y a pas de ressources. Essayez de définir une valeur plus petite pour ce paramètre, par exemple 256 Mo.

Cochez cette case post.

+0

J'ai vu qu'un livre nommé Hadoop: Le Guide définitif dit que yarn.nodemanager.resource.memory-mb ne peut pas être plus petit que 1024 –

+0

Oui, vous avez raison, ça ne devrait pas être plus petit. Mais que faire si vous n'avez pas assez de ressources? Si vous ne voulez pas définir une valeur inférieure à 1024 Mo, vous devez donner plus de ressources à votre machine virtuelle. Si vous ne pouvez pas le faire, vous devez définir une valeur plus petite pour ce paramètre. Si ce n'est pas votre environnement de production, mais plutôt sandbox - n'ayez pas peur de définir une valeur plus petite. Au pire, ça ne marchera pas. –