2016-06-14 4 views
0

나는 주어진 시간에 (MR 작업 만 있고 다른 YARN 응용 프로그램 만있는) 작업 수를 제어하여 YONNs 자원 대기열을 사용하여 경쟁을 제어하려고했습니다. 내가 가진 상황은 다음과 같습니다. -YARN : 작업의 동시성 제어

사용자의 요청을 받아들이고 일부 작업 (MR 작업)을 실행하는 서비스가 있습니다. 이러한 작업은 때로는 시간이 많이 소요되고 정점에있는 동안 이러한 작업은 자원을 위해 싸우며 너무 많은 공유는 어떤 일도 괜찮은 진행을하지 못한다는 것을 의미합니다. 주어진 시간에 대기열에서 실행할 수있는 보고서 수를 최소화하려고합니다.

대기열의 최대 실행중인 앱을 원하는 값으로 설정하여이 작업을 수행 할 수 있습니다. 이제 MR 응용 프로그램/작업을 클러스터에 제출할 수 있으며 주어진 시간에 작업 만 실행됩니다 ('n'이라고 말하면 됨). 자, 문제는 같은 대기열에서 작업을 선점 할 수있는 방법이 없습니다 (또는 내가 모르는 경우). 나는 하나의 작업이있을 때 모든 큐를 차지하고 2 개의 작업이있을 때 첫 번째 작업의 일부 작업이 종료되고 두 작업이 동등한 방식으로이 큐에 작업을 제출할 수있게하고 싶습니다. 리소스와 세 번째 작업은 리소스를 더 나누기 위해 제공됩니다 (기본적으로 FairShareScheduler는 선점으로 작동하지만 여러 대기열 대신 하나의 대기열에서 작동 함).

이것이 가능합니까? 나는 지금 일자리를 제출하는 한 명의 사용자 (나의 서비스) 만있다. 사용자 기반의 하위 큐를 생성하기 위해 내 서비스 사용자를 클러스터로 전파 할 수 있습니다 (선호하지 않지만 다른 서비스가없는 경우 수행 할 수 있음). 그러나 나는 많은 사용자가 있기 때문에 원하는 동작을 얻는 방법을 모르며 대기열의 이름 (작업 제출시 생성 됨)을 모른 채 대기열 당 제한 (중량)을 설정하는 방법을 모르겠습니다. .

미리 도움을 청하십시오.

답변

1

동일한 대기열에서 컨테이너를 선점 할 수 없음을 발견했습니다. 나는 타협하면서 일했다.