Amazon EMR 노트북을 EMR 클러스터에 연결할 수 없습니다.
간략한 설명
EMR 노트북을 EMR 클러스터에 연결할 때 다음과 비슷한 오류가 발생할 수 있습니다.
- 클러스터 j-XXXXXXXXXXX에 연결할 수 없습니다. 원인: 작업 공간(노트북) 연결에 실패했습니다. 내부 오류가 발생했습니다.
- 선택한 가용 영역에서는 노트북이 지원되지 않습니다. 다른 가용 영역에 있는 클러스터를 사용해 보세요.
- 작업 공간(노트북)을 연결하지 못했습니다. 구성이 잘못되었습니다.
- 작업 공간(노트북)이 중지되었습니다. 클러스터 j-XXXXXXXXXX에 JupyterEnterpriseGateway 애플리케이션이 설치되어 있지 않습니다. 다른 클러스터로 다시 시도하세요.
- 작업 공간 오류: 실행 중인 클러스터에 EMR 노트북을 연결할 수 없습니다. 커널을 시작하는 중에 오류가 발생했습니다. HTTP 403: 금지됨(작업 공간이 클러스터에 연결되지 않았습니다. 계속하려면 '확인'을 클릭하세요.)
해결 방법
연결된 클러스터가 호환되고 모든 클러스터 요구 사항을 충족하는지 확인합니다.
EMR 노트북의 클러스터 요구 사항은 다음과 같습니다.
1. Amazon EMR 릴리스 버전 5.18.0 이상을 사용하여 생성된 클러스터만 지원됩니다.
2. AMD EPYC 프로세서가 탑재된 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 사용하여 생성된 클러스터는 지원되지 않습니다. 예를 들어 m5a.* 및 r5a.* 인스턴스 유형은 지원되지 않습니다.
3. EMR 노트북은 VisibleToAllUsers 변수를 true로 설정하여 생성된 클러스터에서만 작동합니다. VisibleToAllUsers는 기본적으로 true로 설정되어 있습니다.
4. 클러스터는 EC2 Amazon Virtual Private Cloud(VPC) 내에서 시작해야 합니다. 퍼블릭 및 프라이빗 서브넷이 지원됩니다.
5. EMR 노트북은 현재 Apache Spark 클러스터만 지원합니다.
6. EMR 릴리스 버전 5.32.0 이상 또는 6.2.0 이상에서는 클러스터에서 Jupyter Enterprise Gateway 애플리케이션을 실행해야 합니다.
7. Kerberos 인증을 사용하는 클러스터는 지원되지 않습니다.
8. AWS Lake Formation과 통합된 클러스터는 노트북 범위 라이브러리 설치만 지원합니다. 클러스터에 커널과 라이브러리를 설치하는 것은 지원되지 않습니다.
9. 기본 노드가 여러 개 있는 클러스터는 지원되지 않습니다.
10. AWS Graviton2 기반 Amazon EC2 인스턴스를 사용하는 클러스터는 지원되지 않습니다.
자세한 내용은 클러스터 요구 사항을 참조하세요.
오류: 클러스터 j-XXXXXXXXXXX에 연결할 수 없습니다. 원인: 작업 공간(노트북) 연결에 실패했습니다. 내부 오류
이는 Apache Livy 사칭이 켜진 EMR 클러스터에서 발생하며 livy.impersonation.enabled 변수가 true로 설정되었음을 의미합니다. Amazon EMR 6.4.0에서는 Livy의 사칭이 기본적으로 true로 설정되어 있습니다. Livy 사용자 사칭이 꺼진 EMR 노트북 기능도 기본적으로 HttpFS가 꺼져 있습니다. 즉, EMR 노트북은 Livy 사칭이 켜진 클러스터에 연결할 수 없습니다. 자세한 정보는 Amazon EMR 릴리스 6.4.0 정보를 참조하세요.
이 문제를 방지하려면 다음을 수행하세요.
hadoop-httpfs 서비스가 실행되는 모든 이전 버전 또는 최신 버전의 EMR 6.4.0을 사용할 수 있습니다.
또는
다음을 수행하여 클러스터에서 hadoop-httpfs 서비스를 다시 시작합니다.
1. SSH를 사용하여 EMR 프라이머리 노드에 연결합니다.
2. 다음 명령을 실행하여 hadoop-httpfs 서비스를 시작합니다.
sudo systemctl start hadoop-httpfs
또는 EMR 단계를 사용하여 hadoop-httpfs 서비스를 시작할 수 있습니다.
==========
JAR location: command-runner.jar
Main class: None
Arguments: bash -c "sudo systemctl start hadoop-httpfs"
Action on failure: Continue
==========
HttpFS 상태를 확인하려면 다음 명령을 실행합니다.
$ sudo systemctl status hadoop-httpfs
hadoop-httpfs.service - Hadoop httpfs
Loaded: loaded (/etc/systemd/system/hadoop-httpfs.service; disabled; vendor preset: disabled)
Active: active (running)...
3. EMR 클러스터를 다시 연결합니다.
오류: 작업 공간 오류
다음은 EMR 클러스터를 EMR 노트북에 연결하려고 할 때 발생하는 일반적인 작업 공간 오류입니다.
- 실행 중인 클러스터에 EMR 노트북을 연결할 수 없습니다.
- 커널을 시작하는 중에 오류가 발생했습니다.
- HTTP 403: 금지됨(작업 공간이 클러스터에 연결되지 않았습니다. 계속하려면 '확인'을 선택하세요.)
이러한 오류는 AWS 루트 계정이 EMR 클러스터에 EMR 노트북을 연결할 권한이 없기 때문에 발생합니다. 루트 사용자는 커널을 시작할 권한이 없는 사용자로 간주됩니다. unauthorized_users 목록에 KERNEL_USERNAME 값이 나타나면 연결 요청이 실패합니다. 자세한 내용은 보안 기능을 참조하세요.
작업 공간 오류를 방지하려면 AWS Identity and Access Manager(AWS IAM) 사용자를 생성한 다음 클러스터를 노트북에 연결하세요. 자세한 정보는 AWS 계정에서 IAM 사용자 생성을 참조하세요.