Amazon EMR에서 "session '0' not found" 및 "Error sending http request and maximum retry encountered" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 9월 24일

Amazon EMR에서 Jupyter 노트북을 사용하여 Apache Livy 애플리케이션을 실행할 때 다음 오류 중 하나가 발생합니다.

  • 오류 페이로드가 있는 xxxxxxxx의 '404': "session '0' not found"
  • "The code failed because of a fatal error: Error sending http request and maximum retry encountered."

간략한 설명

이러한 오류는 일반적으로 시간이 초과될 때까지 Jupyter 노트북 세션을 실행 중인 상태로 둘 때 발생합니다. 이러한 오류를 해결하려면 마스터 노드의 /etc/livy/conf/livy.conf 에서 livy.server.session.timeout 속성 값을 늘립니다. 그런 다음 livy-server를 다시 시작합니다.

해결 방법

실행 중인 Amazon EMR 클러스터에서 또는 새 클러스터를 시작할 때 livy.server.session.timeout을 수정할 수 있습니다.

실행 중인 클러스터에서

1. 마스터 노드에서 /etc/livy/conf/livy.conf를 열고 livy.server.session.timeout 값을 수정합니다. (기본값은 1h) 예:

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

2.    마스터 노드에서 다음 명령을 실행하여 livy-server를 다시 시작합니다.

sudo stop livy-server
sudo start livy-server

livy-server가 다시 시작되는 동안에는 클러스터를 사용할 수 없습니다. 가동 중지를 방지하려면 Amazon EMR 클러스터를 시작할 때 Livy 애플리케이션을 구성하십시오.

새 클러스터에서

Amazon EMR 릴리스 버전 4.6.0 이상을 사용하여 클러스터를 시작할 때 다음과 유사한 구성 객체를 추가합니다. livy.server.session.timeout을 수정하는 것 외에도 원할 경우 다음과 같은 관련 속성을 수정할 수도 있습니다.

  • livy.server.session.timeout-check: 활성화되면 Livy는 제한 시간 임계값에 도달하는 유휴 세션을 중지합니다. 기본 설정은 true입니다.
  • livy.server.yarn.app-lookup-timeout: Livy에서 YARN 애플리케이션을 손실된 것으로 간주하기 전에 YARN 애플리케이션을 찾는 시간. 기본 설정은 60초입니다.
[
    {
        "Classification": "livy-conf",
        "Properties": {
            "livy.server.session.timeout-check": "true",
            "livy.server.session.timeout": "2h",
            "livy.server.yarn.app-lookup-timeout": "120s"
        }
    }
]

작업 실행이 완료되면 Jupyter 또는 Zeppelin에서 세션을 닫아야 합니다. 세션이 너무 많이 열려 있는 경우 리소스를 사용할 수 있을 때까지 새 작업을 시작할 수 없습니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?