资源组管理
概述
资源组的定义
一个hadoop资源组对应YARN上的一个队列,不同租户/项目/任务使用不同的资源组可实现资源隔离
资源组的创建和管理
新建资源组
在「控制台」的「资源管理」模块下的「资源全景」菜单中点击「新建资源组」,填写「资源组名称」、「绑定的资源队列」以及「描述」等信息。进行绑定资源队列的选择时会展示该队列的资源使用情况及被其他资源组绑定的情况。若没有可选队列,需要检查在yarn的配置文件里检查是否已经配置了队列。
资源组是通过资源队列的名称与资源队列建立绑定关系。若资源队列改名后,资源组需重新绑定,否则跑在资源组上的所有任务将报错。
YARN上的资源队列会自动生成一个同名的资源组,且一个资源组仅可对应一个资源队列。
在「控制台」的「资源管理」模块下点击「绑定新租户」。选择租户和集群后,可以进行该集群下默认资源组的选择。选择一个默认资源组后,该租户下产品的所有项目默认有此资源组的使用权限。
进入「租户绑定」分页,点击「资源管理」按钮,展示「资源管理」弹窗,如下图所示。
若进行默认资源组的切换,则租户下的原有项目资源组的授权保持不变,新建项目的默认资源组将会使用新默认资源组;
针对不同任务可以添加资源限制,如下图
资源组表格
在「控制台」的「资源管理」模块下的「资源全景」菜单中可以看到「资源组」表格,展示了所有资源组的详细情况。可以在表格中看到各资源组已使用容量、分配容量、最大容量等信息。
已使用容量:计算方式:绑定队列已使用容量(Used Capacity)/該队列分配容量(Configured Capacity)。
分配容量:即Configured Capacity。
最大容量:即Configured Max Capacity。
在「资源组」表格中,可以进行「编辑」操作,对「资源组名称」、「资源队列」和「描述」进行修改。当资源组不存在授权项目时,资源组可删除。
资源组项目授权
在「控制台」的「资源管理」模块下的「资源全景」菜单中的「资源组」表格,可以对资源组进行「授权项目」操作。
进入「项目授权情况」页面,可以查看该资源组所有项目的授权情况。租户与集群绑定后若选中了某资源组作为默认资源组,则該资源组的授权项目会添加該租户的所有项目,该租户下当前及之后新建的所有项目都有该资源组的使用权限,租户切换默认资源组时,已授权项目不自动取消授权。
除了可在租户层面添加默认资源组,在「项目授权情况」页面点击右上角「添加授权项目」,可以将资源组分配给某一具体项目。点击「添加授权项目」,可选择当前集群下所有租户子产品的所有项目进行资源组的授权。
将资源组对某一项目进行「取消授权」操作,会对该项目的资源使用情况进行判断。
离线开发资源组使用
项目管理中的资源组查看管理
在「项目管理」下的「开发设置」中,可以查看当前项目下资源组的授权和使用情况。测试项目中可配置与正式项目中的资源组映射关系,任务发布时在生产环境中使用的资源组将根据此处的映射做替换。
任务在一键发布时会判断任务所用的资源组是否存在正式项目的资源组映射,如果不存在,则发布失败。
项目默认资源组设置
在「项目管理->开发设置」中,资源组前的小黄星被点亮,代表该资源组为默认资源组。项目管理员角色及以上角色,可单击小黄星,切换项目默认资源组。
数据开发任务资源组配置
可指定YARN资源组的任务/临时查询类型
运行在YARN上的任务:Shell、Python、PySpark、Spark、HadoopMR、Spark SQL、Hive SQL、Flink on YARN的数据同步、工作流中的以上节点;
运行在YARN上的临时查询:Spark SQL、Python 2和3、Shell;
指定资源组配置入口
任务:在「数据开发-任务的调度依赖-调度属性」中进行资源组的配置(工作流任务的资源组由工作流子节点分别设置,父节点无资源组选项)。
临时查询:在「数据开发-临时查询-基础属性」中进行资源组的配置。
资源组都为必选项,默认使用在「项目管理」中指定的默认资源组,针对任一个资源组,可以点击「查看水位」查看今日和昨日的不同时段的资源负载情况,用于资源组选择的参考。
q