精彩视频回顾请点击:MaxCompute管家详解
以下是直播内容精华整理,主要包括以下四个方面:
1.背景速览;
2.功能介绍;
3.案例讲解;
4.新功能预告。

一、背景速览

MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使用户可以经济并高效的分析处理海量数据。在购买了MaxCompute之后会有相当多而繁琐的管理和维护工作,比如如何对项目进行更精细化的管理、如何将项目与配额进行关联等等,而MaxCompute管家可以帮助用户更好地完成这些工作,它是一个为用户提供作业信息查看、资源消耗查看(涵盖CU资源和存储资源)、项目查看及调整、配额组增删改查等涉及日常MaxCompute运维能力的管理平台。
目前,全球包括美国、英国、德国、印度、日本、新加坡在内的18个国家或地区(详情见官网)购买了数加并购买MaxCompute”包年包月“的用户(后期也会支持购买MaxCompute“按量付费“的用户)可以使用MaxCompute管家功能,且已经支持英文界面。MaxCompute管家的入口有两个:(1)管理控制台(图1)和(2)数加控制台(图2)。需要注意的是从管理控制台和数加控制台进入MaxCompute管家页面时候需要先选择正确的MaxCompute对应区域。

图 1 MaxCompute管家入口1:管理控制台

图 2 MaxCompute管家入口1:管理控制台

二、功能介绍

当前,管家主要针对MaxCompute中项目、配额以及作业三个核心模块来提供相应的支持。
(一)项目
在项目列表页面可查看当前用户具备的预付费project的所有相关信息,包括项目名称、所属dataworks工作空间、账号、配额组、已用存储、project默认预付费quota组调整,如图3所示。这里需要注意项目名称和所属dataworks工作空间是两个概念,不要混淆了。在项目列表页面点击项目名称会跳转到存储使用趋势的页面来查看项目存储使用的相关情况,并且支持按时段搜索,在存储水位曲线中还可以查看具体到某一个时段的详情(最近1小时、最近6小时、最近12小时、最近1天、最近1周,存储量每1个小时采集一次);账号是指项目所属的一个访问身份;点击配额组可以查看相应的配额使用情况,在后面会重点进行介绍。除了以上操作之外,管家还提供了一个对项目配额组进行修改的操作,用户可以对项目所属的配额组进行修改,更加方便管理。在将项目迁移到新的配额组之后,如果原来的配额组没有被删除,那么项目会沿用原来的配额组进行作业,如果已经被删除,就会使用新的配额组进行作业,以此来达到资源的最大化利用。

图 3 项目列表页面

(二)配额
配额管理是MaxCompute的资源管理中的重点也是难点,面对不同的业务需求,用户也有不同的配额管理方式。配额组有4个比较重要的配置参数,具体如下:
(1)预留CU最小配额:单个quota组分配资源的下限。
(2)预留CU最大配额:单个quota组分配资源的上限。
(3)非预留CU最大配额:单个quota组可使用弹性资源的上限。
(4)配额组标签:标签主要是用于指定作业的配额组,如果您的包年包月资源组设置多个二级Quota组,可以在提交作业的时候,指定作业运行的Quota组,可以与project所属Quota组不同。这样设置,能够更加灵活的设置和使用您的计算资源。大家也可以根据具体情况灵活设置标签。
在配额列表页面,可查看当前用户具备的预付费project的相关信息,包括配额组、CU最小配额、CU最大配额、弹性CU最大配额、配额组标签、涵盖项目个数、最近一次配额组操作状态等,如图4所示。

图 4 配额列表页面

点击配额组中的某一配额组名称,会跳转到相应的页面,里面可以查看对应的资源使用情况,比如预留CU资源使用趋势和非预留CU资源使用趋势,如图5所示,我们也可以查看不同时段的资源使用情况。除此之外,还可以查看该配额组所包含的项目列表,该处项目列表的详情如上文中图3所示的一样,也可以进行相应的操作。

图 5 配额组详情

对配额组的操作主要有新建配额组、修改配额组和删除配额组。
(1)新建配额组
在新建配额组的是时候修改预留CU最小配额、预留CU最大配额、非预留CU最大配额以及标签,单击执行,完成修改即可。这里我们可以根据自己业务的需求来给配额组设置相应的名称。
(2)修改配额组
修改配额组的时候可以修改预留CU最小配额、预留CU最大配额、非预留CU最大配额以及标签,然后单击执行,即可完成修改。需要注意的是非预留CU最大配额即为包年包月里的非预留计算资源,此功能仅中国站用户可以使用。另外,这里需要需要注意的时候,配额组的名称一旦建立就不能修改。
(3)删除配额组
删除功能相对比较简单,就是在配额组不需要的时候删除相应的配额组即可。但是需要注意,处于安全考虑,没有涵盖项目的配额组可删除,删除后的配额会归还至默认配额组,而如果配额组的涵盖项目数不为0,那么是无法删除的。
(三)作业
在作业模块中,我们支持当前的作业快照,因此在默认状态下,进入作业快照列表的时候,展示的是当前的状态。在作业列表页面,可以查看当前用户指定配额组下所有作业情况,包括InstanceID、账号、项目名称、cpu使用占比(%)、内存使用占比(%)、提交时间、等待时长、运行时长、运行状态,作业快照每2分钟采集1次。如果需要了解更多的关于作业的运行情况,可以点击InstanceID查看对应的LogView,它与作业是一对一的关系,具体的可以查看官网关于LogView的说明。一般在需要对资源使用进行详细了解以优化资源配置的时候,我们可以查看某一个作业的资源使用情况,做到心中有数,也方便对资源配置进行优化。

