1. hadoop 2.0 yarn 구조
2. yarn operation flow
resource manager와 node manager로 구성되며, 클러스터내 어플리케이션 코드를 수행하는 container를 관리한다 (container별로 cpu, 메모리 등 리소스 할당)
3. mapreduce1과 yarn 비교
mapreduce |
yarn |
jobtracker |
resource manager, application master, timeline server |
tasktracker |
node manager |
slot |
container |
4. yarn 스케쥴 options
yarn.resourcemanager.scheduler.class 설정
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FifoScheduler
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
Queue 사용하는 방법은 application property에 queue 값을 설정
( mapreduce.job.queue, ex => mapreduce.job.queue = prod )
1) FIFO (first in, first out)
먼저 들어온 job를 모든 리소스를 사용하여 먼저 처리후 다음 작업을 실행
2) Capacity (shared cluster일때 유용)
분리된 dedicated queue 사용하여 job을 처리, 큰 규모의 job일 경우 FIFO보다 느림
<configuration>
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>prod,dev</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.prod.capacity</name>
<value>90</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.capacity</name>
<value>10</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.maximum-capacity</name>
<value>15</value>
</property>
</configuration>
3) Fair Schedulers (shared cluster일때 유용)
들어 오는 job별로 공평하게 resouce를 분배하여 처리하여 사용함
yarn.scheduler.fair.user-as-default-queue (user별로 queue 구성)
yarn.scheduler.fair.allow-undeclared-pools (선언 안된 pool은 사용하지 않음)
<allocations>
<defaultQueueSchedulingPolicy>fair</defaultQueueSchedulingPolicy>
<queue name="prod">
<weight>40</weight>
<schedulingPolicy>fifo</schedulingPolicy>
</queue>
<queue name="dev">
<weight>60</weight>
</queue>
<queuePlacementPolicy>
<rule name="specified" create="false" /> -- job queue 이름을 기술
<rule name="primaryGroup" create="false" /> -- queue 이름이 없으면 unix group
<rule name="default" queue="dev" /> -- 위에것이 없으면 default queue
</queuePlacementPolicy>
</allocations>
-- default
<queuePlacementPolicy>
<rule name="default" />
</queuePlacementPolicy>
'NoSQL > Hadoop' 카테고리의 다른 글
hadoop serialization and deserialization (0) | 2017.03.10 |
---|---|
hadoop compression and decompression (0) | 2017.03.10 |
hadoop read & write (0) | 2017.03.06 |
hadoop streaming (0) | 2017.03.06 |
hadoop locality (0) | 2017.03.06 |