• 沒有找到結果。

5.5 委托管理

6.1.1 创建集群并执行作业

功能介绍

创建一个MRS集群,并在集群中提交一个作业。该接口不兼容Sahara。 支持同一时间 并发创建10个集群。 使用接口前,您需要先获取下的资源信息。

● 通过VPC创建或查询VPC、子网

● 通过ECS创建或查询密钥对

● 通过终端节点获取区域信息

● 参考MRS服务支持的组件获取MRS版本及对应版本支持的组件信息

接口约束

● 集群登录方式有密码和密钥对两种,两者必选其一。

● 使用密码方式需要配置访问集群节点的root密码,即cluster_master_secret。

● 使用密钥对方式需要配置密钥对名称,即node_public_cert_name。

● 磁盘参数可以使用volume_type和volume_size表示,也可以使用多磁盘相关的参 数(master_data_volume_type、master_data_volume_size、

master_data_volume_count、core_data_volume_type、core_data_volume_size 和core_data_volume_count)表示,以上两种方式任选一组进行配置。

调试

您可以在API Explorer中调试该接口。

URI

POST /v1.1/{project_id}/run-job-flow

6-1 路径参数

参数 是否必选 参数类型 描述

project_id 是 String 项目编号。获取方法,请参见获 取项目ID。

请求参数

6-2 请求 Body 参数

参数 是否必选 参数类型 描述

cluster_versio

n 是 String 集群版本。 MRS目前支持MRS

1.9.2、MRS 3.1.0版本。

cluster_name 是 String 集群名称,不允许相同。 只能 由字母、数字、中划线和下划线 组成,并且长度为1~64个字 符。

master_node_

num 是 Integer Master节点数量。启用集群高

可用功能时配置为2,不启用集 群高可用功能时配置为1。MRS 3.x版本暂时不支持该参数配置 为1。

core_node_nu

m 是 Integer Core节点数量。

取值范围:[1~500]

Core节点默认的最大值为500,

如果用户需要的Core节点数大于 500,请申请扩大配额。

billing_type 是 Integer 集群的计费模式。

12:表示按需计费。接口调用 仅支持创建按需计费集群。

data_center 是 String 集群区域信息,请参见终端节点 及区域。

vpc 是 String 子网所在VPC名称。 通过VPC管

理控制台获取名称:

1. 登录管理控制台。

2. 单击“虚拟私有云”,从左 侧列表选择虚拟私有云。

在“虚拟私有云”页面的列表中 即可获取VPC名称。

参数 是否必选 参数类型 描述 master_node_

size 是 String Master节点的实例规格,例

如:c3.4xlarge.

2.linux.bigdata。MRS当前支持 主机规格的配型由CPU+内存 +Disk共同决定。实例规格详细 说明请参见MRS所使用的弹性 云服务器规格和MRS所使用的 裸金属服务器规格。 该参数建 议从MRS控制台的集群创建页面 获取对应区域对应版本所支持的 规格。

core_node_siz

e 是 String Core节点的实例规格,例如:

c3.4xlarge.2.linux.bigdata。实 例规格详细说明请参见MRS所 使用的弹性云服务器规格和 MRS所使用的裸金属服务器规 格。 该参数建议从MRS控制台 的集群创建页面获取对应区域对 应版本所支持的规格。

component_li

st 是 Array of

component_li st objects

服务组件安装列表信息。

参数 是否必选 参数类型 描述 available_zon

e_id 是 String 可用分区ID。

参数 是否必选 参数类型 描述

vpc_id 是 String 子网所在VPC ID。 通过VPC管 理控制台获取ID:

1. 登录管理控制台。

2. 单击“虚拟私有云”,从左 侧列表选择虚拟私有云。

在“虚拟私有云”页面的列表中 即可获取VPC ID。

subnet_id 是 String 子网ID。通过VPC管理控制台获 取子网ID:

1. 登录管理控制台。

2. 单击“虚拟私有云”,从左 侧列表选择虚拟私有云。

3. 单击对应虚拟私有云所在行 的“子网个数”查看子网。

4. 单击对应子网名称,获取

“网络ID”。

“subnet_id”和

