Visualizar interfaces do usuário de aplicações persistentes - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Visualizar interfaces do usuário de aplicações persistentes

O Amazon EMR versão 5.25.0, você pode se conectar aos detalhes da aplicação servidor de histórico do Spark persistente hospedado fora do cluster usando a página Resumo do cluster ou a guia Interfaces de usuário da aplicação no console. A IU do Tez e as interfaces de aplicações persistentes do servidor de linha de tempo do YARN estão disponíveis a partir do Amazon EMR versão 5.30.1. O acesso com um clique, por meio de um link, ao histórico de aplicativos persistente fornece os seguintes benefícios:

  • Você pode analisar e solucionar problemas de trabalhos ativos e histórico de trabalhos sem configurar um proxy da Web por meio de uma conexão SSH.

  • Você pode acessar o histórico de aplicativos e os arquivos de log relevantes para clusters ativos e encerrados. Os logs ficam disponíveis por 30 dias após o aplicativo ser encerrado.

Navegue até os detalhes do seu cluster no console e selecione a guia Aplicações. Selecione a interface do usuário da aplicação que você deseja após a inicialização do cluster. A interface do usuário da aplicação abre em uma nova guia do navegador. Para obter mais informações, consulte Monitoring and instrumentation.

Você pode exibir logs de contêiner do YARN por meio dos links no servidor de histórico do Spark, no servidor de linha de tempo do YARN e na interface do usuário do Tez.

nota

Para acessar os logs de contêiner do YARN pelo servidor de histórico do Spark, servidor de linha de tempo do YARN e interface do usuário do Tez, é necessário habilitar o registro em log no Amazon S3 para o cluster. Se você não habilitar o registro em log, os links para os logs de contêiner do YARN não funcionarão.

Coleta de logs

