[HADOOP] YARN에서 독점적 인 FIFO 응용 프로그램 대기열을 구성하는 방법은 무엇입니까?
HADOOPYARN에서 독점적 인 FIFO 응용 프로그램 대기열을 구성하는 방법은 무엇입니까?
hadoop 클러스터에서 YARN 응용 프로그램의 병렬 실행을 비활성화해야합니다. 이제 YARN에는 기본 설정이 있으므로 여러 작업을 병렬로 실행할 수 있습니다. 두 가지 작업이 모두 느리게 실행되기 때문에 이점이 없습니다.
이 설정 yarn.scheduler.capacity.maximum-applications는 최대 응용 프로그램 수를 제한하지만 제출 된 응용 프로그램과 실행중인 응용 프로그램 (docs에 명시된대로) 모두에 영향을 미칩니다. 현재 실행중인 애플리케이션이 완료되지 않을 때까지 제출 된 앱을 대기열에 보관하고 싶습니다. 어떻게 할 수 있습니까?
해결법
-
==============================
1.1) 스케줄러를 FairScheduler로 변경
1) 스케줄러를 FairScheduler로 변경
Hadoop 배포판은 기본적으로 CapacityScheduler를 사용합니다 (Cloudera는 FairScheduler를 기본 스케줄러로 사용함). yarn-site.xml에이 속성 추가
<property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> </property>
2) 기본 대기열 설정
공정한 스케줄러는 사용자별로 큐를 생성합니다. I.E., 세 명의 다른 사용자가 작업을 제출하면 세 개의 개별 대기열이 생성되고 자원은 세 개의 대기열간에 공유됩니다. yarn-site.xml에이 속성을 추가하여 비활성화하십시오.
<property> <name>yarn.scheduler.fair.user-as-default-queue</name> <value>false</value> </property>
이렇게하면 모든 작업이 하나의 기본 대기열에 저장됩니다.
3) 최대 응용 프로그램 제한
이제는 작업 대기열이 하나의 기본 대기열로 제한되었습니다. 해당 응용 프로그램의 최대 수를 해당 대기열에서 실행할 수있는 1로 제한하십시오.
$ HADOOP_CONF_DIR 아래에 fair-scheduler.xml 파일을 만들고이 항목을 추가하십시오
<allocations> <queueMaxAppsDefault>1</queueMaxAppsDefault> </allocations>
또한 yarn-site.xml에이 속성을 추가하십시오.
<property> <name>yarn.scheduler.fair.allocation.file</name> <value>$HADOOP_CONF_DIR/fair-scheduler.xml</value> </property>
이 등록 정보를 추가 한 후 YARN 서비스를 다시 시작하십시오.
여러 응용 프로그램을 제출할 때 먼저 ACCEPTED 응용 프로그램은 활성 응용 프로그램으로 간주되고 나머지는 보류 응용 프로그램으로 대기합니다. 이러한 보류중인 응용 프로그램은 실행 응용 프로그램이 완료 될 때까지 계속 ACCEPTED 상태가됩니다. 활성 애플리케이션은 사용 가능한 모든 리소스를 활용할 수 있습니다.
참조 : Hadoop : 공정한 스케줄러
-
==============================
2.귀하의 질문에 대한 나의 이해에 따라. 위 코드 줄 / 설정 만 도움이되지 않을 수 있습니다. 기존 설정으로 코드 아래에서 확인할 수 있습니까?
귀하의 질문에 대한 나의 이해에 따라. 위 코드 줄 / 설정 만 도움이되지 않을 수 있습니다. 기존 설정으로 코드 아래에서 확인할 수 있습니까?
<allocations> <defaultQueueSchedulingPolicy>fair</defaultQueueSchedulingPolicy> <queue name="<<Your Queue Name>>" <weight>40</weight> <schedulingPolicy>fifo</schedulingPolicy> </queue> <queue name=<<Your Queue Name>>> <weight>60</weight> <queue name=<<Your Queue Name>> /> <queue name=<<Your Queue Name>> /> </queue> <queuePlacementPolicy> <rule name="specified" create="false" /> <rule name="primaryGroup" create="false" /> <rule name="default" queue=<<Your Queue Name>> /> </queuePlacementPolicy> </allocations>
from https://stackoverflow.com/questions/43098085/how-to-configure-monopolistic-fifo-application-queue-in-yarn by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Apache Pig에서 빈 파일이나 누락 된 입력 파일을 어떻게 처리합니까? (0) | 2019.06.23 |
---|---|
[HADOOP] Java로 원격 HDFS 파일 읽기 (0) | 2019.06.23 |
[HADOOP] Hbase managed zookeeper가 갑자기 zookeeper quorum 대신 localhost에 연결하려고했습니다. (0) | 2019.06.22 |
[HADOOP] 네임 노드 HA (UnknownHostException : nameservice1) (0) | 2019.06.22 |
[HADOOP] 클러스터에서 Mapper 입력으로 로컬 파일 시스템 디렉토리 실행 (0) | 2019.06.22 |