“subnet_name”必须至少填写 一个,当这两个参数同时配置但 是不匹配同一个子网时,集群会 创建失败,请仔细填写参数。推 荐使用“subnet_id”。

subnet_name 是 String 子网名称。 通过VPC管理控制 台获取子网名称:

1. 登录管理控制台。

2. 单击“虚拟私有云”,从左 侧列表选择虚拟私有云。

3. 单击对应虚拟私有云所在行 的“子网个数”查看子网,

获取子网名称。

“subnet_id”和

“subnet_name”必须至少填写 一个,当这两个参数同时配置但 是不匹配同一个子网时,集群会 创建失败,请仔细填写参数。当 仅填写“subnet_name”一个参 数且VPC下存在同名子网时,创 建集群时以VPC平台第一个名称 的子网为准。推荐使用

“subnet_id”。

参数 是否必选 参数类型 描述 security_grou

ps_id 否 String 集群安全组的ID。

● 当该ID为空时MRS后台会自 己创建安全组,自动创建的 安全组名称以

mrs_{cluster_name}开头。

● 当该ID不为空时,表示使用 固定安全组来创建集群,传 入的ID必须是当前租户中包 含的安全组ID,且该安全组 中包含一条全部协议,全部 端口,源地址为指定的管理 面节点IP的入方向规则。

add_jobs 否 Array of add_jobs objects

创建集群时可同时提交作业,当 前版本暂时只支持新增一个作 业。

volume_size 否 Integer Master和Core节点数据磁盘存 储空间。为增大数据存储容量,

创建集群时可同时添加磁盘。可 以根据如下应用场景合理选择磁 盘存储空间大小:

● 数据存储和计算分离,数据 存储在OBS系统中,集群费 用相对较低,计算性能不 高,并且集群随时可以删 除,建议数据计算不频繁场 景下使用。

● 数据存储和计算不分离,数 据存储在HDFS中,集群费用 相对较高,计算性能高,集 群需要长期存在,建议数据 计算频繁场景下使用。

取值范围:100GB~

32000GB,传值只需填数字,

不需要带单位GB。 不建议使用 该参数,详情请参考

volume_type参数的说明。

参数 是否必选 参数类型 描述

volume_type 否 String Master和Core节点的磁盘存储 类别,目前支持SATA、SAS、

● SATA:普通IO

● SAS:高IO

● SSD:超高IO

● GPSSD:通用型SSD master_data_

volume_type 否 String 该参数为多磁盘参数,表示 Master节点数据磁盘存储类 别,目前支持SATA、SAS、SSD 和GPSSD。

master_data_

volume_size 否 Integer 该参数为多磁盘参数,表示 Master节点数据磁盘存储空

volume_count 否 Integer 该参数为多磁盘参数,表示 Master节点数据磁盘个数。取 值只能是1。

core_data_vol

ume_type 否 String 该参数为多磁盘参数,表示Core 节点数据磁盘存储类别,目前支 持SATA、SAS、SSD和GPSSD。

core_data_vol

ume_size 否 Integer 该参数为多磁盘参数,表示Core 节点数据磁盘存储空间。为增大

ume_count 否 Integer 该参数为多磁盘参数,表示Core 节点数据磁盘个数。 取值范 围:1~10

参数 是否必选 参数类型 描述 task_node_gr

oups 否 Array of

task_node_gr oups objects

Task节点列表信息。

bootstrap_scri

pts 否 Array of

bootstrap_scr ipt objects

配置引导操作脚本信息。

node_public_c

ert_name 否 String 密钥对名称。用户可以使用密钥

对方式登录集群节点。当

“login_mode”配置为“1”

时,请求消息体中包含

node_public_cert_name字段。

cluster_admin

_secret 否 String 配置MRS Manager管理员用户 的密码。

r_secret 是 String 配置访问集群节点的root密码。

当“login_mode”配置为“0”

参数 是否必选 参数类型 描述

safe_mode 是 Integer MRS集群运行模式。

● 0:普通集群,表示Kerberos 认证关闭,用户可使用集群 提供的所有功能。

● 1:安全集群,表示Kerberos 认证开启,普通用户无权限 使用MRS集群的“文件管 理”和“作业管理”功能,

并且无法查看Hadoop、

