2014-02-12 5 views
4

지도 축소 작업을 실행할 때마다 hadoop 작업은 Map 및 Reduce 작업의 비율을 보여줍니다.hadoop 컨트롤러는 작업 완료율을 어떻게 계산합니까?

저는 매퍼와 리듀서가 분산 된 방식으로 실행되며 컨트롤러에 처리 된 양을보고 할 수 있다는 것을 알고 있습니다.

그러나 컨트롤러가 처리 할 총 데이터를 어떻게 알 수 있습니까? 컨트롤러가 모든 입력 파일의 크기를 파악하려고 시도하면 이미지가 비효율적 일 것입니다. 근사한 근사입니까?

Hadoop Dashboard

답변

0

나는 하둡에서이 부분에 관련된 모든 코드를 읽을하지 않았다. 슬레이브 시스템이 맵 작업을 완료 할 때이 알고 마스터 컨트롤러에 대한 편리하다, 그래서 그것이 알고 마스터 시스템을 드릴 것입니다 :하지만 그것에 대해 몇 가지 생각, 그것은

  1. 지도 작업 완료 비율 계산 도움이되기를 바랍니다 지도 작업 경쟁의 비율이지만 프로세스가 차단되거나 종료되면이 프로세스로 완료된 작업이 재 할당되고 해당 경우 맵 완료 값이 감소합니다.

  2. 작업 완료율 백분율 계산 감소 : 구문 감소 작업 포함 및 작업 감소, 맵 작업 완료가 5 %에 ​​도달 할 때 셔플 태스크 시작, 맵 작업 출력 디렉토리에서 데이터 복사가 주로 수행됩니다. 병합 정렬을 동시에 실행할 수 있으므로 복사 된 데이터는 셔플 부분의 도메인 요소 인 것 같습니다. reduce 작업에서 완료율은 "반복자"가 어떻게 처리되었는지 쉽게 계산할 수 있습니다.

PS : 코멘트에 metioned vehtfym 같이 감소 위상 정렬 (33 %에서 끝나는) 복사본을 포함한다 (66 %에서 끝나는)과 전체 (100 % 완료)

+1

좋은 점을 감소시킨다. 감축 단계에는 '복사'(33 % 완료), '정렬'(66 % 완료) 및 '축소'(100 % 완료)가 포함됩니다. reduce가 시작되는 맵의 비율은'mapred.reduce.slowstart.completed.maps'를 통해 관련이 없으며 다르게 구성 될 수 있다고 생각합니다. 리포터의 방법을 사용하여 각 단계의 상태를 수동으로 지정/변경할 수도 있습니다. – vefthym