Поделиться через


Устранение неполадок рабочих нагрузок Apache Hadoop YARN с помощью Azure HDInsight

Ознакомьтесь с основными проблемами и их разрешением при работе с полезными данными Apache Hadoop YARN в Apache Ambari.

Как создать очередь YARN в кластере?

Способы устранения

Чтобы создать очередь YARN и выполнить балансировку выделения емкости для всех очередей, выполните следующие шаги с помощью Ambari.

В этом примере емкость двух имеющихся очередей (default и thriftsvr) изменяется с 50 % на 25 %, что позволяет обеспечить для новой очереди (spark) емкость 50 %.

Queue Capacity Максимальная вместимость
default 25% 50%
thrftsvr 25% 50%
spark; 50% 50%
  1. Выберите значок просмотров Ambari, а затем выберите шаблон сетки. После этого выберите диспетчер очереди YARN.

    Диспетчер очередей YARN на панели мониторинга Apache Ambari.

  2. Выберите очередь по умолчанию.

    Apache Ambari YARN выбирает очередь по умолчанию.

  3. Для очереди default измените емкость с 50 % на 25 %. Для очереди thriftsvr измените емкость на 25 %.

    Измените емкость на 25 % для очередей по умолчанию и thriftsvr.

  4. Нажмите кнопку Add Queue (Добавить очередь), чтобы создать очередь.

    Панель мониторинга Apache Ambari YARN добавляет очередь.

  5. Присвойте имя новой очереди.

    Очередь имен панели мониторинга Apache Ambari YARN.

  6. Оставьте значение емкости 50 %, а затем выберите кнопку Действия.

    Действие выбора Apache Ambari YARN.

  7. Выберите команду Save and Refresh Queues (Сохранить и обновить очереди).

    Выберите команду Save and Refresh Queues (Сохранить и обновить очереди).

После применения эти изменения сразу же появятся на пользовательском интерфейсе планировщика YARN.

Дополнительные материалы

Как скачать журналы YARN из кластера?

Способы устранения

  1. Подключитесь к кластеру HDInsight с помощью клиента Secure Shell (SSH). Дополнительные сведения см. в разделе "Дополнительные сведения".

  2. Чтобы получить список всех идентификаторов текущих выполняемых приложений YARN, выполните следующую команду:

    yarn top
    

    Идентификаторы перечислены в столбце APPLICATIONID. Вы можете скачать журналы из столбца APPLICATIONID.

    YARN top - 18:00:07, up 19d, 0:14, 0 active users, queue(s): root
    NodeManager(s): 4 total, 4 active, 0 unhealthy, 0 decommissioned, 0 lost, 0 rebooted
    Queue(s) Applications: 2 running, 10 submitted, 0 pending, 8 completed, 0 killed, 0 failed
    Queue(s) Mem(GB): 97 available, 3 allocated, 0 pending, 0 reserved
    Queue(s) VCores: 58 available, 2 allocated, 0 pending, 0 reserved
    Queue(s) Containers: 2 allocated, 0 pending, 0 reserved
    
                      APPLICATIONID USER             TYPE      QUEUE   #CONT  #RCONT  VCORES RVCORES     MEM    RMEM  VCORESECS    MEMSECS %PROGR       TIME NAME
     application_1490377567345_0007 hive            spark  thriftsvr       1       0       1       0      1G      0G    1628407    2442611  10.00   18:20:20 Thrift JDBC/ODBC Server
     application_1490377567345_0006 hive            spark  thriftsvr       1       0       1       0      1G      0G    1628430    2442645  10.00   18:20:20 Thrift JDBC/ODBC Server
    
  3. Чтобы скачать журналы для всех основных контейнеров приложения YARN, выполните следующую команду:

    yarn logs -applicationIdn logs -applicationId <application_id> -am ALL > amlogs.txt
    

    Будет создан файл журнала с именем amlogs.txt.

  4. Чтобы скачать журналы только для последнего основного контейнера приложения YARN, выполните следующую команду:

    yarn logs -applicationIdn logs -applicationId <application_id> -am -1 > latestamlogs.txt
    

    Будет создан файл журнала с именем latestamlogs.txt.

  5. Чтобы скачать журналы для первых двух основных контейнеров приложения YARN, выполните следующую команду:

    yarn logs -applicationIdn logs -applicationId <application_id> -am 1,2 > first2amlogs.txt
    

    Будет создан файл журнала с именем first2amlogs.txt.

  6. Чтобы скачать все журналы контейнеров приложения YARN, выполните следующую команду:

    yarn logs -applicationIdn logs -applicationId <application_id> > logs.txt
    

    Будет создан файл журнала с именем logs.txt.

  7. Чтобы скачать журнал контейнера YARN для определенного контейнера, выполните следующую команду:

    yarn logs -applicationIdn logs -applicationId <application_id> -containerId <container_id> > containerlogs.txt
    

    Будет создан файл журнала с именем containerlogs.txt.

