2016-06-28 3 views
0

MRv2에 해당하는 JobClient (Java, MRv1)를 찾을 수 없습니다. 나는 실행중인 작업에 대해 MR 작업 상태, 카운터 등을 읽으려고합니다. 그 자원 관리자로부터 정보를 얻어야 할 것입니다. (작업이 끝나기 전에 히스토리 서버가 정보를 갖고 있지 않기 때문에 작업이 여전히 실행되는 동안 카운터를 읽어야합니다.) mapreduce API에 누락 된 클라이언트가 있습니까? 당신은 당신이 원사에 제출 MR 작업의 응용 프로그램 ID가있는 경우YARN MRv2 JobClient equivalent

답변

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 클래스에서 얻을 수있는 정보의 일부는 다음과 같습니다

  1. 응용 프로그램의 자원 사용 보고서를

  2. 응용 프로그램 dianostics

  3. 최종 응용 프로그램 상태

  4. 시작 및 종료 시간

  5. 응용 프로그램 유형

  6. 우선 순위

  7. 진행 등

당신은이 하둡 2.7입니다 (YarnClient 여기 ApplicationReport의 API 문서를 확인하실 수 있습니다 문서) :

+0

감사합니다. 내가 작업 중 하나 (감속기)에서 상태를 확인하기 때문에 응용 프로그램 ID가 없습니다. 분명히 구 JobClient는 여전히 새로운 MR2 API와 함께 작동하며 MR 작업 ID가 주어지면 적절한 요청을합니다. –

+0

그러나 ApplicationReport Yarn은 특정하지 않습니다. MR 카운터를 얻으려면 MR MR을 가져야하지 않습니까? –