zoukankan      html  css  js  c++  java
  • CH8 YARN节点标签

    概述

    节点标签是对节点分组,应用可以指定在哪里运行。
    先在只支持node分区:
    1.一个node 只能有一个标签,默认标签为default
    2.用户需要配置一个分区可以有多少资源
    3.有2种节点分区
    3.1 独占的,当准确的匹配node分区的时候
    3.2非独占,就是没有准确的node 分区,被分配到默认分区。
    用户可以设置node标签,可以被所有的队列访问,一个应用只能使用node标签下的子节点。

    特性

    node标签支持以下一些特性:

    • 分组集群:每个node可以关联一个标签,所以整个集群会被分为几个分区。
    • node标签在队列的ACL:用户在每个队列上设置node标签,这样的话每个队列只能访问一部分节点
    • 指定队列能够访问资源的百分比
    • 请求时可以指定node标签,若找不到node标签会被分配到default分区。
    • 可操作性:
      • RM重启node标签映射也会被恢复
      • 更新node标签,admin可以更新node标签,当rm运行的时候。
    • 有3中方式从NM映射到node标签
      • 中心化:通过CLI,REST,RPC完成node 到标签的映射
      • 分布式:可以通过配置NM中的node标签提供方来完成node 到标签的映射,目前有2中方式:1.脚本,2。配置
      • 延迟中心化:可以通过配置RM中的node标签提供方来完成node 到标签的映射。
      配置
      RM启动node标签
      在yarn-site.xml中设置
    属性
    yarn.node-labels.fs-store.root-dir hdfs://namenode:port/path/to/store/node-labels/
    yarn.node-labels.enabled true
    yarn.node-labels.configuration-type “centralized”, “delegated-centralized” , “distributed”. Default value is “centralized”.

    注意:

    • 保证yarn.node-labels.fs-store.root-dir被窗前,并且RM有权限访问
    • 如果需要保存在本地文件系统路径设置为file:///home/yarn/node-label
    增加删除node标签
    • 增加一个node标签列表
      • 执行yarn rmadmin -addToClusterNodeLabels "label_1(exclusive=true/false),label_2(exclusive=true/false)"
      • exclusive,默认为true
      • 运行yarn cluster --list-node-labels检查
    删除node标签
    • 删除集群node标签
      • 删除 yarn rmadmin -removeFromClusterNodeLabels "
      • 如果已经被分配到队列,那么无法删除标签
      • 为了验证node标签是否被删除,运行yarn cluster --list-node-labels
      增加node到标签的映射
      • 中心化配置:
        • 执行yarn rmadmin -replaceLabelsOnNode “node1[:port]=label1 node2=label2” [-failOnUnknownNodes].把node1映射到label1,node2映射到label2
      • 分布式node标签映射:
    属性
    yarn.node-labels.configuration-type 如:distributed
    yarn.nodemanager.node-labels.provider 如果为distributed,用户可以配置config,script或者class。
    yarn.nodemanager.node-labels.resync-interval-ms 定时从RM同步标签
    yarn.nodemanager.node-labels.provider.fetch-interval-ms 定期从node标签提供者获取标签
    yarn.nodemanager.node-labels.provider.fetch-timeout-ms 如果提供者是script,如果配置了超时,超时的时候会中断标签获取
    yarn.nodemanager.node-labels.provider.script.path 脚本位置
    yarn.nodemanager.node-labels.provider.script.opts 脚本参数
    yarn.nodemanager.node-labels.provider.configured-node-partition 如果提供者是配置,从这个 配置中回去分区标签
    • 延迟中心化配置
    属性
    yarn.node-labels.configuration-type delegated-centralized
    yarn.resourcemanager.node-labels.provider 延迟中心化,管理员需要配置类名用来获取节点标签,org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsMappingProvider
    yarn.resourcemanager.node-labels.provider.fetch-interval-ms 定期从node标签提供者获取node标签
    配置调度器的node标签
    • 容量调度器配置
    yarn.scheduler.capacity..capacity 设置队列可以访问默认分区的容量
    yarn.scheduler.capacity..accessible-node-labels 配置每个队列可以访问的node标签,如“hbase,storm”
    yarn.scheduler.capacity..accessible-node-labels. 设置队列可以访问标签分区中的容量百分比
    yarn.scheduler.capacity..accessible-node-labels. 指定标签,队列最大可访问容量
    yarn.scheduler.capacity..default-node-label-expression 设置默认的标签,如果没有指定标签,会被分配到该标签

    如队列结构:

    root

    graph TD A[root] --> B(enginer) A[root] --> C(sales) A[root] --> D(marketing)

    一共有5个节点(h1…h5),每个节点,有24G内存,24核。
    有如下配置:

    yarn.scheduler.capacity.root.queues=engineering,marketing,sales
    yarn.scheduler.capacity.root.engineering.capacity=33
    yarn.scheduler.capacity.root.marketing.capacity=34
    yarn.scheduler.capacity.root.sales.capacity=33
    
    yarn.scheduler.capacity.root.engineering.accessible-node-labels=GPU
    yarn.scheduler.capacity.root.marketing.accessible-node-labels=GPU
    
    yarn.scheduler.capacity.root.engineering.accessible-node-labels.GPU.capacity=50
    yarn.scheduler.capacity.root.marketing.accessible-node-labels.GPU.capacity=50
    
    yarn.scheduler.capacity.root.engineering.default-node-label-expression=GPU
    
  • 相关阅读:
    BNU Online Judge-29140
    HDU-1022-Train Problem I
    HDU-1312-Red and Black
    BNU Online Judge-34978-汉诺塔
    BNU Online Judge-34976-数细菌
    BNU Online Judge-34973-Liserious战队
    HDU-1010-Tempter of the Bone
    HDU-1518-Square
    thinkphp笔记
    1210. 连号区间数
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/14943688.html
Copyright © 2011-2022 走看看