Resolver Problemas do YARN do Apache Hadoop com o Azure HDInsight
Saiba mais sobre os principais problemas e suas resoluções ao trabalhar com cargas úteis do Apache Hadoop YARN no Apache Ambari.
Como faço para criar uma nova fila YARN em um cluster?
Passos de resolução
Use as etapas a seguir no Ambari para criar uma nova fila YARN e, em seguida, equilibre a alocação de capacidade entre todas as filas.
Neste exemplo, duas filas existentes (padrão e thriftsvr) são alteradas de 50% de capacidade para 25% de capacidade, o que dá à nova fila (faísca) 50% de capacidade.
Queue | Capacidade | Capacidade máxima |
---|---|---|
default | 25% | 50% |
THRFTSVR | 25% | 50% |
spark | 50% | 50% |
Selecione o ícone Ambari Views e, em seguida, selecione o padrão de grade. Em seguida, selecione YARN Queue Manager.
Selecione a fila padrão .
Para a fila padrão , altere a capacidade de 50% para 25%. Para a fila de brechós, altere a capacidade para 25%.
Para criar uma nova fila, selecione Adicionar fila.
Nomeie a nova fila.
Deixe os valores de capacidade em 50% e selecione o botão Ações .
Selecione Salvar e atualizar filas.
Essas alterações são visíveis imediatamente na interface do usuário do YARN Scheduler.
Leitura adicional
Como faço para baixar logs do YARN de um cluster?
Passos de resolução
Conecte-se ao cluster HDInsight usando um cliente Secure Shell (SSH). Para obter mais informações, consulte Leitura adicional.
Para listar todas as IDs de aplicativo dos aplicativos YARN que estão em execução no momento, execute o seguinte comando:
yarn top
Os IDs são listados na coluna APPLICATIONID . Você pode baixar logs da coluna 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
Para baixar logs de contêiner do YARN para todos os mestres de aplicativos, use o seguinte comando:
yarn logs -applicationIdn logs -applicationId <application_id> -am ALL > amlogs.txt
Este comando cria um arquivo de log chamado amlogs.txt.
Para baixar logs de contêiner do YARN apenas para o mestre de aplicativo mais recente, use o seguinte comando:
yarn logs -applicationIdn logs -applicationId <application_id> -am -1 > latestamlogs.txt
Este comando cria um arquivo de log chamado latestamlogs.txt.
Para baixar logs de contêiner do YARN para os dois primeiros mestres de aplicativos, use o seguinte comando:
yarn logs -applicationIdn logs -applicationId <application_id> -am 1,2 > first2amlogs.txt
Este comando cria um arquivo de log chamado first2amlogs.txt.
Para baixar todos os logs de contêiner do YARN, use o seguinte comando:
yarn logs -applicationIdn logs -applicationId <application_id> > logs.txt
Este comando cria um arquivo de log chamado logs.txt.
Para baixar o log de contêiner do YARN para um contêiner específico, use o seguinte comando:
yarn logs -applicationIdn logs -applicationId <application_id> -containerId <container_id> > containerlogs.txt
Este comando cria um arquivo de log chamado containerlogs.txt.
Leitura adicional
Como verifico as informações de diagnóstico de aplicativos do Yarn?
O diagnóstico na interface do usuário do Yarn é um recurso que permite visualizar o status e os logs de seus aplicativos em execução no Yarn. O diagnóstico pode ajudá-lo a solucionar problemas e depurar seus aplicativos, bem como monitorar seu desempenho e uso de recursos.
Para visualizar o diagnóstico de um aplicativo específico, você pode clicar no ID do aplicativo na lista de aplicativos. Na página de detalhes do aplicativo, você também pode ver uma lista de todas as tentativas que foram feitas para executar o aplicativo. Você pode clicar em qualquer tentativa para ver mais detalhes, como ID da tentativa, ID do contêiner, ID do nó, hora de início, hora de término e diagnóstico
Como soluciono problemas comuns do YARN?
A interface do usuário do Yarn não está carregando
Se a interface do usuário do YARN não estiver carregando ou estiver inacessível e retornar "HTTP Error 502.3 - Bad Gateway", isso indica que o serviço do Resource Manager não está íntegro. Para mitigar este problema, siga estes passos:
- Vá para Ambari UI>YARN>SUMMARY e verifique se apenas o Resource Manager ativo está no estado Iniciado. Caso contrário, tente atenuar reiniciando o Gerenciador de Recursos não íntegro ou interrompido.
- Se a etapa 1 não resolver o problema, SSH o nó principal ativo do Gerenciador de Recursos e verifique o status da coleta de lixo usando
jstat -gcutil <Resource Manager pid> 1000 100
. Se você vir o FGCT aumentar significativamente em apenas alguns segundos, isso indica que o Gerenciador de Recursos está ocupado no GC completo e não consegue processar as outras solicitações. - Aceda à IU do Ambari>YARN>CONFIGURAÇÕES>Avançadas e aumente
Resource Manager java heap size
. - Reinicie os serviços necessários na IU do Ambari.
Ambos os gestores de recursos estão bloqueados no modo de espera
- Verifique o log do Gerenciador de Recursos para ver se existe um erro semelhante.
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
Se o erro existir, verifique se alguns ficheiros estão em replicação ou se faltam blocos no HDFS. Pode executar
hdfs fsck hdfs://mycluster/
Execute
hdfs fsck hdfs://mycluster/ -delete
com muita força, limpe o HDFS e elimine o problema do RM em espera. Como alternativa, execute PatchYarnNodeLabel em um dos nós principais para corrigir o cluster.
Próximos passos
Se não viu o problema ou não conseguiu resolvê-lo, visite um dos seguintes canais para obter mais suporte:
Obtenha respostas de especialistas do Azure através do Suporte da Comunidade do Azure.
Conecte-se com o @AzureSupport - a conta oficial do Microsoft Azure para melhorar a experiência do cliente. Ligar a comunidade do Azure aos recursos certos: respostas, suporte e especialistas.
Se precisar de mais ajuda, você pode 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 suporte para Gestão de Subscrições e faturação está incluído na sua subscrição do Microsoft Azure e o Suporte Técnico é disponibilizado através de um dos Planos de Suporte do Azure.