YARN的Node Label机制

这篇具有很好参考价值的文章主要介绍了YARN的Node Label机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

YARN的Node Label机制

Node Label的介绍

官网对NodeLabel的介绍如下:

Node label is a way to group nodes with similar characteristics and applications can specify where to run.
节点标签是一种对具有相似特征的节点进行分组的方法,应用程序可以指定在哪里运行。

那么标签到底是做什么的?

我们可以创建多个队列,划分集群的总的资源。例如队列hive占集群总资源的70%,那么这个70%具体会落地在哪一个节点上呢?没办法确定,有可能在qianfeng01,也有可能在qianfeng03。而节点标签,可以为每一个NodeManager打上标签,可以限定某一个程序只能够运行在哪些节点上。例如我希望我的wordcount的程序只会运行在qianfeng02和qianfeng03节点上,这就是标签的作用。

开启标签

修改 yarn-site.xml 文件,添加如下配置:

<!-- 启用节点标签 -->
<property>
    <name>yarn.node-labels.enabled</name>
    <value>true</value>
</property>

<!-- 节点标签存储的路径,可以是HDFS,也可以是本地文件系统 -->
<!-- 如果是本地文件系统,使用类似file:///home/yarn/node-label这样的路径 -->
<!-- 无论是HDFS,还是本地文件系统,需要保证RM有权限去访问 -->
<property>
    <name>yarn.node-labels.fs-store.root-dir</name>
    <value>hdfs://qianfeng01:9820/tmp/yarn/node-labels/</value>
</property>

<!-- 保持默认即可,也可以不配置这个选项 -->
<property>
    <name>yarn.node-labels.configuration-type</name>
    <value>centralized</value>
</property>

分发到每一个节点,重启YARN即可。

标签管理
添加标签
yarn rmadmin -addToClusterNodeLabels "label_1"
yarn rmadmin -addToClusterNodeLabels "label_2,label_3"
查看标签
yarn cluster --list-node-labels
删除标签
yarn rmadmin -removeFromClusterNodeLabels label_1
为节点打上标签
# 绑定一个NodeManager与Label
yarn rmadmin -replaceLabelsOnNode "qianfeng02=label_2"
# 绑定多个NodeManager与Label的关系,中间用空格分隔
yarn rmadmin -replaceLabelsOnNode "qianfeng02=label_2 qianfeng03=label_2"

# 一个标签可以绑定多个NodeManager,一个NodeManager只能绑定一个标签。
# 例如上方的,label_2就绑定在了qianfeng02和qianfeng03的NodeManager上。

# 绑定完成后,可以使用WebUI进行查看。
# 在WebUI的左侧,有Node Labels的查看,可以查看到所有的标签,以及对应的节点信息。
# 需要注意的是,如果某节点没有进行标签的绑定,则其在一个默认的<DEFAULT_PARTITION>上绑定。
为队列绑定标签

通过修改capacity-scheduler.xml实现:

<!-- 前文,我们已经新增了一个队列,现在共有两个队列: default、small -->

<!-- 设置某个队列可以使用的标签,*表示通配,可以使用所有标签 -->
<property>
    <name>yarn.scheduler.capacity.root.default.accessible-node-labels</name>
    <value>*</value>
</property>

<!-- 设置small队列可以使用label_3标签的节点资源 -->
<property>
    <name>yarn.scheduler.capacity.root.small.accessible-node-labels</name>
    <value>label_3</value>
</property>

<!-- 设置default队列可以使用label_2标签的节点资源最多60% -->
<property>
    <name>yarn.scheduler.capacity.root.default.accessible-node-labels.label_2.capacity</name>
    <value>60</value>
</property>

<!-- 设置small队列可以使用label_3标签的节点资源最多80% -->
<property>
    <name>yarn.scheduler.capacity.root.small.accessible-node-labels.label_3.capacity</name>
    <value>80</value>
</property>

<!-- 设置default队列,如果没有明确的标签指向,则默认使用label_3 -->
<property>
    <name>yarn.scheduler.capacity.root.default.default-node-label-expression</name>
    <value>label_3</value>
</property>

修改之后,无需重启,直接刷新一下队列即可: yarn rmadmin -refreshQueues

测试
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi -Dmapreduce.job.queuename=small 10 10

更多大数据精彩内容欢迎B站搜索“千锋教育”或者扫码领取全套资料  

