文档

混合云大数据压力场景下跨域智能调度

更新时间:
一键部署

本文验证了大数据跨域计算时,如果默认集群负载过高,大数据全局调度会自动将新的任务调度到资源充足的集群上,以确保任务正常运行。

前提条件

  • 部署2套物理独立的大数据集群。

  • 专有云企业版V3.14及以上版本。

使用场景

在进行大数据跨域计算时,如果默认集群负载过高,大数据全局调度会自动将新的任务调度到资源充足的集群上,以确保任务正常运行。

方案概述

  1. 方案框架。

    在进行大数据跨域计算时,优先使用默认集群进行资源调度,如果默认集群负载过高时全局调度会使用其它资源充足的集群进行大数据计算。

  2. 方案流程。

    • 创建poc_odps项目和test_poc项目,每个项目都包含2个集群。

    • 在poc_odps和test_poc项目中分别写入数据量不同的数据,执行跨项目数据查询,并查看默认集群。

    • 配置全局计算调度配置。

    • 在poc_odps项目中运行高压力任务,查看使用的是物理集群A。

    • 在poc_odps高压力任务运行期间运行其它新任务,查看使用的是物理集群B。

步骤

  1. 创建项目。

    1. 创建poc_odps项目。

      登录Apsara Uni-manager运营控制台,在上方导航栏选择产品>大数据>大数据计算 MaxCompute,进入大数据计算MaxCompute管理页面。选择创建 MaxCompute 项目,选择多集群、配额、存储空间、项目名称和云账号,并且选择设置为默认按钮,设置默认集群为0229结尾的集群。1

      注意

      配额组和云账号需要提前创建好。

      123

    2. 创建test_poc项目。

      同理创建test_poc项目,并选择设置为默认按钮,默认集群为01C2结尾。4

  2. 在项目中插入数据并进行跨域查询,查看使用的默认集群。

    1. 在poc_odps和test_poc中分别写入不同数据量数据。

      插入数据脚本:

      poc_odps项目中插入数据脚本:

      create table data1 as

      select transform('for i in `seq 1 1000`;doecho $i;done;') using 'sh' as (data)

      from (select transform('for j in `seq 1100`;do echo $j;done;') using 'sh' as (col) distribute by col) col;

      test_poc项目中插入数据脚本:

      create table data2 as

      select transform('for i in `seq 1 10000`;doecho $i;done;') using 'sh' as (data)

      from (select transform('for j in `seq 1100`;do echo $j;done;') using 'sh' as (col) distribute by col) col;

    2. 在poc_odps项目空间执行跨域查询,并查看使用的默认集群。

      跨域查询脚本:

      select t1.data, t2.data from test_poc.data1t1, poc_odps.data2 t2

      wheret1.data<100 and t2.data<1000 and t1.data=t2.data limit 10;

      查看结果为使用项目默认集群进行计算。5

    3. 在test_poc项目空间执行跨域查询,并查看使用的默认集群。

      跨域查询脚本:

      select t1.data, t2.data from test_poc.data1t1, poc_odps.data2 t2

      wheret1.data<100 and t2.data<1000 and t1.data=t2.data limit 10;

      查看结果为使用项目默认集群进行计算。6

  3. 配置全局计算调度配置。

    登录ODPS Admin Console,依次选择ODPS管理>ODPS配置>全局计算调度配置,在JSON页面中进行配置。

    注意

    配置10分钟生效。

    1
  4. 在poc_odps项目空间运行高压力任务。

    高负载脚本如下:

    set odps.sql.reducer.instances=100;

    set odps.stage.reducer.num=100;

    setodps.merge.smallfile.filesize.threshold=128;

    drop table if exists tt ;

    create tablett as

    select transform('for i in `seq 1 1000000`;do echo $i; done;' ) using'sh' as(data)

    from (select transform('for i in `seq 1100`; do echo $i; done;' ) using'sh' as(col) distribute by col) col;8

    查看使用集群为项目默认集群。9

  5. 在poc_odps项目高压任务运行期间再次执行新任务。

    跨域查询脚本:

    select t1.data, t2.data from test_poc.data1t1, poc_odps.data2 t2

    wheret1.data<100 and t2.data<1000 and t1.data=t2.data limit 10;

    查看结果为使用项目另外一个集群进行计算。10

  • 本页导读
文档反馈