Como resolver os erros “session '0' not found” e “Error sending http request and maximum retry encountered” no Amazon EMR?

3 minuto de leitura
0

Quero solucionar erros ao executar uma aplicação Apache Livy usando um Caderno Notebook no Amazon EMR.

Descrição breve

Você recebe um dos seguintes erros ao executar uma aplicação Apache Livy usando um notebook Jupyter no Amazon EMR:

  • ‘404’ de xxxxxxxx com carga de erro: “sessão ‘0’ não encontrada”
  • “O código falhou devido a um erro fatal: Erro ao enviar a solicitação http, e o máximo de novas tentativas foi atingido.”

Esses erros geralmente acontecem quando você mantém a sessão do Jupyter Notebook em execução até que ela atinja o tempo limite. Para resolver esses erros, aumente o valor da propriedade livy.server.session.timeout em /etc/livy/conf/livy.conf no nó principal. Em seguida, reinicie o livy-server.

Resolução

Você pode modificar livy.server.session.timeout em um cluster do Amazon EMR em execução ou ao iniciar um novo cluster.

Em um cluster em execução

1.    Abra /etc/livy/conf/livy.conf no nó principal e modifique o valor livy.server.session.timeout (o valor padrão é 1h). Exemplo:

sudo vim /etc/livy/conf/livy.conf
livy.server.session.timeout 2h

2.    Execute os seguintes comandos no nó principal para reiniciar o livy-server:

Suponha que você esteja usando uma das seguintes versões de lançamento do Amazon EMR baseadas no Amazon Linux 2:

  • Versão de lançamento do Amazon EMR 5.30.0 ou posterior
  • Amazon EMR série 6.x

Em seguida, execute os seguintes comandos:

sudo systemctl stop livy-server
sudo systemctl start livy-server

Se você estiver usando a versão 5.29.0 ou anterior do Amazon EMR, execute os seguintes comandos:

sudo stop livy-server
sudo start livy-server

Quando livy-server estiver reiniciando, seu cluster não estará disponível. Para evitar tempo de inatividade, configure a aplicação Livy ao iniciar um cluster do Amazon EMR.

Em um novo cluster

Adicione um objeto de configuraçãosemelhante ao seguinte ao iniciar um cluster usando a versão 4.6.0 ou posterior do Amazon EMR. Além de modificar livy.server.session.timeout, você pode modificar as seguintes propriedades relacionadas, se desejar:

  • livy.server.session.timeout-check: Quando ativada, o Livy interrompe as sessões inativas que atingem o tempo limite. A configuração padrão é true.
  • livy.server.yarn.app-lookup-timeout: Por quanto tempo o Livy procura a aplicação YARN antes de considerá-la perdida. A configuração padrão é 60s.
[
    {
        "Classification": "livy-conf",
        "Properties": {
            "livy.server.session.timeout-check": "true",
            "livy.server.session.timeout": "2h",
            "livy.server.yarn.app-lookup-timeout": "120s"
        }
    }
]

Depois de terminar de executar o trabalho, não se esqueça de encerrar a sessão no Jupyter ou no Zeppelin. Quando há muitas sessões abertas, novos trabalhos não podem ser iniciados até que os recursos estejam disponíveis.


Informações relacionadas

Apache Livy

Caderno Notebook no Amazon EMR

AWS OFICIAL
AWS OFICIALAtualizada há um ano