2016-07-27 33 views
1

Vielen Dank im Voraus für eine etwaige Hilfe. Ich führe einen Garn Job mit bereitgestellten Hadoop Beispiel. Der Job wird nie abgeschlossen und bleibt im Status "ACCEPTED". Wenn man sich ansieht, was ausgedruckt wird, scheint es so, als ob der Job auf die Fertigstellung wartet - und der Kunde sucht kontinuierlich nach dem Jobstatus.Garn Job geht nicht vorbei "Zustand: AKZEPTIERT"

Beispiel Job (von Hadoop 2.6.0):

spark-submit --master yarn-client --driver-memory 4g --executor-memory 2g --executor-cores 4 --class org.apache.spark.examples.SparkPi /home/john/spark/spark-1.6.1-bin-hadoop2.6/lib/spark-examples-1.6.1-hadoop2.6.0.jar 100 

Ausgang:

.... 
.... 
disabled; ui acls disabled; users with view permissions: Set(john); users with modify permissions: Set(jogn) 
16/07/27 17:36:09 INFO yarn.Client: Submitting application 1 to ResourceManager 
16/07/27 17:36:09 INFO impl.YarnClientImpl: Submitted application application_1469665943738_0001 
16/07/27 17:36:10 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:10 INFO yarn.Client: 
     client token: N/A 
     diagnostics: N/A 
     ApplicationMaster host: N/A 
     ApplicationMaster RPC port: -1 
     queue: default 
     start time: 1469666169333 
     final status: UNDEFINED 
     tracking URL: http://cpt-bdx021:8088/proxy/application_1469665943738_0001/ 
     user: john 
16/07/27 17:36:11 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:12 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:13 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:14 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:15 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:16 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:17 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:18 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:19 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:20 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:21 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
16/07/27 17:36:22 INFO yarn.Client: Application report for application_1469665943738_0001 (state: ACCEPTED) 
........... 
........... 
........... 

UPDATE (Sieht aus wie Job Resourcemanager eingereicht wurde - daher " AKZEPTIERT ", aber ResourceManager" sieht "keine Knoten oder Hadoop-Mitarbeiter, um tatsächlich einen Job zu erhalten":

$ jps 
jps 
12404 Jps 
12211 NameNode 
12315 DataNode 
11743 ApplicationHistoryServer 
11876 ResourceManager 
11542 NodeManager 

$ yarn node -list 
     16/07/27 23:07:53 INFO client.RMProxy: Connecting to ResourceManager at /192.168.0.5.55:8032 
     Total Nodes:0 
       Node-Id    Node-State Node-Http-Address  Number-of-Running-Containers 

UPDATE (2): Ich bin mit dem Standard-etc/container-executor.cfg file:

yarn.nodemanager.linux-container-executor.group=#configured value of yarn.nodemanager.linux-container-executor.group 
banned.users=#comma separated list of users who can not run applications 
min.user.id=1000#Prevent other super-users 
allowed.system.users=##comma separated list of system users who CAN run applications 

Auch, wie ich Seite, möchte ich erwähnen, dass ich nicht über ein hadoop Benutzer oder hadoop` Benutzer Gruppe. Ich verwende das Standardkonto, mit dem ich mich am System angemeldet habe. Wenn das zählt. Vielen Dank!


UPDATE (3):

org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at 192.168.0.5.55:8031 
2016-07-28 00:23:26,083 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Sending out 0 NM container statuses: [] 
2016-07-28 00:23:26,087 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Registering with RM using containers :[] 
2016-07-28 00:23:26,233 INFO org.apache.hadoop.yarn.server.nodemanager.security.NMContainerTokenSecretManager: Rolling master-key for container-tokens, got key with id -160570002 
2016-07-28 00:23:26,236 INFO org.apache.hadoop.yarn.server.nodemanager.security.NMTokenSecretManagerInNM: Rolling master-key for container-tokens, got key with id -1876215653 
2016-07-28 00:23:26,237 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Registered with ResourceManager as 192.168.0.5.55:53034 with total resource of <memory:8192, vCores:8> 
2016-07-28 00:23:26,237 INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Notifying ContainerManager to unblock new container-requests 
+0

laufen Sie auf Sandbox? Öffnen Sie den Yarn Resource Manager und überprüfen Sie den Auftragsstatus und die Anzahl der verfügbaren Container zum Ausführen? U muss möglicherweise den Java-Speicher erhöhen. – yoga

+0

Ich glaube, ich habe das Problem eingeschränkt, bis der ReourceManager keine Knoten mehr findet. "Garnknoten-Liste" zeigt "0 Gesamtknoten". Ich habe die obige Frage aktualisiert. – nikk

+0

@ yoga, Anzahl der Container zeigt "0". – nikk

Antwort

0

Grund NodeManager einzuloggen, warum Ihre Arbeit nie fertig ist erhalten, weil es nie zu erklären, geht RUNNING (von Zustand ANGENOMMEN). Es gibt einen Scheduler, der darauf achtet, welche Apps Ressourcen bekommen und damit RUNNING zu sagen.

Es gibt zwei Scheduler: Fair-Scheduler und Capacity-Scheduler. Sie finden Details in der Hadoop Yarn Dokumentation. Wenn Sie mir die Dateien gamersite.xml, capacity-scheduler.xml und fair-scheduler.xml zur Verfügung stellen könnten, würde ich Ihnen besser helfen :).

0

Die häufigste Möglichkeit ist, dass die Warteschlange, an die Sie Ihren Auftrag senden, nicht über die verfügbaren Ressourcen verfügt, die Sie anfordern.

Typische Probleme können sein:

  • Ressourcenbedarf (Speicher und/oder Kerne). Sie fragen nach mehr Speicher/Kernen, die zugewiesen werden können. Dies liegt möglicherweise an einer nahezu vollständigen Verwendung des Clusters oder daran, dass Ihre Einstellungen nicht konsistent sind. Weitere Details unter this page.

  • Speicherplatz. Überprüfen Sie den Speicherplatz des Knotens. Es gibt eine Statusprüfung, die Sie möglicherweise daran hindert, eine Anwendung auszuführen.

    yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage 
    
  • In einer Multi-Tenant/Multiqueue-Umgebung, wenn es hart Ressourcengrenzen pro-Warteschlange sind, können Sie Ihre Anwendung diejenigen treffen werden. Möglicherweise möchten Sie Ihre Einstellungen erhöhen oder in einer anderen Warteschlange mit mehr Ressourcen testen.