Yarn详解

Yarn详解

1.Yarn架构设计(mr的提交到Yarn的流程)
RM:调度器 + APPS Manager
NM:
    Container(容器):
        1个NM --> 多个容器 --> 只能运行一个task
                            APP Master | map task | reduce task
        1台机器64G内存  16核 --> 8个容器 --> 8G + 2核

        1台机器64G内存:DN + NM = 64*(75%~85%)
        数据本地化
        生产:
            DN:4G
            NM:50G
2.调优
NM:
    yarn.nodemanager.resource.memory-mb:50 * 1024MB   (生产调)
container:memory+cpu
Memory:
    任务计算最小是1024MB:
    yarn.scheduler.minimum-allocation-mb:  1024 1G-->2G-->3G   (生产调)
    任务计算最多是8192MB,如果超过就kill:
    yarn.scheduler.maximum-allocation-mb:  8192<=50G           (生产调)
    每次增加2048M,默认是1024MB:
    yarn.scheduler.increment-allocation-mb: 2048  (CDH平台)   
    增加到最大时执行kill,默认为true;    
    yarn.nodemanager.pmem-check-enabled:    true


    yarn.nodemanager.vmem-pmem-ratio    2.1      使用1G内存 2.1虚拟内存
    yarn.nodemanager.vmem-check-enabled true

    SWAP:硬盘做的,说白了,就是拿一个比如20G的盘作为内存
    参数:http://blog.csdn.net/javastart/article/details/51375287

    高度计算
        1.不允许计算慢,允许挂掉:swap 没有
        2.允许计算慢,不允许任务挂掉:swap 有

        vm.swappiness=0-100
        0:不是禁用,说明调用swap的积极性是最差的
        10:调用swap的积极性是稍微好点
        100:太积极

        生产:选择2+vm.swappiness=10
CPU:
yarn.nodemanager.resource.cpu-vcores        -1
yarn.scheduler.minimum-allocation-vcores    1   
yarn.scheduler.maximum-allocation-vcores    4<=32    (生产调)

vcore:虚拟核
1个物理核为2个虚拟核  CDH有个参数,一般默认就行

http://blog.itpub.net/30089851/viewspace-2127851/
http://blog.itpub.net/30089851/viewspace-2127850/
JVM系列:
http://blog.itpub.net/30089851/cid-180723-abstract-1/
3.Yarn的常用命令
yarn application -list
yarn application -kill application_1513862674371_0003(App的id)
4.queue:队列 见CDH (补充)
需求:
    1.项目:
        开发
        测试      开发/测试队列
        部署生产    生产队列 

        就是一套集群环境
    2.多个项目:
        项目1生产   队列1 资源少点
        项目2生产   队列2 资源多点
        就是一套集群环境

        开发和测试就是另外一套
    默认:default

    调度:
        计算调度
        公平调度 Fair (生产)
    http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-configurations-fair-scheduler/

【来自@若泽大数据】

你可能感兴趣的:(Yarn详解)