Дополнительные материалы

Разделы справки проверьте сведения о диагностике приложений Yarn?

Диагностика в пользовательском интерфейсе Yarn — это функция, которая позволяет просматривать состояние и журналы приложений, работающих в Yarn. Диагностика помогает устранять неполадки и отладку приложений, а также отслеживать их производительность и использование ресурсов.

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

Снимок экрана: диагностика приложений Yarn.

Как устранить распространенные проблемы с YARN?

Пользовательский интерфейс Yarn не загружается

Если пользовательский интерфейс YARN не загружается или недоступен, и возвращается сообщение "Ошибка HTTP 502.3 — недопустимый шлюз", оно очень указывает, что служба Resource Manager неработоспособна. Чтобы решить эту проблему, выполните следующие действия.

  1. Перейдите к сводке YARN>пользовательского интерфейса>Ambari и проверьте, находится ли активный диспетчер ресурсов в состоянии "Запуск". Если нет, попробуйте устранить проблему, перезапустите неработоспособную или остановленную диспетчер ресурсов.
  2. Если шаг 1 не устраняет проблему, SSH активный головной узел Resource Manager и проверьте состояние сборки мусора с помощью jstat -gcutil <Resource Manager pid> 1000 100. Если вы видите увеличение FGCT значительно в течение нескольких секунд, оно указывает, что Resource Manager занят в полной сборке данных, и не может обрабатывать другие запросы.
  3. Откройте Пользовательский интерфейс Ambari>YARN>КОНФИГУРАЦИИ>Дополнительно и увеличьте значение Resource Manager java heap size.
  4. Перезапустите требуемые службы в пользовательском интерфейсе Ambari.

Оба диспетчера ресурсов в режиме ожидания

  1. Проверьте журнал Resource Manager, чтобы узнать, существует ли аналогичная ошибка.
Service RMActiveServices failed in state STARTED; cause: org.apache.hadoop.service.ServiceStateException: com.google.protobuf.InvalidProtocolBufferException: Could not obtain block: BP-452067264-10.0.0.16-1608006815288:blk_1074235266_494491 file=/yarn/node-labels/nodelabel.mirror
  1. Если такая ошибка существует, проверьте, находятся ли некоторые файлы в репликации или есть ли отсутствующие блоки в HDFS. Можно запустить hdfs fsck hdfs://mycluster/

  2. Выполните hdfs fsck hdfs://mycluster/ -delete слишком принудительное очистку HDFS и избавиться от резервной проблемы RM. Можно также запустить PatchYarnNodeLabel на одном из головных узлов, чтобы установить исправление для кластера.

Следующие шаги

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

  • Получите ответы специалистов Azure на сайте поддержки сообщества пользователей Azure.

  • Подпишитесь на @AzureSupport — официальный канал Microsoft Azure для улучшения качества взаимодействия с клиентами. Вступайте в сообщество Azure для получения нужных ресурсов: ответов, поддержки и советов экспертов.

  • Если вам нужна дополнительная помощь, отправьте запрос в службу поддержки на портале Azure. Выберите Поддержка в строке меню или откройте центр Справка и поддержка. Дополнительные сведения см. в статье Создание запроса на поддержку Azure. Доступ к управлению подписками и поддержкой выставления счетов уже включен в вашу подписку Microsoft Azure, а техническая поддержка предоставляется в рамках одного из планов Службы поддержки Azure.