任务不再等待!玩转DataWorks资源组

发布于 3月20日  约 19 分钟

引言

DataWorks提供了三种资源组的能力:独享资源组、自定义资源组和默认资源组,很多开发者在使用资源组时经常会碰到各类情况,到时候任务运行失败或者延迟,例如: 1. 正在使用默认资源组,任务经常要等待 2.购买错了资源组类型(独享数据集成资源组与独享调度资源组),使用不了 3.购买错了地域(杭州开通DataWorks购买了北京的资源组) 4.没买错资源组类型,也没买错地域,当天还是用不了

通过本篇文章,为您介绍三种资源组的使用场景、使用方式等;下图描述了整个任务在运行过程中不同类型使用的资源组的流程;

调度有三种资源组:默认、独享、自定义;DataWorks中的数据集成也有同样的三种资源组:默认、独享、自定义;数据集成的同步资源管理复用调度系统资源管理系统,在使用DataWorks的时候,如果需要使用数据集成任务,那么需要区分开调度和数据集成2种资源组的概念;

默认资源组

默认资源组是DataWorks在租户开始使用时候就给每个租户颁发的资源组了,租户内所有项目共享,不需要任何配置、操作就可以运行任务;但是该默认资源组需要说明节点:

  • 使用场景:
  • 默认资源组是在租户购买了DataWorks时候就会默认创建的,可以支持用户在页面进行数据开发、运行测试等能力,目前是免费支持的;
  • 任务量相对较少,或者相对来说对任务时效性要求不高的场景
  • 提供的能力
  • 支持所有的任务类型,但不支持:
  • 需要公网访问外部服务,且需要白名单的不支持;
  • 需要访问VPC的任务不支持
  • 需要访问公网的也不建议使用,建议切换其他资源组使用;
  • 任务安全沙箱的能力
  • 注意事项
  • 默认资源组最大调度资源是有固定分配的默认大小的;所有租户下项目共享,会存在项目之间的资源抢占,不能100%保障任务按时获得资源运行;
  • 默认资源组是在平台的公共集群下的,所有租户都共享该集群资源,所以在高峰期会存在租户之间的资源抢占,不能100%保障任务按时获得资源运行;
  • 费用
  • 按量付费(实例费用、同步进程费用等)

独享资源组

目前DataWorks的独享资源组提供了2种:独享调度资源组和独享数据集成资源组,在此处为了更好的理解为什么需要2种资源组的方式,可以将独享数据集成资源组理解为MaxCompute的计算资源概念,因为数据集成隶属于DataWorks产品内,所以在同步资源是跟调度资源在一起购买的;可以参考引言中的图;

一、独享调度资源组

(1)信息说明

  • 版本要求:无
  • 类型:
  • 独享调度资源组
  • 独享数据集成资源组
  • 使用场景
  • 推荐只要生产任务都使用独享资源组
  • 资源可随时调配
  • 任务产出可得到保障
  • 任务量大、且对任务时效性要求高的场景必须使用独享
  • 需要访问公网地址、访问VPC地址,请使用独享
  • 访问目的端服务,需要配置白名单的场景,请使用独享
  • 自己VPC与IDC已经打通,任务需要访问IDC的,可使用独享解决网络问题;
  • 注意事项
  • 独享目前不能支持跨租户节点、机器学习任务;其余支持
  • 购买独享资源组的时候,务必要注意购买与自己VPC在同一个可用区
  • 切换任务资源组的时候:
  • 注意每种任务类型都需要测试验证:网络是否已经打通
  • 费用:
  • 调度:相对默认资源组,如果实例超过500个,独享资源会相对便宜很多;不收取实例费用,仅资源费用;

(2)如何修改任务运行到独享调度资源组

特别特别注意: 1、在运维中心任务修改资源组周期任务是需要第二天才会生效,及时生效可以通过测试或者补数据运行即可; 2、__一定要先单个测试在批量修改,__一定要先单个测试在批量修改,__一定要先单个测试在批量修改 3、如果有网络打通的,优先将网络打通,可以在测试的时候验证出来的; 详细操作步骤:

  • 新增页面,选择“独享调度资源组”:

  • 点击购买链接,去购买:此处特别建议:至少购买2台(做容灾保障,Failover的能力)

  • 购买完毕后,就可以返回在控制台刚才的创建页面,选择订单号了:
  • 然后选择可用区:特别特别注意:可用区需要跟您的VPC在一个可用区:(就是你的任务是否需要访问VPC地址,比如访问ads、adb等,就需要跟次VPC在一个可用区)如果没有可用,提工单!

  • step2:购买成功后,大概需要等待5分钟左右,资源组即可创建完毕;【需要点击刷新按钮,不会主动刷新】

  • step3:将资源组分配到需要的项目中使用,点击:“修改归属空间”,点击确定接口

  • step4:指定完毕项目空间后,就可以切换到运维中心去修改任务资源组了;
  • step5:打开运维中心,切换到指定项目下,比如此处上述资源组分配到了monitor_prj项目中,到该项目的到周期任务中,选择需要修改的,点击下方有个更多里面有个修改资源组;

特别特别注意:虚节点、工作流、机器学习等任务类型不要选择上,因为这些不支持资源组修改;

->

  • step6:修改完毕资源组后,可以点击任务详情,查看属性,就可以看到任务的资源组信息:

  • step7:测试验收:
  • 任务资源组修改完毕后,可以进行测试、补数据运行,任务就会运行到当前的资源组上,可以通过查看日志判断任务是否已经在独享资源组上:

->

  • 任务运行成功,在看下日志了,是否都OK的,就说明该任务运行到独享资源组上没有什么问题;
  • step8:批量修改同一种任务类型的任务切换到该资源组上:
  • 过滤节点类型
  • 全选

