MRv2에 해당하는 JobClient (Java, MRv1)를 찾을 수 없습니다. 나는 실행중인 작업에 대해 MR 작업 상태, 카운터 등을 읽으려고합니다. 그 자원 관리자로부터 정보를 얻어야 할 것입니다. (작업이 끝나기 전에 히스토리 서버가 정보를 갖고 있지 않기 때문에 작업이 여전히 실행되는 동안 카운터를 읽어야합니다.) mapreduce API에 누락 된 클라이언트가 있습니까? 당신은 당신이 원사에 제출 MR 작업의 응용 프로그램 ID가있는 경우YARN MRv2 JobClient equivalent
0
A
답변
0
, 당신은 사용할 수 있습니다
YarnClient
(import org.apache.hadoop.yarn.client.api.YarnClient
)와ApplicationReport
(import org.apache.hadoop.yarn.api.records.ApplicationReport
)
을에 응용 프로그램 관련 통계를 얻으십시오.
예 : 샘플 코드는 다음과 같습니다 :
// Initialize and start YARN client
YarnClient yarnClient = YarnClient.createYarnClient();
yarnClient.init(configuration);
yarnClient.start();
// Get application report
try {
ApplicationReport applicationReport = yarnClient.getApplicationReport(ConverterUtils.toApplicationId(applicationID));
// Get whatever you want here.
} catch (Exception e) {
// Handle exception;
}
// Stop YARN client
yarnClient.stop();
당신이 ApplicationReport
클래스에서 얻을 수있는 정보의 일부는 다음과 같습니다
응용 프로그램의 자원 사용 보고서를
응용 프로그램 dianostics
최종 응용 프로그램 상태
시작 및 종료 시간
응용 프로그램 유형
우선 순위
진행 등
당신은이 하둡 2.7입니다 (YarnClient
여기 ApplicationReport
의 API 문서를 확인하실 수 있습니다 문서) :
-
유익한 응답
- YarnClient
- ApplicationReport
감사합니다. 내가 작업 중 하나 (감속기)에서 상태를 확인하기 때문에 응용 프로그램 ID가 없습니다. 분명히 구 JobClient는 여전히 새로운 MR2 API와 함께 작동하며 MR 작업 ID가 주어지면 적절한 요청을합니다. –
그러나 ApplicationReport Yarn은 특정하지 않습니다. MR 카운터를 얻으려면 MR MR을 가져야하지 않습니까? –