Spark的作业记录以及集群资 源使用情况。如果需要使用 集群更多功能,需要找MRS Manager的管理员分配权 限。

cluster_type 否 Integer 集群类型。

默认值为0:分析集群。

说明:暂不支持通过接口方式创 建混合集群。

枚举值:

● 0:分析集群

● 1:流式集群

log_collection 否 Integer 集群创建失败时,是否收集失败 日志。

默认设置为1,将创建OBS桶仅 用于MRS集群创建失败时的日志 收集。

枚举值:

● 0:不收集

● 1:收集 enterprise_pro

ject_id 否 String 企业项目ID。

创建集群时,给集群绑定企业项 目ID。

默认设置为0,表示为default企 业项目。

获取方式请参见《企业管理API 参考》的“查询企业项目列表”

响应消息表

“enterprise_project字段数据 结构说明”的“id”。

参数 是否必选 参数类型 描述 tags 否 Array of tag

objects 集群的标签信息。

同一个集群最多能使用10个 tag,tag的名称(key)不能重 复 标签的键/值不能包含“=”,

“*”,“<”,“>”,“\”,“,”,

“|”,“/”。

login_mode 否 Integer 集群登录方式。默认设置为1。

● 当“login_mode”配置为

“0”时,请求消息体中包含 cluster_master_secret字段。

● 当“login_mode”配置为

“1”时,请求消息体中包含 node_public_cert_name字 段。

枚举值:

● 0:密码方式

● 1:密钥对方式 node_groups 否 Array of

NodeGroupV 11 objects

节点列表信息。

说明:如下参数和该参数任选一 组进行配置即可。

master_node_num、

master_node_size、

core_node_num、

core_node_size、

master_data_volume_type、

master_data_volume_size、

master_data_volume_count、

core_data_volume_type、

core_data_volume_size、

core_data_volume_count、

volume_type、volume_size、

task_node_groups。

6-3 component_list

参数 是否必选 参数类型 描述

component_n

ame 是 String 组件名称

6-4 add_jobs

参数 是否必选 参数类型 描述

job_type 是 Integer 作业类型码。

● 1:MapReduce

● 2:Spark

● 3:Hive Script

● 4:HiveSQL(当前不支持)

● 5:DistCp,导入、导出数 据,(当前不支持)。

● 6:Spark Script

● 7:Spark SQL,提交SQL语 句,(当前不支持)。

job_name 是 String 作业名称。 只能由字母、数

字、中划线和下划线组成,并且 长度为1~64个字符。

说明: 不同作业的名称允许相 同,但不建议设置相同。

jar_path 否 String 执行程序Jar包或sql文件地址,

需要满足如下要求:

● 最多为1023字符,不能包含;|

&>,<'$特殊字符,且不可为 空或全空格。

● 文件可存储于HDFS或者OBS 中,不同的文件系统对应的 路径存在差异。

– OBS:以“s3a://”开 头。不支持KMS加密的文 件或程序。

– HDFS:以“/”开头。

● Spark Script需要以“.sql”

结尾,MapReduce和Spark Jar需要以“.jar”结尾,sql 和jar不区分大小写。

arguments 否 String 程序执行的关键参数,该参数由

用户程序内的函数指定,MRS只 负责参数的传入。 最多为 150000字符,不能包含;|&>'<

$特殊字符,可为空。

参数 是否必选 参数类型 描述

input 否 String 数据输入地址。 文件可存储于

HDFS或者OBS中,不同的文件 系统对应的路径存在差异。

● OBS:以“s3a://”开头。不 支持KMS加密的文件或程

● OBS:以“s3a://”开头。

● HDFS:以“/”开头。

如果该路径不存在,系统会自动 创建。 最多为1023字符,不能 包含;|&>'<$特殊字符,可为 空。

job_log 否 String 作业日志存储地址,该日志信息

记录作业运行状态。 文件可存 储于HDFS或者OBS中,不同的 文件系统对应的路径存在差异。

● OBS:以“s3a://”开头。

● HDFS:以“/”开头。

最多为1023字符,不能包含;|

&>'<$特殊字符,可为空。

hive_script_pa

th 否 String sql程序路径,仅Spark Script和

th 否 String sql程序路径,仅Spark Script和