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á.
Exibir interfaces do usuário de aplicações persistentes no Amazon EMR
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ê usa uma sub-rede privada para seu cluster, certifique-se de incluir o bucket correto do sistema ARNs na lista de recursos da política do Amazon S3 para a 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.12.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 registros de eventos, você pode rapidamente usar espaço em disco nas instâncias de computação e encontrar OutOfMemory erros ao carregar o Persistent UIs. 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
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
-
Crie um arquivo
spark-configuration.jsoncom a configuração a seguir.[ { "Classification": "spark-defaults", "Properties": { "spark.eventLog.rolling.enabled": true, "spark.history.fs.eventLog.rolling.maxFilesToRetain": 1 } } ] -
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
Permissões para visualizar interfaces do usuário de aplicações persistentes
O exemplo a seguir mostra as permissões de perfil necessárias para acessar interfaces de usuário de aplicações persistentes. Para clusters com perfil de runtime habilitado, isso permitirá que os usuários acessem apenas aplicações enviadas pela mesma identidade de usuário e perfil de runtime.
A amostra a seguir mostra as permissões de perfil necessárias para remover as restrições de visualização de aplicativos nas interfaces de usuário de aplicativos persistentes para clusters habilitados para perfil de runtime.
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 as ações
CreatePersistentAppUI,DescribePersistentAppUIeGetPersistentAppUIPresignedURLdo Amazon EMR. Se você negar permissão para uma entidade principal do IAM a essas ações, levará aproximadamente cinco minutos para que a alteração na permissão seja propagada. Se um cluster for um cluster habilitado para perfil de runtime, ao acessar o Spark History Server a partir da interface do usuário da aplicação persistente, o usuário só poderá acessar um trabalho do Spark se ele tiver sido enviado por um perfil de runtime.
Se um cluster for um cluster habilitado para perfil de runtime, cada usuário poderá acessar apenas uma aplicação enviada pela mesma identidade de usuário e perfil de runtime.
A ação
AccessAllEventLogspara o Amazon EMR é necessária para visualizar todas as aplicações em interfaces de usuário de aplicações persistentes para clusters habilitados para perfil de runtime.-
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 o aplicativo ativo UIs é 200.
-
A seguir Regiões da AWS, você pode acessar o aplicativo a UIs 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 o aplicativo a UIs 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)