2017-02-07 14 views
0

AWS EMR 클러스터를 시작하고 SSH를 통해 로그인 한 다음 spark-shell을 실행하여 일부 스파크 코드를 테스트하고 가끔씩 인터넷 연결이 끊어지면서 퍼티가 연결이 끊어진 오류를 throw하는 일반적인 문제가 있습니다.AWS EMR 클러스터에서 리소스를 확보하는 방법은 무엇입니까?

하지만 스파크 관련 프로세스가 아직 실행중인 것으로 보입니다. 내가 서버에 다시 연결하고 다시 spark-shell을 실행하면, 내가 이러한 오류를 많이 얻을 : 나는 테스트 클러스터에서 작은 노드를 사용하고로이 오류가 할당 된 메모리에 문제가 제안 인터넷 검색

17/02/07 11:15:50 WARN YarnSchedulerBackend$YarnSchedulerEndpoint: Container marked as failed: container_1486465722770_0002_01_000003 on host: ip-172-31-0-217.eu-west-1.compute.internal. Exit status: 1. Diagnostics: Exception from container-launch. 

을하지만, 나는 심지어 더 많은 메모리를 할당하고 싶지 않다. 리소스를 해제하기를 원한다. 단지 spark-shell을 재시작하되, "Spark"프로세스가 실행되는 것을 보지 못한다.

어떻게하면 쉽게 해결할 수 있습니까? 거기에 내가 hadoop, mapred, 원사 등 폐쇄/재시작을 시도해야 다른 프로세스가 있습니까? 나는 이것을 경험할 때마다 새 클러스터를 시작하고 싶지 않습니다.

답변

1

당신이 그것에 대해 원사의 API를 사용할 수 있습니다 .. 을 마스터에 SSH가 - 보내고 후,이 응용 프로그램이 실행되고 있는지 확인하기 위해이

yarn application -list 

를 실행합니다. 이 있다면 당신이 그들을 죽일이 명령을 사용할 수 있습니다 : 당신은 또한 같은 일을 위해 자원 관리자 웹 UI를 사용할 수 있습니다

yarn application -kill <application id> 

. (클러스터 EMR 페이지의 맨 위 페이지에 링크로 제공됨).

BTW Zeppelin을 사용하면 연결 해제에 대한 걱정없이 Spark-shell에서 실행되는 것과 동일한 항목을 실행할 수 있습니다. EMR에서 사용할 수 있습니다 (클러스터를 설정할 때 응용 프로그램 중 하나로 선택해야 함).

제대로 사용하고 구성하는 방법을 배우는 데 약간의 시간이 걸리지 만 도움이 될 수도 있습니다 ..

+0

글쎄요, 활성화 된 응용 프로그램이있었습니다. 나는 kill 명령과 Resoure Manager에서 시도했습니다. 나는 또한 모든 Spark 프로세스를 죽이고 다음 명령을 사용하여 리소스 관리자를 중지했다가 다시 시작했습니다. sudo/sbin/stop hadoop-yarn-resourcemanager. 하지만 여전히 "실패로 표시된 컨테이너"오류가 있습니다. –

+0

그래서 나는 당신의 문제를 완전히 이해하지 못했다고 생각합니다. 당신은 클러스터에서 실행되는 스파크 애플리케이션이 있다고 말하고 있습니까? 자원 관리자를 중지하고 시작해야하는지 확실하지 않습니다. 죽인 경우 원사 응용 프로그램 목록을 다시 실행하여 살해되었는지 확인하십시오 –

+0

예, 실행 중이었고 살해되었습니다. 목록을 다시 확인했는데 아무 것도 실행되지 않았습니다. 나는 또한 모든 스파크 프로세스가 종료되었는지 확인했다. 그러나 여전히 '스파크 껍질'을 시작하려는 시도는 위에서 언급 한 예외를 던졌습니다. 자원 관리자를 다시 시작하는 것은 spark-shell을 시작했을 때 끝없이이 메시지를 던지면서 문제를 탐색했을 때 제안 된 해결책이었습니다 : 'INFO 클라이언트 : application report for application_1462362812913_0001 (상태 : ACCEPTED)'. –