Amazon EMR에서 Spark UI에 액세스하려면 어떻게 해야 하나요?

2분 분량
0

Amazon EMR 클러스터에서 호스팅되는 Apache Spark 웹 인터페이스를 보고 싶습니다.

해결 방법

Spark 히스토리 서버는 EMR 클러스터에서 실행 중이거나 완료된 Spark 작업의 상태를 볼 수 있는 웹 UI입니다.

다음은 퍼블릭 및 프라이빗 서브넷에서 호스팅되는 Spark UI에 액세스하는 일반적인 방법입니다.

  • 영구 애플리케이션 사용자 인터페이스
  • 클러스터 내 애플리케이션 사용자 인터페이스

영구 애플리케이션 사용자 인터페이스

EMR 클러스터에서 apppusher 대몬(daemon)은 주기적으로 Spark 이벤트 로그를 Amazon EMR 프로덕션 버킷으로 전송합니다. 영구 Spark UI는 이벤트 로그를 사용하여 Spark 애플리케이션을 표시합니다.

이 기능은 애플리케이션의 이벤트 로그 디렉터리가 HDFS에 있을 때 작동합니다. 기본적으로 Amazon EMR은 HDFS의 /var/log/spark/apps 디렉터리에 이벤트 로그를 저장합니다. 기본 디렉터리를 Amazon Simple Storage Service(S3)와 같은 다른 파일 시스템으로 변경하면 이 기능이 작동하지 않습니다. 자세한 내용은 고려 사항 및 제한 사항을 참조하세요.

활성 및 종료 클러스터의 애플리케이션 기록 및 관련 로그 파일에 액세스할 수 있습니다. 로그는 애플리케이션 종료 후 30일 동안 사용할 수 있습니다. 자세한 내용은 영구 애플리케이션 사용자 인터페이스 보기를 참조하세요.

클러스터 내 애플리케이션 사용자 인터페이스

클러스터 내 사용자 인터페이스는 프라이머리 노드에서 호스팅되며 웹 서버에 대한 SSH 연결이 필요합니다.

클러스터 내 UI에 액세스하려면 다음을 수행합니다.

1.    SSH를 사용하여 프라이머리 노드에 연결합니다.

2.    동적 포트 전달을 사용하여 SSH 터널링을 구성합니다.

3.    Firefox용 FoxyProxy 또는 Chrome용 SwitchOmega와 같은 추가 기능을 사용하여 SOCKS 프록시 설정을 관리하도록 인터넷 브라우저를 구성합니다.

이 메서드는 텍스트 패턴을 기반으로 URL을 자동으로 필터링합니다. 또한 이 메서드는 프록시 설정을 프라이머리 노드의 DNS 이름 형식과 일치하는 도메인으로 제한합니다.

ssh -i ~/mykeypair.pem -N -L 8157:ec2-###-##-##-###.compute-1.amazonaws.com:18080 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com

자세한 내용은 옵션 1: 로컬 포트 전달을 사용하여 프라이머리 노드에 SSH 터널 설정을 참조하세요.

VPN 연결 또는 AWS Direct Connect를 통해 로컬 네트워크를 사용하지 않는 한 프라이빗 서브넷의 클러스터 내 UI에 직접 액세스할 수 없습니다. 또한 통신이 AWS와 로컬 네트워크를 범위에 포함하도록 경로를 구성해야 합니다.

또는 퍼블릭 서브넷에서 호스팅되는 Bastion 또는 점프 서버를 사용하여 프라이빗 서브넷에 연결할 수 있습니다. 그런 다음 동적 포트 전달을 사용하여 SSH 터널링을 생성합니다.

자세한 내용은 프라이빗 서브넷에서 시작된 Amazon EMR의 웹 인터페이스 보안 액세스를 참조하세요.


AWS 공식
AWS 공식업데이트됨 2년 전