【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频

 文章来源地址https://www.toymoban.com/news/detail-542818.html

到了这里,关于YARN的Node Label机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多尺度神经网络新一代创新!精度与速度完美平衡,实现多领域应用落地

    多尺度神经网络的设计通常基于对频率原则的理解,目的是为了解决高频成分学习慢的问题。这些网络通过特殊设计,比如给高频成分加更多的权重或者将高频成分平移到低频,来提高学习效率。 为了满足在不同层次上理解和处理数据的需求,多尺度神经网络包含了各种网络

    2024年02月20日
    浏览(40)
  • k8s集群Node节点管理:节点信息查看及节点label标签管理

    如果是kubeasz安装,所有节点(包括master与node)都已经可以对集群进行管理 如果是kubeadm安装,在node节点上管理时会报如下错误 只要把master上的管理文件 /etc/kubernetes/admin.conf 拷贝到node节点的 $HOME/.kube/config 就可以让node节点也可以实现kubectl命令管理 1, 在node节点的用户家目录创建

    2024年02月03日
    浏览(48)
  • 标题:在Godot中使用Node2D创建自定义的Label

    在Godot游戏引擎中,我们经常需要在游戏中显示文本信息。通常,我们可以使用Label节点来实现这一点。但是,在某些情况下,你可能希望更灵活地控制文本的显示和样式。在本篇博客中,我们将学习如何通过使用Node2D节点来创建一个自定义的Label,从而能够更好地控制文本的

    2024年02月11日
    浏览(31)
  • 安全测试常态化落地方案及日常推进机制

    数据安全法实施后,国家监管部门加强了对企业数据安全的监管力度。在这个大的背景下,为保障物流体系系统安全,提前规避安全风险,由测试组牵头制定安全测试流程规范并持续推进安全测试常态化。 越权类漏洞、上传漏洞、XSS漏洞、CSRF漏洞、SQL注入漏洞、任意文件读

    2024年02月12日
    浏览(35)
  • 前端环境的安装 Node npm yarn

    1.下载NodeJS安装包 下载地址:Download | Node.js 2.开始安装 打开安装包后,一直Next即可。当然,建议还是修改一下安装位置,NodeJS默认安装位置为  C:Program Files 3.验证是否安装成功 打开DOS命令界面: node -v   出现NodeJS版本即为安装成功! npm -v    出现npm的版本号说明npm工具也

    2024年02月06日
    浏览(68)
  • linux中安装node,npm和yarn

    在Linux系统上安装Node.js,按照以下步骤进行操作: 打开终端:使用任何适用的方法打开终端。 更新软件包列表:执行以下命令以确保系统的软件包列表是最新的。 安装Node.js:使用包管理器(例如apt)安装Node.js。以下是使用apt安装Node.js的命令: 这将安装Node.js的最新稳定版

    2024年02月16日
    浏览(41)
  • nvm, node.js, npm, yarn 安装配置

    nvm 是一个 node.js 管理工具,可以快捷下载安装使用多个版本的node.js linux 命令行输入: 卸载: 删除 ~/.bashrc 文件中的 windows 点击 github 链接 windows-releases, 下载下方红框中的exe文件安装即可 卸载找到安装目录中的uninstall文件即可 node.js 是 js 文件的运行环境 linux windows npm, yarn

    2024年01月20日
    浏览(64)
  • 【node】关于npm、yarn、npx的区别与使用

    用途: npm 是 Node.js 官方提供的包管理工具,用于安装、管理和分享 JavaScript 代码包。 安装依赖: 可以通过 npm install 安装项目依赖,例如: npm install package-name 。 运行脚本: 可以在 package.json 文件中定义脚本,通过 npm run script-name 执行脚本。 版本管理: 提供版本管理,可以

    2024年01月25日
    浏览(56)
  • 关于安装Node/Yarn/Electron过程中遇到的问题

    【参考文章】Node.js下载安装及环境配置教程 【问题描述】 使用 yarn create vite 命令安装项目依赖,报错如下: 【问题解决】 (1)在电脑的开始菜单中,搜索 PowerShell ,然后以 管理员身份运行 , (2)以管理员身份运行后,会出现命令窗口,接下来,输入命令 get-ExecutionPol

    2024年02月03日
    浏览(37)
  • Mac OS |升级node、yarn、npm的版本

    1.1.查看node版本

    2023年04月18日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包