2016-07-29 2 views
1

때때로 갑자기 YARN 작업 수가 급증하여 클러스터가 잘못 작동하는 것 같습니다. HDInsight Linux 기반 Hadoop 클러스터를 사용하고 있습니다. 기본적으로 Azure Data Factory 작업을 실행하여이 클러스터를 가리키는 하이브 스크립트를 실행합니다. 특정 시간에 YARN 앱의 평균 개수는 일반적으로 50 회 실행되고 40 ~ 50 회는 보류 중입니다. None은 임의 (ad-hoc) 쿼리 실행에이 클러스터를 사용합니다. 그러나 며칠 후에 우리는 이상한 것을 발견합니다. 갑자기 다수의 원사 응용 프로그램이 증가하기 시작합니다. 둘 다 실행 중이거나 대기 중이지만 특히 보류중인 응용 프로그램이 늘어납니다. 따라서이 수치는 원사 응용 프로그램 실행에 100 이상이고 보류중인 경우 400 이상 또는 때로는 500 이상입니다. 우리는 모든 원사 응용 프로그램을 하나씩 죽이는 스크립트를 가지고 있지만 시간이 많이 걸리고 실제로 해결 방법이 아닙니다. 우리의 경험에 비추어 볼 때, 유일한 해결책은 클러스터를 삭제하고 다시 만드는 것입니다. 클러스터의 응답 시간이 약간 지연 될 수 있지만 (특히 하이브 구성 요소) 슬라이스가 실패한 경우 ADF가 여러 번 재 시도를해도 클러스터가 모든 실패한 슬라이스 실행 요청을 저장하고있을 가능성이 있습니다 (ADF에 따르면) 수영장에서 할 수있을 때까지 달려 가려고합니까? 아마 그것이 일어날 수있는 유일한 이유 일 것입니다. 누구든지이 문제에 직면 했습니까?HDInsight 클러스터의 YARN 앱 수가 갑자기 급증한 경우

답변

1

기본 대기열에있는 실행중인 모든 작업이 Templeton 작업인지 확인하십시오. 그렇다면 대기열에 교착 상태가 발생합니다.

Azure 데이터 팩토리는 WebHCat (Templeton)을 사용하여 HDInsight에 작업을 제출합니다. WebHCat은 부모 템플턴 작업을 실행 한 다음 실행하려는 실제 하이브 스크립트 인 하위 작업을 제출합니다. 자식 작업 (실제 작업)이 응용 프로그램 마스터를 스핀 업할 수없는 클러스터 용량을 채우는 데 너무 많은 부모 작업이있는 경우 스레드 큐가 교착 상태에 빠질 수 있으므로 실제로 수행되는 작업이 없습니다. Templeton 작업을 종료하면 데이터 팩토리가 분명히 그렇지 않은 경우에도 완료된 것으로 표시됩니다.

이미 교착 상태에있는 경우 최대 AM 리소스를 기본값 인 33 % 이상으로 조정하거나 클러스터 크기를 조정할 수 있습니다. 목표는 대기중인 하위 작업을 실행하고 대기열을 천천히 배출하도록 허용하는 것입니다.

올바른 장기 수정으로 상위 템플리트 작업이 별도의 Yarn 큐에 제출되도록 WebHCat을 구성해야합니다. (1) 별도의 원사 대기열을 만들고 (2) 새로 생성 된 대기열에 templeton.hadoop.queue.name을 설정하면됩니다.

대기열을 만들려면 Ambari> 원사 대기열 관리자를 사용하십시오.

Ambari를 통해 WebHCat 구성을 업데이트하려면 하이브 탭> 고급> 고급 WebHCat- 사이트로 이동하여 여기에서 구성 값을 업데이트하십시오. WebHCat의 설정에

상세 정보 : https://cwiki.apache.org/confluence/display/Hive/WebHCat+Configure

관련 문제