• YARN调优


    CPU资源调度

    1.设置yarn的虚拟核数

    yarn.nodemanager.resource.cpu-vcores=8

    表示该节点服务器上yarn可以使用的虚拟CPU个数,默认是8,推荐将值配置与物理核心个数相同,如果节点CPU核心不足8个,要调小这个值,yarn不会智能的去检测物理核心数

    注意:如果节点CPU核心不足8个,而却设置了比如32,每个核心分配了2G,yarn会申请322,导致超出系统内存,任务无法提交报错*

    2.单个任务最小虚拟核心数

    yarn.scheduler.minimum-allocation-vcores
    单个任务最小可申请的虚拟核心数,默认为1

    3.单个任务最大虚拟核心数

    yarn.scheduler.maximum-allocation-vcores
    单个任务最大可申请的虚拟核心数,默认为4,如果申请资源时,超过这个配置,会抛出InvalidResourceRequestException

    队列

    参考:http://t.zoukankan.com/candlia-p-11920294.html

    root
    ------a[60%]
          |---a.bi[40%]
          |---a.realtime[60%]
    ------b[40%]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    a队列占用整个资源的60%,b队列占用整个资源的40%。
      a队列里面又分了两个子队列,一样也是2:3分配。
    
    虽然有了这样的资源分配,但是并不是说a提交了任务,它就只能使用60%的资源,那40%就空闲着。只要资源实在空闲状态,那么a就可以使用100%的资源。但是一旦b提交了任务,a就需要在释放资源后,把资源还给b队列,直到ab平衡在3:2的比例。
      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    Memory资源调度

    yarn一般允许用户配置每个节点上可用的物理资源,注意,这里是"可用的",不是物理内存多少,就设置多少,因为一个服务器节点上会有若干的内存,一部分给yarn,一部分给hdfs,一部分给hbase;Member相关的配置如下:

    1.yarn.nodemanager.resource.memory-mb
    设置该节点上yarn可使用的内存,默认为8G,如果节点内存资源不足8G,要减少这个值,yarn不会智能的去检测内存资源,一般这个设置yarn的可用内存资源

    2.yarn.scheduler.minimum-allocation-mb
    单个任务最小申请物理内存量,默认1024MB,根据自己的业务设定

    3.yarn.scheduler.maximum-allocation-mb
    单个任务最大申请物理内存量,默认为8291MB

    <configuration>
    
        <property>
            <name>yarn.scheduler.capacity.root.queuesname>
            <value>default,default2value>
          <description>用于配置队列名称
     			 description>
        property>
      
        <property>
            <name>yarn.scheduler.capacity.root.default.capacityname>
            <value>80value>
        property>
     
        <property>
            <name>yarn.scheduler.capacity.root.default2.capacityname>
            <value>20value>
        property>
      
      
        <property>
            <name>yarn.scheduler.capacity.root.default2.maximum-capacityname>
            <value>80value>
            <description>xxx分析最多使用description>
        property>
      
      
        <property>
            <name>yarn.scheduler.capacity.root.capacityname>
            <value>90value>
        property>
      
    
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
  • 相关阅读:
    .NET软件开发工程师面试题
    人工智能论文通用创新点(一)——ACMIX 卷积与注意力融合、GCnet(全局特征融合)、Coordinate_attention、SPD(可替换下采样)
    【Linux】如何实现虚拟机系统与本地系统的通信连接
    Spark基础操作(一)
    电子秤方案:做一个宠物勺方案设计
    基于STM32L431的Liteos低功耗Runstop模式的实现
    anaconda pytorch cpu安装 顺着流程走 没有装不了的
    React学习之路-目录结构
    【mindspore训练】modelzoo-resnet50模型训练后验证
    EMC的解决
  • 原文地址:https://blog.csdn.net/mr_zhangs/article/details/127746439