, 당신은 EMR이 맵퍼의 수를 결정하는 것이 모든 인스턴스 유형에 대한 구성의 미리 정의 된 매핑 세트를 가지고 어디 EMR에서이 문서 작업 구성이라고 확인해야합니다 병렬 매퍼의 수를 확인하려면/감속기.
예를 들어 http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-task-config.html
:는 5 개 m1.xlarge 코어 노드가 있다고 할 수 있습니다. 기본에 따르면 mapred-site.xml의 구성 값을 EMR의 문서에서 해당 인스턴스 유형에 대한, 우리가
mapreduce.map.memory.mb = 768
yarn.nodemanager.resource.memory-mb = 12288
yarn.scheduler.maximum-allocation-mb = 12288 (same as above)
당신은 단순히 이전의 설정과 이상을 나눌 수는 맵퍼의 최대 수는 1 m1.xlarge 지원하세요 노드 = (12288/768) = 16
따라서 5 노드 클러스터의 경우 최대로 16*5 = 80
개의 맵퍼가 실행될 수 있습니다 (맵 전용 작업 고려). max parallel Reducers (30)의 경우도 마찬가지입니다. 매퍼와 리듀서의 조합에 대해 비슷한 수학을 할 수 있습니다. 당신이 병렬로 더 매퍼를 실행하려면
그래서, 당신은 re-size
클러스터 또는 하나가 모든 노드에 mapreduce.map.memory.mb
(및 힙 mapreduce.map.java.opts
)을 줄이고 무엇을 위 mapred-을 이해하기
에 NM를 다시 시작할 수 있습니다 site.xml의 속성을 의미하고 그 계산을 할 필요가 왜, 당신은 여기를 참조 할 수 있습니다 : https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
주을 : EMR은,539로 YARN capacity scheduler
를 사용하여 기본 구성에 남아있는 경우 위의 계산과 문장에 해당하는. 예를 들어 DominantResourceCalculator
을 사용하도록 용량 스케줄러를 구성하면 메모리의뿐만 아니라 모든 노드에서 VCPU의 + 메모리를 고려하여 병렬 매퍼 수를 결정합니다.
정말 고마워요. 그것은 잡초에 확실히 숨어있었습니다. – Xathras
물론입니다. 기쁜 데 도움이됩니다. –