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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

墨祤@DataWorks 2020-03-09 11:31:49 浏览415
展开阅读全文

引言

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

通过本篇文章,为您介绍三种资源组的使用场景、使用方式等;下图描述了整个任务在运行过程中不同类型使用的资源组的流程;
image.png
    调度有三种资源组:默认、独享、自定义;DataWorks中的数据集成也有同样的三种资源组:默认、独享、自定义;数据集成的同步资源管理复用调度系统资源管理系统,在使用DataWorks的时候,如果需要使用数据集成任务,那么需要区分开调度和数据集成2种资源组的概念;

默认资源组

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

  • 使用场景:

    • 默认资源组是在租户购买了DataWorks时候就会默认创建的,可以支持用户在页面进行数据开发、运行测试等能力,目前是免费支持的;
    • 任务量相对较少,或者相对来说对任务时效性要求不高的场景
  • 提供的能力

    • 支持所有的任务类型,但不支持:

      • 需要公网访问外部服务,且需要白名单的不支持;
      • 需要访问VPC的任务不支持
      • 需要访问公网的也不建议使用,建议切换其他资源组使用;
    • 任务安全沙箱的能力
  • 注意事项

    • 默认资源组最大调度资源是有固定分配的默认大小的;所有租户下项目共享,会存在项目之间的资源抢占,不能100%保障任务按时获得资源运行;
    • 默认资源组是在平台的公共集群下的,所有租户都共享该集群资源,所以在高峰期会存在租户之间的资源抢占,不能100%保障任务按时获得资源运行;
  • 费用

    • 按量付费(实例费用、同步进程费用等)

独享资源组

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

一、独享调度资源组

(1)信息说明
  • 版本要求:无
  • 类型:

    • 独享调度资源组
    • 独享数据集成资源组
  • 使用场景

    • 推荐只要生产任务都使用独享资源组

      • 资源可随时调配
      • 任务产出可得到保障
    • 任务量大、且对任务时效性要求高的场景必须使用独享
    • 需要访问公网地址、访问VPC地址,请使用独享
    • 访问目的端服务,需要配置白名单的场景,请使用独享
    • 自己VPC与IDC已经打通,任务需要访问IDC的,可使用独享解决网络问题;
  • 注意事项

    • 独享目前不能支持跨租户节点、机器学习任务;其余支持
    • 购买独享资源组的时候,务必要注意购买与自己VPC在同一个可用区
    • 切换任务资源组的时候:

      • 注意每种任务类型都需要测试验证:网络是否已经打通
  • 费用:

    • 调度:相对默认资源组,如果实例超过500个,独享资源会相对便宜很多;不收取实例费用,仅资源费用;
(2)如何修改任务运行到独享调度资源组

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

  • step1:购买独享资源组

    • 说明:一般按照实际的任务并发数来购买对应的资源数量,可以参考:https://help.aliyun.com/document_detail/125776.html?spm=a2c4g.11186623.6.573.20a87b75cx5tkl 里面的场景三
    • 购买指引:https://help.aliyun.com/document_detail/121526.html?spm=a2c4g.11174283.6.641.4b1c2b65Y7CSE8
    • 登录管控台:目前需要有主账户权限或者已经授权过的子账户
    • 打开页面,点击“新增独享资源组”image.png
    • 新增页面,选择“独享调度资源组”:
    • image.png
    • 点击购买链接,去购买:此处特别建议:至少购买2台(做容灾保障,Failover的能力)
    • image.png
    • 购买完毕后,就可以返回在控制台刚才的创建页面,选择订单号了:
    • 然后选择可用区:特别特别注意:可用区需要跟您的VPC在一个可用区:(就是你的任务是否需要访问VPC地址,比如访问ads、adb等,就需要跟次VPC在一个可用区)如果没有可用,提工单!

image.png

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

image.png

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

image.png

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

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

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

image.png
image.png

  • step7:测试验收:

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

image.png -> image.png

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

    • 过滤节点类型
    • 全选

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

二、独享数据集成资源组

