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


Устранение неполадок Apache Oozie в Azure HDInsight

С помощью пользовательского интерфейса Apache Oozie можно просматривать журналы Oozie. Пользовательский интерфейс Oozie также содержит ссылки на журналы JobTracker для задач MapReduce, запущенных рабочим процессом. Шаблон устранения неполадок должен быть следующим:

  1. Посмотреть задание в веб-интерфейсе Oozie.

  2. Если для определенного действия возникает ошибка или сбой, выберите действие, чтобы узнать, предоставляет ли поле сообщения об ошибке дополнительные сведения о сбое.

  3. Если URL-адрес доступен, используйте его для просмотра дополнительных сведений, таких как журналы JobTracker для данного действия.

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

JA009: не удается инициализировать кластер

Проблема

Состояние задания изменяется на SUSPENDED. Сведения о задании RunHiveScript отображают состояние START_MANUAL. При выборе действия отображается следующее сообщение об ошибке:

JA009: Cannot initialize Cluster. Please check your configuration for map

Причина

Адреса хранилища BLOB-объектов Azure, используемые в файлеjob.xml , не содержат имени контейнера хранилища или учетной записи хранения. Формат адреса Blob-хранилища должен быть wasbs://[email protected].

Резолюция

Измените адреса хранилища объектов Blob, которые использует задание.


JA002: Oozie не разрешено выполнять действия от имени <пользователя>

Проблема

Состояние задания изменяется на SUSPENDED. Сведения о задании RunHiveScript отображают состояние как START_MANUAL. Если выбрать действие, отобразится следующее сообщение об ошибке:

JA002: User: oozie is not allowed to impersonate <USER>

Причина

Текущие параметры разрешений не позволяют Oozie имитировать указанную учетную запись пользователя.

Резолюция

Oozie может олицетворять пользователей в группе users. Используйте groups USERNAME, чтобы увидеть группы, к которым принадлежит учетная запись пользователя. Если пользователь не является членом users группы, используйте следующую команду, чтобы добавить пользователя в группу:

sudo adduser USERNAME users

Замечание

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


Ошибка средства запуска (Sqoop)

Проблема

Статус работы изменяется на KILLED. Сведения о задании RunSqoopExport показывают состояние как ERROR. Если выбрать действие, отобразится следующее сообщение об ошибке:

Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1]

Причина

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

Резолюция

При использовании Sqoop из задания Oozie необходимо включить драйвер базы данных вместе с другими ресурсами, такими как workflow.xml, которые использует задание. Кроме того, обратитесь к архиву, который содержит драйвер базы данных из <sqoop>...</sqoop> раздела workflow.xml.

Например, для примера задания из рабочих процессов Use Hadoop Oozie можно выполнить следующие действия:

  1. Скопируйте файл в mssql-jdbc-7.0.0.jre8.jar каталог /tutorials/useoozie :

    hdfs dfs -put /usr/share/java/sqljdbc_7.0/enu/mssql-jdbc-7.0.0.jre8.jar /tutorials/useoozie/mssql-jdbc-7.0.0.jre8.jar
    
  2. Измените workflow.xml, чтобы добавить следующий XML-код в новой строке выше </sqoop>:

    <archive>mssql-jdbc-7.0.0.jre8.jar</archive>
    

Пользовательский интерфейс Oozie — права доступа пользователей по умолчанию

Проблема

Для созданных кластеров HDInsight Oozie пользователи по умолчанию имеют доступ на чтение ко всем заданиям, доступ на запись к собственным заданиям и могут вносить изменения в задания в зависимости от списков управления доступом. Пользователи администратора имеют более широкие разрешения, включая доступ на запись ко всем заданиям и операциям. В кластерах Oozie, если конфигурация безопасности отключена, все пользователи рассматриваются как администраторы, а в кластерах HDInsight Oozie конфигурация безопасности по умолчанию отключена.

Причина

Если безопасность отключена, все пользователи рассматриваются как пользователи администратора, которые являются стандартным поведением в Oozie и не относятся к платформе HDInsight. Ссылка на соответствующую информацию доступна на следующей странице Oozie — публичная документация по аутентификации пользователей

Резолюция

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

Задайте это свойство oozie.service.AuthorizationService.security.enabled=true в ambari

Пользовательский интерфейс Ambari —> службы> — Oozie> — конфигурации —>> расширенный — поиск и установка значения true —> перезапуск всех затронутых

Пользователи администратора определяются из списка групп администраторов, указанных в свойстве oozie.service.AuthorizationService.admin.groups. Используйте запятые для разделения нескольких групп. Пробелы, вкладки и символы ВВОД удаляются.

Дальнейшие шаги

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

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

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

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