Para habilitar o acesso com um clique às interfaces do usuário de aplicações persistentes, o Amazon EMR coleta dois tipos de logs:

  • Os logs de eventos do aplicativo são coletados em um bucket do sistema EMR. Os logs de eventos são criptografados em repouso usando a criptografia no lado do servidor com as chaves gerenciadas pelo Amazon S3 (SSE-S3). Se você usar uma sub-rede privada para o cluster, inclua “arn:aws:s3:::prod.MyRegion.appinfo.src/*” na lista de recursos da política do Amazon S3 da sub-rede privada. Para obter mais informações, consulte Minimum Amazon S3 policy for private subnet.

  • Os logs de contêiner do YARN são coletados em um bucket do Amazon S3 de sua propriedade. Você deve habilitar o registro em log para que seu cluster acesse logs de contêiner do YARN. Para obter mais informações, consulte Configurar registro em log e depuração do cluster.

Se você precisar desabilitar esse recurso por motivos de privacidade, será possível interromper o daemon usando um script de bootstrap ao criar um cluster, como demonstra o exemplo a seguir.

aws emr create-cluster --name "Stop Application UI Support" --release-label emr-7.1.0 \ --applications Name=Hadoop Name=Spark --ec2-attributes KeyName=<myEMRKeyPairName> \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=TASK,InstanceCount=1,InstanceType=m3.xlarge \ --use-default-roles --bootstrap-actions Path=s3://region.elasticmapreduce/bootstrap-actions/run-if,Args=["instance.isMaster=true","echo Stop Application UI | sudo tee /etc/apppusher/run-apppusher; sudo systemctl stop apppusher || exit 0"]

Após executar esse script de bootstrap, o Amazon EMR não coletará nenhum log de eventos do servidor de histórico do Spark ou servidor de linha de tempo do YARN no bucket do sistema EMR. Nenhuma informação do histórico do aplicativo estará disponível na guia Interfaces do usuário do aplicativo e você perderá acesso a todas as interfaces do usuário do aplicativo do console.

Arquivos grandes de log de eventos do Spark

Em alguns casos, trabalhos de execução prolongada do Spark, como transmissão do Spark, e trabalhos grandes, como consultas SQL do Spark, podem gerar grandes logs de eventos. Com grandes logs de eventos, é possível usar rapidamente espaço em disco nas instâncias de computação e encontrar erros OutOfMemory ao carregar interfaces de usuário persistentes. Para evitar esses problemas, recomenda-se ativar o atributo de rolagem e compactação do log de eventos do Spark. Esse atributo está disponível no Amazon EMR versões emr-6.1.0 e posteriores. Para obter mais detalhes sobre rolagem e compactação, consulte Applying compaction on rolling event log files na documentação do Spark.

Para ativar o atributo de rolagem e compactação do log de eventos do Spark, ative as configurações do Spark a seguir.

  • spark.eventLog.rolling.enabled: ativa a rolagem do log de eventos com base no tamanho. Essa configuração é desativada por padrão.

  • spark.eventLog.rolling.maxFileSize: quando a rolagem é ativada, especifica o tamanho máximo do arquivo de log de eventos antes da rolagem. O padrão é 128 MB.

  • spark.history.fs.eventLog.rolling.maxFilesToRetain: especifica o número máximo de arquivos de log de eventos não compactados a serem retidos. Por padrão, todos os arquivos de log de eventos são mantidos. Defina com um número menor para compactar logs de eventos mais antigos. O valor mais baixo é 1.

A compactação tenta excluir eventos com arquivos de log de eventos desatualizados, como os apresentados a seguir. Se ele descartar eventos, eles não serão mais exibidos na interface do Spark History Server.

  • Eventos para trabalhos concluídos e eventos relacionados de preparação ou de tarefa.

  • Eventos para executores terminados.

  • Eventos para consultas SQL concluídas e eventos relacionados de trabalho, preparação e tarefas.

Para iniciar um cluster com rolagem e compactação habilitadas
  1. Crie um arquivo spark-configuration.json com a configuração a seguir.

    [ { "Classification": "spark-defaults", "Properties": { "spark.eventLog.rolling.enabled": true, "spark.history.fs.eventLog.rolling.maxFilesToRetain": 1 } } ]
  2. Crie o cluster com a configuração de compactação contínua do Spark da forma exibida a seguir.

    aws emr create-cluster \ --release-label emr-6.6.0 \ --instance-type m4.large \ --instance-count 2 \ --use-default-roles \ --configurations file://spark-configuration.json

Considerações e limitações

No momento, o acesso com um clique às interfaces do usuário de aplicações persistentes tem as limitações a seguir.

  • Haverá um atraso de pelo menos dois minutos quando os detalhes da aplicação forem exibidos na interface do Spark History Server.

  • Esse recurso só funciona quando o diretório de log de eventos do aplicativo está no HDFS. Por padrão, o Amazon EMR armazena logs de eventos em um diretório do HDFS. Se você alterar o diretório padrão para um sistema de arquivos diferente, como, por exemplo o Amazon S3, esse atributo não funcionará.

  • Esse recurso não está disponível no momento para clusters do EMR com vários nós principais ou para clusters do EMR integrados ao AWS Lake Formation.

  • Para habilitar o acesso com um clique às interfaces do usuário de aplicações persistentes, é preciso ter permissão para a ação DescribeCluster do Amazon EMR. Se você negar permissão para um principal do IAM a essa ação, levará aproximadamente cinco minutos para que a alteração na permissão seja propagada.

  • Se você reconfigurar os aplicativos em um cluster em execução, o histórico do aplicativo não estará disponível na interface do usuário do aplicativo.

  • Para cada um Conta da AWS, o limite padrão para UIs de aplicativos ativos é 200.

  • A seguir Regiões da AWS, você pode acessar as UIs do aplicativo a partir do console com o Amazon EMR 6.14.0 e superior:

    • Ásia-Pacífico (Jacarta) (ap-southeast-3)

    • Europa (Espanha) (eu-south-2)

    • Ásia-Pacífico (Melbourne) (ap-southeast-4)

    • Israel (Tel Aviv) (il-central-1)

    • Oriente Médio (EAU) (me-central-1)

  • A seguir Regiões da AWS, você pode acessar as UIs do aplicativo a partir do console com o Amazon EMR 5.25.0 e superior:

    • Leste dos EUA (Norte da Virgínia) (us-east-1)

    • Oeste dos EUA (Oregon) (us-west-2)

    • Ásia-Pacífico (Mumbai) (ap-south-1)

    • Ásia-Pacífico (Seul) (ap-northeast-2)

    • Ásia-Pacífico (Singapura) (ap-southeast-1)

    • Ásia-Pacífico (Sydney) (ap-southeast-2)

    • Ásia Pacific (Tóquio) (ap-northeast-1)

    • Canadá (Central) (ca-central-1)

    • América do Sul (São Paulo) (sa-east-1)

    • Europa (Frankfurt) (eu-central-1)

    • Europa (Irlanda) (eu-west-1)

    • Europa (Londres) (eu-west-2)

    • Europa (Paris) (eu-west-3)

    • UE (Estocolmo) (eu-north-1)

    • China (Pequim) (cn-north-1)

    • China (Ningxia) (cn-northwest-1)