2017-01-04 4 views
0

EMR 클러스터에 필요한 노드 수를 결정하려고합니다. 모범 사례의 일환으로 권장 사항은 다음과 같습니다AWS EMR 병렬 매퍼?

(공정으로 이송 작업 + 시간에 필요한 총 매퍼가)/(예를 용량 + 원하는 시간 당) 여기에 설명 된대로 : http://www.slideshare.net/AmazonWebServices/amazon-elastic-mapreduce-deep-dive-and-best-practices-bdt404-aws-reinvent-2013, 89 페이지

질문 AWS가 공개하지 않아 인스턴스가 지원할 병렬 매퍼의 수를 결정하는 방법은 무엇입니까? https://aws.amazon.com/emr/pricing/

죄송합니다.

웨인

답변

1

, 당신은 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의 + 메모리를 고려하여 병렬 매퍼 수를 결정합니다.

+0

정말 고마워요. 그것은 잡초에 확실히 숨어있었습니다. – Xathras

+0

물론입니다. 기쁜 데 도움이됩니다. –