图 6 作业列表页面

三、案例讲解

在上文的基础上,下面通过案例来进行具体分析如何更好的使用现有的功能来分配和管理资源,让资源得到更有效的利用。首先,我们需要了解几个关于配额的规则:
(1)预留CU最大配额配置规则:单个子组的最大CU要小于等于默认资源组的最大CU;
(2)预留CU最小配额配置规则:所有子组的最小CU之和要小于等于默认资源组的最小CU;
(3)非预留CU最大配额配置规则:所有子组的弹性最大CU之和要小于等于默认资源组的弹性最大CU;
(4)配额组标签命名规则:配额组标签只允许使用字母、数字、下划线,不同配额组对应标签不要重名,否则作业指定此重名标签,将会随机调度到其中一个配额组;配额组标签调度规则:如果提交作业时设置的Quota Tag和某个配额组属性中的标签相等,这个作业就会被优先调度到这个配额组中,否则会被调度到所属Project指定的配额组中,详细信息请参见官网Quota Tag描述。
在了解清楚了以上几个规则以后,如果进行资源的分配呢?我们以两个具体的问题来了解一下。
(一)拿到资源如何配置?
首先我们要明白,配置策略跟业务是密不可分的,脱离了业务谈配置是不切实际的。一般来说,在实际配置中我们有资源独享和资源共享两种资源配置策略。资源独享更偏向于重点确保的业务,就是说那些一定要完成的和一定要保障到的业务,而资源共享就没有那么苛刻的要求了,大部分情况下我们都可以采用资源共享的形式来进行配置,这样子就可以避免前置资源的浪费。
假设我们共有预留计算资源60CU,非预留计算资源30CU,由两个部门使用,可以按照如下方式分配:
(1)资源独享方式

这么划分意味着当A组哪怕没有资源使用时,B组资源最多也只能用到20(由最大CU限制)+10(由弹性最大CU限制)的资源;反之亦然,当B组没有资源使用的时候,A组最多也只能使用30+10CU的资源。这里需要注意,默认的预付费Quota组预留最小CU和非预留最大CU最少也需要有1CU,也就是说默认的预付费Quota组是一个天然的共享型的资源池。所以在业务上只需要资源独享配额时候,就不要把项目迁移到默认的预付费Quota组,而要去做自定义的资源独享组。
(2)资源共享方式

这么划分意味着当A组和B组资源均紧张时,A组可以用到20+10的资源,B组可以用到30+10的资源。当A组没有作业时,B组最多可以用到60+10的资源;反之当B组没有资源时,A组可以用到60+10的资源。我们需要注意的是,当采用资源共享方式,如果B组没有作业,A组分配了60(预留最大CU)+10(非预留最大CU)的资源时,之后B组突然有大量作业需要申请资源,这时候需要调度器通知A组释放相应资源之后B组才能开始分配资源进行作业。
(二)作业慢或者资源不足怎么办?
在实际业务中,可能随着业务量的增加、作业的复杂度增大,我们可能会遇到作业慢或者资源不足的情况。这里我们给出了三个解决方案:
(1)优化作业代码
我们可通过快照作业的资源使用情况得到top消耗的作业,并尝试进行优化,可参考官网最佳实践来做相应调整。
(2)更换调度策略
若单个配额组资源不足,但其他配额组有足够空闲资源时,建议使用quota tag,可调度到闲置配额组内进行资源周转,或者调整内部配额组之间的资源上下限,增加资源使用的灵活性,或者通过切换project对应的quota组的方式进行重组式管理,前提是取决于业务情况。
(3)扩容
若整体资源不足,且其他待跑任务无重保诉求,建议走非预留扩容;若整体资源不足,且有重保任务持续新增时,建议走预留型扩容并已独享型模式配置或后付费采买。

四、新功能预告

本文所提到的功能只是MaxCompute管家所提供的功能中的一部分,主要是面向初级用户,后续将会有更多的功能对外开放,也会分享更多的进阶版、高级版的功能,来解决大家工作中的痛点。未来一段时间,MaxCompute管家会有一些新功能与大家见面,比如以下:
(1)资源概览页 
资源概览页用来展示用户对应的”包年包月“付费模式下的整体CU使用量、CU资源使用趋势、存储资源使用趋势,方便用户更快速、更便捷的了解当前的资源使用情况。
(2)历史作业快照
历史作业快照支持按时间搜索历史作业快照,便于用户对历史作业的资源使用情况的追述。
(3)终止作业
支持作业owner小批量终止作业,同时支持终止作业历史追述。
(4)分时配额
针对于部分用户作业有时段性的要求,增加了分时配额,支持用户对不同配额组进行分时段的动态配额调整,便于用户对周期性任务调度的有效管理。