(一)信息说明
  • 版本要求:无
  • 使用场景

    • 推荐只要生产任务都使用独享数据集成资源组

      • 资源可随时调配
      • 任务产出可得到保障
    • 任务量大、且对任务时效性要求高的场景必须使用独享
    • 需要访问公网地址、访问VPC地址,请使用独享
    • 访问目的端服务,需要配置白名单的场景,请使用独享
    • 自己VPC与IDC已经打通,任务需要访问IDC的,可使用独享解决网络问题;
  • 注意事项

    • 如果数据源是经典网络的,不可迁移到独享,因为独享是VPC的
    • 购买独享资源组的时候,务必要注意购买与自己VPC在同一个可用区
(二)如何修改任务运行到独享数据集成资源组

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

  • step1:购买创建、分配流程:同独享调度资源组是一致的,注意一点就是规格问题:简单理解多大内存就允许多大并发
  • step2:修改任务到独享数据集成资源组,登录到对应项目空间的数据开发页面,找到你的同步任务,打开编辑:

    • 通过向导模式配置任务时,在通道控制 > 任务资源组下拉框中,选择相应的独享数据集成资源。
    • 通过脚本模式配置任务时,单击右上角的配置任务资源组,在任务资源组下拉框中,选择相应的独享数据集成资源。
  • step3:任务资源组修改完毕后,保存,提交;发布后,一样的,在运维中心进行测试或者补数据运行,就可以验证是否测试通过
  • step4:目前数据集成资源组的修改无法支持批量修改,只能按照上述方法,逐一任务修改!

三、专有网络绑定

  • 使用场景

    • 当配置的任务需要访问自己VPC内的地址的时候,就需要做VPC之间的网络打通,比如需要访问adb的vpc,那就必须要做这一步
    • 如果你的VPC跟你的IDC已经专线打通,那也可以通过此功能将独享与你的idc打通,可以支持任务运行,不过此操作需要平台支持
  • 前提条件

    • 创建的独享资源组与自己VPC在一个可用区
    • 如果不在一个可用区:建议重新购买创建;若无法重新创建则只能提工单需求!
  • 操作步骤

    • step1:打开控制资源组列表,找到独享资源组->专有网络绑定

 image.png

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

image.png

  • step4:填写对应的自己VPC下的信息:

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

image.png

  • step5:如果你的云产品实例需要配置白名单的话:绑定成功后,回到独享资源组列表,点击 查看信息:

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

image.png

四、运维助手

自定义资源组

  • 版本要求:

    • 自定义调度资源组:企业版及以上,需要提工单白名单开放
    • 自定义数据集成资源组:专业版及以上
  • 解决的场景:

    • 网络问题:做数据同步需要访问自己IDC的
    • 环境因数:比如依赖了python高版本、jdk环境等等,可以使用一台环境满足的ecs作为自定义资源
    • 搬站:一些客户本地以及有工作流任务开发在运行了,期望可以减少搬站迁移的工作量,可以还是将任务直接调度到自己的服务器上,减少代码脚本的迁移;
  • 注意事项

    • 只能支持数据集成任务和shell任务
  • 操作使用:

image.png

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

image.png

- step3:创建资源组后,在点击 服务器管理,添加服务器,特别特别注意,**此步骤最容易出错:**
  - **网络类型:只能支持专有网络;**
  - **UUID:必须使用UUID方式添加,UUID获取方法:执行`dmidecode | grep UUID`,取返回值**
  - **IP:机器的内网IP,可以登录机器:hostname -i接口或得**

image.png

  image.png

- step4: 服务添加完毕后,回到自定义资源组页面,刷新按钮,点击 服务器初始化,按照初始化流程,登录到ECS操作
- step5:服务器操作完毕后,可以到页面等待10分钟,观察服务器状态正常即可;
  • 修改任务到自定义资源组流程跟独享一样

    • 调度资源组:运维中心修改
    • 数据集成:编辑开发页面修改,需要提交发布

网友评论

登录后评论
0/500
评论