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


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

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

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

  2. Если произошел сбой или ошибка для конкретного действия, выберите действие и посмотрите, не содержится ли в поле Error Message (Сообщение об ошибке) дополнительной информации об ошибке.

  3. Если известен URL-адрес действия, воспользуйтесь им для просмотра дополнительной информации о действии (например, журналов JobTracker).

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

JA009: Can't initialize cluster (Не удается инициализировать кластер)

Проблема

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

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

Причина

Адреса хранилища BLOB-объектов Azure, используемые в файле job.xml, не содержат контейнер хранилища или имя учетной записи хранения. Адрес хранилища BLOB-объектов должен иметь формат wasbs://containername@storageaccountname.blob.core.windows.net.

Разрешение

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


JA002: Oozie isn't allowed to impersonate <USER> (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.

Например, для примера из статьи Использование рабочих процессов 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>
    

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

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

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

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

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