질문 : Hadoop의 DataNode 수를 설정하는 방법은 무엇입니까?
데이터 노드 수를 설정하거나 계산하는 데 사용됩니다.
H = C R S/(1-I)
:
C = 평균 압축 우선 하둡 저장 (H) 견적 비율. 사용 된 압축 유형 (Snappy, LZOP, ...) 및 데이터 크기에 따라 다릅니다. 압축을 사용하지 않으면 c = 1입니다.
r = 복제 인자. 일반적으로 프로덕션 클러스터에서는 3입니다.
S = Hadoop으로 옮길 데이터의 크기. 이는 히스토리 데이터와 증분 데이터의 조합이 될 수 있습니다. 증분 데이터는 예를 들어 일일 일 수 있으며 일정 기간 (예 : 3 년) 동안 예상 할 수 있습니다.
i = 중간 인자. 대개 1/3 또는 1/4입니다. 하둡의 작업 공간은 맵 단계의 중간 결과를 저장하는 데 전념합니다.
예 : 상기 가정과 .25 = 4분의 1
H= 1*3*S/(1-1/4)=3*S/(3/4)=4*S
없이 압축 즉, C = 1, 3의 복제 인자, 중간 계수는 하둡 스토리지는 4로 추정되는 초기 데이터 크기의 크기를 곱합니다.
지금 수식 데이터 노드 (N)의 수를 추정하기 : S/(1-I)
N = H/D = C R * D를
곳 :
d = 노드 당 사용 가능한 디스크 공간.
질문 : "노드 당 10-100 개 정도의 맵이 기본 설정되어 있으므로"여기 "노드"는 NameNode 또는 DataNode를 의미합니까?
MapReduce 작업은 처리를위한 데이터로 이동하지만 그 반대의 경우는 사실이 아닙니다.그래서 여기서 "노드"는 데이터 노드입니다.
질문 : 얼마나 많은지도가 있습니까?
맵의 수는 일반적으로 입력의 전체 크기이다 , 입력 파일의 총 블록 수에 의해 구동된다.
오른쪽 CPU 수준의 맵 작업을 위해지도가 300 개까지 설정되었지만 맵의 병렬 처리 수준은 노드 당 약 10-100 개의 맵인 것으로 나타났습니다 (노드 당 ). 작업 설정에는 다소 시간이 걸리므로 맵에 분이 걸리는 것이 가장 좋습니다.
당신이 입력 데이터의 10TB를 havve과 (단지 framework에 대한 힌트를 제공) Configuration.set(MRJobConfig.NUM_MAPS, int)
그것이 더 높은 설정하는 데 사용되지 않는 128메가바이트의 블록 크기, 당신은, 82000지도하게 될 겁니다합니다.
확인을 위해 게시물의 마지막 부분을 제거했습니다. 당신이 wiki에서 내용을 인용하기 때문에 틀릴 수 없습니다. –
단어로 재생, Nice ... !!. 좋습니다. –
https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html지도의 수와 관련하여 동일 함을 확인하십시오. –