Solucionar problemas do Apache Hive usando o Azure HDInsight

Saiba mais sobre as principais perguntas e suas resoluções ao trabalhar com cargas de Apache Hive no Apache Ambari.

Como fazer para exportar um metastore do Hive e importá-lo em outro cluster?

Etapas de resolução

  1. Conecte-se ao cluster HDInsight com um cliente SSH (Secure Shell). Para saber mais, veja Leituras adicionais.

  2. Execute o seguinte comando no cluster do HDInsight do qual você deseja exportar o metastore:

    for d in `hive -e "show databases"`; do echo "create database $d; use $d;" >> alltables.sql ; for t in `hive --database $d -e "show tables"` ; do ddl=`hive --database $d -e "show create table $t"`; echo "$ddl ;" >> alltables.sql ; echo "$ddl" | grep -q "PARTITIONED\s*BY" && echo "MSCK REPAIR TABLE $t ;" >> alltables.sql ; done; done
    

    Este comando gera um arquivo chamado allatables.sql.

  3. Copie o arquivo alltables.sql para o novo cluster do HDInsight e execute o seguinte comando:

    hive -f alltables.sql
    

O código nas etapas de resolução supõe que os caminhos de dados no novo cluster sejam iguais aos caminhos de dados no cluster antigo. Se os caminhos de dados forem diferentes, faça a edição manual do arquivo alltables.sql gerado para refletir as alterações.

Leituras adicionais

Como fazer para localizar logs do Hive em um cluster?

Etapas de resolução

  1. Conectar-se ao cluster HDInsight usando SSH. Para saber mais, veja Leituras adicionais.

  2. Para exibir logs de cliente do Hive, use o seguinte comando:

    /tmp/<username>/hive.log
    
  3. Para exibir logs de metastore do Hive, use o seguinte comando:

    /var/log/hive/hivemetastore.log
    
  4. Para ver os logs de servidor do Hive, use este comando:

    /var/log/hive/hiveserver2.log
    

Leituras adicionais

Como fazer para inicializar o shell do Hive com configurações específicas em um cluster?

Etapas de resolução

  1. Especifique um par chave-valor de configuração quando iniciar o shell do Hive. Para saber mais, veja Leituras adicionais.

    hive -hiveconf a=b
    
  2. Para listar todas as configurações efetivas no shell de Hive, use o seguinte comando:

    hive> set;
    

    Por exemplo, use o seguinte comando para iniciar o shell do Hive com o registro em log de depuração habilitado no console:

    hive -hiveconf hive.root.logger=ALL,console
    

Leituras adicionais

Como fazer para analisar dados de DAG do Apache Tez em um caminho crítico do cluster?

Etapas de resolução

  1. Para analisar um DAG (Grafo Direcionado Acíclico) do Apache Tez em um grafo crítico do cluster, conecte-se ao cluster do HDInsight usando SSH. Para saber mais, veja Leituras adicionais.

  2. No prompt de comando, execute o comando a seguir:

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip> 
    
  3. Para listar outros analisadores que podem ser usados para analisar o DAG do Tez, use o seguinte comando:

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar
    

    Você precisa fornecer um programa de exemplo como o primeiro argumento.

    Nomes de programa válidos incluem:

    • ContainerReuseAnalyzer: imprimir detalhes de reutilização do contêiner em um DAG
    • CriticalPath: localizar o caminho crítico de um DAG
    • LocalityAnalyzer: imprimir detalhes de localidade em um DAG
    • ShuffleTimeAnalyzer: analisar os detalhes de tempo de ordem aleatória em um DAG
    • SkewAnalyzer: analisar os detalhes de distorção em um DAG
    • SlowNodeAnalyzer: imprimir detalhes do nó em um DAG
    • SlowTaskIdentifier: imprimir detalhes de tarefa lenta em um DAG
    • SlowestVertexAnalyzer: imprimir detalhes do vértice mais lento em um DAG
    • SpillAnalyzer: imprimir detalhes de despejo em um DAG
    • TaskConcurrencyAnalyzer: imprimir os detalhes de simultaneidade de tarefa em um DAG
    • VertexLevelCriticalPathAnalyzer: encontrar o caminho crítico no nível do vértice em um DAG

Leituras adicionais

Como fazer para baixar dados de DAG do Tez de um cluster?

Etapas de resolução

Há duas maneiras de coletar os dados de DAG do Tez:

  • Na linha de comando:

    Conectar-se ao cluster HDInsight usando SSH. No prompt de comando, execute o seguinte comando:

    hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
    
  • Use o modo de exibição Tez do Ambari:

    1. Vá para o Ambari.
    2. Vá para o modo de exibição do Tez (sob o ícone de blocos no canto superior direito).
    3. Selecione o DAG que você deseja exibir.
    4. Selecione Baixar dados.

Leituras adicionais

Conectar-se a um cluster HDInsight usando SSH

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.