如果大家需要了解更多的关于MaxCompute管家的细节,可以通过官网 -> 大数据计算服务 · MaxCompute -> 文档&SDK -> MaxCompute管家来查看相应的说明文档,官方也会持续的进行迭代更新。

MaxCompute管家详解--管家助力,轻松玩转MaxCompute的更多相关文章

  1. (转载)完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三

    转自:http://blog.csdn.net/piggyxp/article/details/6922277 前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何 ...

  2. Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)

    本节我们将详细讲解 Cinder 的各个子服务. cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 nova-api 处理.cinder ...

  3. Nova 组件详解 - 每天5分钟玩转 OpenStack(26)

    本节开始,我们将详细讲解 Nova 的各个子服务. 前面架构概览一节知道 Nova 有若干 nova-* 的子服务,下面我们将依次学习最重要的几个.今天先讨论 nova-api 和 nova-cond ...

  4. nova-compute 部署 instance 详解 - 每天5分钟玩转 OpenStack(28)

    本节讨论 nova-compute,并详细分析 instance 部署的全过程. 先给大家道个歉:今天这篇文章的篇幅比以往要多一些,本来想分两次发,但考虑到文章的完整和系统性,还是一次发了出来,这次可 ...

  5. Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)

    本节详细分析 instance launch 和 shut off 操作,以及如何在日志中快速定位有用信息的技巧. Launch Launch instance 应该算 Nova 最重要的操作. 仔细 ...

  6. Start Instance 操作详解 - 每天5分钟玩转 OpenStack(31)

    本节通过日志文件详细分析 instance start 操作. 下面是 start instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-compute 执 ...

  7. Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)

    本节通过日志详细分析 Nova Terminate 操作. Terminate 操作就是删除 instance,下面是 terminate instance 的流程图 向 nova-api 发送请求 ...

  8. Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

    本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中.当需要恢复的时候,执 ...

  9. Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)

    本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作. Suspend/Resume 有时需要长时间暂停 instance,可以通过 Suspend 操作将 in ...

  10. Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)

    本节我们通过日志详细讨论 instance 的 snapshot 操作. 有时候操作系统损坏得很严重,通过 Rescue 操作无法修复,那么我们就得考虑通过备份恢复了.当然前提是我们之前对instan ...

随机推荐

  1. 【leetcode https://leetcode.cn/problems/count-integers-in-intervals/】 线段树

    leetccode count-integers-in-intervals 线段树解决: class CountIntervals { Seg root; public CountIntervals( ...

  2. Leetcode 招商银行-03. 点燃木棒

    用广度优先,暴力搜索.代码如下 import java.util.*; class Solution { public static void main(String[] args) { Soluti ...

  3. 【leetcode 1799 N次操作后的最大分数和】状态压缩

    回溯会超时,状态压缩 class Solution { public int maxScore(int[] nums) { int len = nums.length; int size = 1 &l ...

  4. C++关于栈对象返回的问题

    本次实验环境 环境1:Win10, QT 5.12 环境2:Centos7,g++ 4.8.5 一. 主要结论 可以返回栈上的对象(各平台会有不同的优化),不可以返回栈对象的引用. 二.先看看函数传参 ...

  5. KafkaProducerDemo

    package com.lxw.kafkademo; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache ...

  6. verilog之function

    verilog之function 1.基本作用 function,就是声明一个函数.与task的区别就是有参数.function的返回值就是函数名(可以设置位宽),输入值任意,均作为输入参数.代码块需 ...

  7. C++简单实现unique_ptr

    唯一指针 管理指针的存储,提供有限的垃圾回收工具,与内置指针相比几乎没有开销(取决于所使用的删除程序). 这些对象具有获取指针所有权的能力:一旦它们获得所有权,它们就会通过在某个时候负责删除指向的对象 ...

  8. 5W1H聊开源之What——开源是什么?

    美国政治传播学家拉斯韦尔提出了5W传播模式,经过后人的不断运用和发展总结,形成了一套逐渐成熟的"5W1H"体系,即:对选定的项目.工序或操作,都要从原因(何因Why).对象(何事W ...

  9. #线段树#洛谷 4681 [THUSC2015]平方运算

    题目 给定一个数列 \(a\),维护以下两种操作 区间取平方 \(a[i]=a[i]^2\bmod p\) 区间和(不取模) \(p\) 为给定的小于 \(10^4\) 的数,\(n\leq 10^5 ...

  10. #圆方树,树链剖分#P4334 [COI2007] Policija

    题目 分析 先建一棵圆方树,必经点\(z\)就是满足\(z\)在\(x\)和\(y\)之间的路径上, 这个直接用树链剖分做,必经边必须要满足不在环上, 那么这个必经边就可以找到一个方点,就可以转换成必 ...