Solucionar problemas do Apache Oozie no Azure HDInsight

Com a interface do usuário do Apache Oozie, você pode exibir logs do Oozie. A IU do Oozie também contém links para os logs de JobTracker das tarefas de MapReduce que foram iniciadas pelo fluxo de trabalho. O padrão para solução de problemas deve ser:

  1. Exiba o trabalho na interface do usuário da Web do Oozie.

  2. Se houver um erro ou falha de uma ação específica, selecione a ação para ver se o campo Mensagem de Erro fornece mais informações sobre a falha.

  3. Se estiver disponível, use a URL da ação para exibir mais detalhes, como logs do JobTracker, sobre ela.

A seguir estão erros específicos que podem ser encontrados e como resolvê-los.

JA009: Não é possível inicializar o cluster

Problema

O status do trabalho é alterado para SUSPENSO. Os detalhes do trabalho mostram o status de RunHiveScript como START_MANUAL. Selecionar a ação exibirá a seguinte mensagem de erro:

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

Causa

Os endereços do Armazenamento de Blobs do Azure usados no arquivo job.xml não contêm o contêiner de armazenamento ou o nome da conta de armazenamento. O formato de endereço do armazenamento de blobs deve ser wasbs://containername@storageaccountname.blob.core.windows.net.

Resolução

Altere os endereços de armazenamento de blobs que o trabalho usa.


JA002: Oozie não tem permissão para representar <USER>

Problema

O status do trabalho é alterado para SUSPENSO. Os detalhes do trabalho mostram o status de RunHiveScript como START_MANUAL. Se você selecionar a ação, a seguinte mensagem de erro será exibida:

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

Causa

As configurações de permissão atuais não permitem ao Oozie representar a conta de usuário especificada.

Resolução

O Oozie pode representar os usuários no grupo users . Use o groups USERNAME para ver os grupos do qual a conta de usuário é membro. Se o usuário não for membro do grupo users , use o seguinte comando para adicionar o usuário ao grupo:

sudo adduser USERNAME users

Observação

Pode levar vários minutos antes de o HDInsight reconhecer que o usuário foi adicionado ao grupo.


ERRO do Iniciador (Sqoop)

Problema

O status do trabalho é alterado para ENCERRADO. Os detalhes do trabalho mostram o status RunSqoopExport como ERRO. Se você selecionar a ação, a seguinte mensagem de erro será exibida:

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

Causa

O Sqoop não conseguiu carregar o driver do banco de dados necessário para acessar o banco de dados.

Resolução

Ao usar o Sqoop em um trabalho do Oozie, você deve incluir o driver de banco de dados com os outros recursos, como o workflow.xml, usados pelo trabalho. Além disso, referencie o arquivo morto que contém o driver de banco de dados na seção <sqoop>...</sqoop> do workflow.xml.

Por exemplo, para o exemplo de trabalho de Usar fluxos de trabalho do Hadoop no Oozie, você usaria as seguintes etapas:

  1. Copie o arquivo mssql-jdbc-7.0.0.jre8.jar para o diretório /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. Modifique o workflow.xml para adicionar o seguinte XML a uma nova linha acima </sqoop>:

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

Próximas etapas

Se você não encontrou seu problema ou não conseguiu resolver seu problema, visite um dos seguintes canais para obter mais suporte:

  • Obtenha respostas de especialistas do Azure por meio do Suporte da Comunidade do Azure.

  • Conecte-se com @AzureSupport – a conta oficial do Microsoft Azure para aprimorar a experiência do cliente. Como se conectar à comunidade do Azure para os recursos certos: respostas, suporte e especialistas.

  • Se precisar de mais ajuda, poderá enviar uma solicitação de suporte do portal do Azure. Selecione Suporte na barra de menus ou abra o hub Ajuda + suporte. Para obter informações mais detalhadas, consulte Como criar uma solicitação de Suporte do Azure. O acesso ao Gerenciamento de assinaturas e ao suporte de cobrança está incluído na sua assinatura do Microsoft Azure, e o suporte técnico é fornecido por meio de um dos Planos de suporte do Azure.