2016-07-27 5 views
1

Заранее благодарю за любую помощь. Я запускаю пряжу, используя предоставленный пример Hadoop. Работа никогда не завершается и остается в состоянии «ПРИНЯТО». Глядя на то, что распечатывается, кажется, что работа ждет завершения - и клиент постоянно исследует статус задания.Пряжа Работа не проходит мимо "state: ACCEPTED"

Пример задания (от 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 

Выход:

.... 
.... 
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 (Похоже, работа была представлена ​​в ResourceManager - отсюда " ACCEPTED ", но ResourceManager« не видит »ни узлов, ни рабочих-хаупов, чтобы фактически получить задание):

$ 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): Я использую по умолчанию 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 

Кроме того, как я стороне, я хочу отметить, что я не имею hadoop пользователя или hadoop` пользователя группа. Я использую учетную запись по умолчанию, с которой я вошел в систему. Если это имеет значение. Благодаря!


UPDATE (3): NodeManager войти

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

Вы работаете на песочнице? Откройте менеджер ресурсов пряжи и проверьте статус задания и количество контейнеров, доступных для запуска? U, возможно, потребуется увеличить java-память. – yoga

+0

Я думаю, что я сузил проблему до того, как ReourceManager не смог найти ни одного узла. 'yarn node -list' показывает' 0 всего узлов'. Я обновил вопрос выше. – nikk

+0

@ йога, количество контейнеров показывает '0'. – nikk

ответ

0

Причина, почему ваша работа никогда не получить завершена, потому что она никогда не переходит в состояние RUNNING (от состояния ПРИНИМАЮТСЯ). Существует планировщик, который занимается планированием того, какие приложения получат ресурсы и тем самым будет указывать RUNNING.

Доступны два планировщика: fair-scheduler и планировщик мощности. Вы можете найти информацию в документации Hadoop Yarn. Если бы вы могли предоставить файлы yarn-site.xml, capacity-scheduler.xml и fair-scheduler.xml, я бы дал вам лучшую помощь :).

0

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

Типичные проблемы могут быть:

  • Потребности в ресурсах (память и/или ядер). Вы запрашиваете больше памяти/ядер, которые он может выделить. Это может быть из-за почти полного использования кластера или что ваши настройки несовместимы. Подробнее о this page.

  • Дисковое пространство. Проверьте пространство узла, есть проверка работоспособности, которая может помешать вам запускать приложение.

    yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage 
    
  • В/multiqueue Многоквартирной среды, если есть жесткие ограничения на ресурсы за очереди, ваше приложение может быть ударяя их. Вы можете увеличить свои настройки или протестировать в другой очереди с большим количеством ресурсов.

Смежные вопросы