2014-10-24 5 views
3

나는 hadoop에 익숙하다. 아직 익숙하지 않다.단일 노드 클러스터 (hadoop)의 최대 컨테이너는 얼마입니까?

노드 당 최대 컨테이너를 묻기 만하면됩니다.

**mapred-site.xml** 
map-mb : 4096 opts:-Xmx3072m 
reduce-mb : 8192 opts:-Xmx6144m 

**yarn-site.xml** 
resource memory-mb : 40GB 
min allocation-mb : 1GB 

위의 설정은 4 ~ 5 작업을 실행할 수 있습니다 : 나는 단일 노드 클러스터 (기가 바이트 램 노트북) 아래

등을 사용하고

내 mapred와 실 구성입니다. 최대 8 개의 컨테이너.

답변

9

단일 NodeManager (hadoop worker)에서 실행되는 최대 컨테이너는 노드 관리자가 사용하는 메모리 양과 응용 프로그램 별 요구 사항에 따라 달라집니다.

기본값은 yarn.scheduler.*-allocation-*입니다. 1GB (최소 할당), 8GB (최대 할당), 1 코어 및 32 코어입니다. 따라서 최소 및 최대 할당은 노드 당 컨테이너 수에 영향을줍니다.

yarn.scheduler.minimum-allocation-mb: 128 
yarn.scheduler.maximum-allocation-mb: 2048 
yarn.scheduler.minimum-allocation-vcores: 1 
yarn.scheduler.maximum-allocation-vcores: 2 
yarn.nodemanager.resource.memory-mb: 4096 
yarn.nodemanager.resource.cpu-vcores: 4 

위의 구성은 atmost 4기가바이트와 4 개의 가상 코어를 사용하고 각 컨테이너는 것과 하둡을 알려줍니다 : 당신은 기가 바이트 RAM과 4 개 개의 가상 코어가있는 경우

그래서, 여기처럼 YARN 구성이 같아야하는 방법이다 128MB ~ 2GB의 메모리와 1 ~ 2 개의 가상 코어를 가질 수 있습니다. 이러한 설정을 사용하면 최대 한 번에 최대 2 개의 컨테이너를 실행할 수 있습니다. 맵리 듀스 특정 구성에 대한 지금

:

yarn.app.mapreduce.am.resource.mb: 1024 
yarn.app.mapreduce.am.command-opts: -Xmx768m 
mapreduce.[map|reduce].cpu.vcores: 1 
mapreduce.[map|reduce].memory.mb: 1024 
mapreduce.[map|reduce].java.opts: -Xmx768m 

이 구성, 당신은 이론적으로 최대 4 매퍼/4 개 기가 바이트 용기에 동시에 실행 감속기를 가질 수있다. 실제로 MapReduce 응용 프로그램 마스터는 1GB 컨테이너를 사용하므로 실제 매퍼와 리듀서의 수는 3 개로 제한됩니다. 메모리 제한을 가지고 놀 수 있지만 최적의 것을 찾기 위해 약간의 실험이 필요할 수 있습니다.

일반적으로 힙 크기는 사용 가능한 총 메모리의 약 75 %로 제한해야보다 원활하게 실행될 수 있습니다.

yarn.scheduler.minimum-allocation-mb 속성을 사용하여 컨테이너 당 메모리를 설정할 수도 있습니다.

생산 시스템에 대한 자세한 구성은 hortonworks의 document을 참조로 사용하십시오.

+0

내 Hadoop 2.5.2 클러스터에는 각각 8GB RAM 및 8VCPU 코어가있는 마스터 노드와 RAM이 2GB이고 슬레이브 노드가 10 개인 1VCPU 코어가 있습니다. MapReduce 애플리케이션을위한 5 개의 Inputsplit이 생성됩니다. 하나의 컨테이너가 하나의 슬레이브 노드에서만 실행 중입니다. 어떤 confgiuration이 applciaton이 모든/masx 노예를 사용할 수있게 할 것인가. 50 개의 슬레이브 노드로 애플리케이션을 실행하려고합니다. – Tariq