以上,就完成了将任务迁移到独享资源组运行的操作了;

二、独享数据集成资源组

(一)信息说明

  • 版本要求:无
  • 使用场景
  • 推荐只要生产任务都使用独享数据集成资源组
  • 资源可随时调配
  • 任务产出可得到保障
  • 任务量大、且对任务时效性要求高的场景必须使用独享
  • 需要访问公网地址、访问VPC地址,请使用独享
  • 访问目的端服务,需要配置白名单的场景,请使用独享
  • 自己VPC与IDC已经打通,任务需要访问IDC的,可使用独享解决网络问题;
  • 注意事项
  • 如果数据源是经典网络的,不可迁移到独享,因为独享是VPC的
  • 购买独享资源组的时候,务必要注意购买与自己VPC在同一个可用区

(二)如何修改任务运行到独享数据集成资源组

写在最前面: 1、一定要先单个测试在批量修改,一定要先单个测试在批量修改,一定要先单个测试在批量修改 2、如果有网络打通的,优先将网络打通,可以在测试的时候验证出来的; 3、独享数据集成资源组是在数据开发页面修改提交,发布后是及时生效的; 详细操作步骤:

  • step1:购买创建、分配流程:同独享调度资源组是一致的,注意一点就是规格问题:简单理解多大内存就允许多大并发
  • step2:修改任务到独享数据集成资源组,登录到对应项目空间的数据开发页面,找到你的同步任务,打开编辑:
  • 通过向导模式配置任务时,在通道控制 > 任务资源组下拉框中,选择相应的独享数据集成资源。

  • 通过脚本模式配置任务时,单击右上角的配置任务资源组,在任务资源组下拉框中,选择相应的独享数据集成资源。

  • step3:任务资源组修改完毕后,保存,提交;发布后,一样的,在运维中心进行测试或者补数据运行,就可以验证是否测试通过
  • step4:目前数据集成资源组的修改无法支持批量修改,只能按照上述方法,逐一任务修改!

三、专有网络绑定

  • 使用场景
  • 当配置的任务需要访问自己VPC内的地址的时候,就需要做VPC之间的网络打通,比如需要访问adb的vpc,那就必须要做这一步
  • 如果你的VPC跟你的IDC已经专线打通,那也可以通过此功能将独享与你的idc打通,可以支持任务运行,不过此操作需要平台支持
  • 前提条件
  • 创建的独享资源组与自己VPC在一个可用区
  • 如果不在一个可用区:建议重新购买创建;若无法重新创建则只能提工单需求!
  • 操作步骤
  • step1:打开控制资源组列表,找到独享资源组->专有网络绑定

  • step2:点击后,需要授权使用,点击授权即可
  • step3:选择需要绑定的资源组,点击 新增绑定:

  • step4:填写对应的自己VPC下的信息:
  • 特别注意:选择VPC、交换机、安全组都是你目的端要访问的云产品实例所在的
  • 如果没有交换机或者安全组,可点击创建(注意创建的时候都要在该可用区下)

  • step5:如果你的云产品实例需要配置白名单的话:绑定成功后,回到独享资源组列表,点击 查看信息:
  • 会有eip、网段,需要将此2个IP和ip段作为白名单列表添加到你对应的云产品实例的IP白名单列表中;
  • 同时,需要将自己云产品实例所在的交换机网段(内网网段)也添加到自己的白名单IP列表中
  • 特别特别注意:如果您的MaxCompute开启的IP白名单,任务切换到了独享资源组后,发现白名单问题,请提工单,由平台方提供IP列表添加

四、运维助手

自定义资源组

  • 版本要求:
  • 自定义调度资源组:企业版及以上,需要提工单白名单开放
  • 自定义数据集成资源组:专业版及以上
  • 解决的场景:
  • 网络问题:做数据同步需要访问自己IDC的
  • 环境因数:比如依赖了python高版本、jdk环境等等,可以使用一台环境满足的ecs作为自定义资源
  • 搬站:一些客户本地以及有工作流任务开发在运行了,期望可以减少搬站迁移的工作量,可以还是将任务直接调度到自己的服务器上,减少代码脚本的迁移;
  • 注意事项
  • 只能支持数据集成任务和shell任务
  • 操作使用:
  • 自定义数据集成资源组,参考此处:https://help.aliyun.com/document_detail/136934.html?spm=a2c4g.11186623.6.719.8b745b35mv5nrp
  • 自定义调度资源组:
  • step1:提工单申请,企业版升级;

- step2:DataWorks控制台打开,先创建资源组:

- step3:创建资源组后,在点击 服务器管理,添加服务器,特别特别注意,**此步骤最容易出错:**

  • **网络类型:只能支持专有网络;**
  • **UUID:必须使用UUID方式添加,UUID获取方法:执行`dmidecode | grep UUID`,取返回值**
  • **IP:机器的内网IP,可以登录机器:hostname -i接口或得**

- step4: 服务添加完毕后,回到自定义资源组页面,刷新按钮,点击 服务器初始化,按照初始化流程,登录到ECS操作

  • step5:服务器操作完毕后,可以到页面等待10分钟,观察服务器状态正常即可;
  • 修改任务到自定义资源组流程跟独享一样
  • 调度资源组:运维中心修改
  • 数据集成:编辑开发页面修改,需要提交发布

上云就看云栖号:更多云资讯,上云案例,最佳实践,产品入门,访问:https://yqh.aliyun.com/

本文为阿里云原创内容,未经允许不得转载。

阅读 86发布于 3月20日

推荐阅读
阿里云栖社区
用户专栏

汇集阿里技术精粹-yq.aliyun.com

11602 人关注
1521 篇文章
专栏主页
目录