创建集群并执行作业
功能介绍
创建一个MRS集群,并在集群中提交一个作业。该接口不兼容Sahara。
(建议优先使用创建集群V2接口和创建集群并提交作业V2接口来完成创建集群或创建集群并提交作业的功能)
支持同一时间并发创建10个集群。可以通过设置enterprise_project_id字段,对资源进行细粒度授权。
使用接口前,您需要先获取如表1所示的资源信息。
资源 |
获取途径 |
---|---|
VPC |
|
子网 |
|
密钥对 |
请参见弹性云服务器《接口参考》中查询SSH密钥列表和创建和导入SSH密钥的操作指导。 |
区域 |
区域和可用分区信息,具体请参考终端节点。 |
服务版本信息 |
MRS目前支持MRS 1.9.2、MRS 3.1.0、MRS 3.1.2-LTS.3、MRS 3.1.5、MRS 3.2.0-LTS.1。 |
组件信息 |
|
接口约束
- 集群登录方式有密码和密钥对两种,两者必选其一。
- 使用密码方式需要配置访问集群节点的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中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 项目编号。获取方法,请参见获取项目ID。 约束限制: 不涉及 取值范围: 只能由英文字母和数字组成,且长度为[1-64]个字符。 默认取值: 不涉及 |
请求参数
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
cluster_version |
是 |
String |
参数解释: 集群版本。例如:MRS 3.1.0。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
cluster_name |
是 |
String |
参数解释: 集群名称,不允许相同。 约束限制: 不涉及 取值范围: 只能由英文字母、数字以及“_”和“-”组成,且长度为[1-64]个字符。 默认取值: 不涉及 |
master_node_num |
否 |
Integer |
参数解释: Master节点数量。 约束限制: 启用集群高可用功能时配置为“2”,不启用集群高可用功能时配置为“1”。MRS 3.x版本暂时不支持该参数配置为“1”。 取值范围: 不涉及 默认取值: 不涉及 |
core_node_num |
否 |
Integer |
参数解释: Core节点数量。Core节点默认的最大值为500,如果用户需要的Core节点数大于500,请申请扩大配额。 约束限制: 不涉及 取值范围: 1-500 默认取值: 不涉及 |
billing_type |
是 |
Integer |
参数解释: 集群的计费模式。 约束限制: 不涉及 取值范围: 12:表示按需计费。接口调用仅支持创建按需计费集群。 默认取值: 不涉及 |
data_center |
是 |
String |
参数解释: 集群区域信息,具体请参考终端节点。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
vpc |
是 |
String |
参数解释: 子网所在VPC名称。通过VPC管理控制台获取名称:
约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
master_node_size |
否 |
String |
参数解释: Master节点的实例规格,例如:{ECS_FLAVOR_NAME}.linux.bigdata,{ECS_FLAVOR_NAME}可以为c3.4xlare.2等在MRS购买页可见的云服务器规格。当前支持主机规格的配型由CPU+内存+Disk共同决定。实例规格详细说明请参见MRS所使用的弹性云服务器规格和MRS所使用的裸金属服务器规格。 该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
core_node_size |
否 |
String |
参数解释: Core节点的实例规格,例如:{ECS_FLAVOR_NAME}.linux.bigdata,{ECS_FLAVOR_NAME}可以为c3.4xlare.2等在MRS购买页可见的云服务器规格。实例规格详细说明请参见MRS所使用的弹性云服务器规格和MRS所使用的裸金属服务器规格。该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
component_list |
是 |
Array of component_list objects |
参数解释: 服务组件安装列表信息。具体参数请参考表4。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
available_zone_id |
是 |
String |
参数解释: 可用分区ID,以下仅包含部分可用区ID,可通过查询可用区信息接口来获取各可用分区的ID。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
vpc_id |
是 |
String |
参数解释: 子网所在VPC ID。 通过VPC管理控制台获取ID:
约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
subnet_id |
是 |
String |
参数解释: 子网ID。可通过VPC管理控制台获取子网ID:
约束限制: “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。推荐使用“subnet_id”。 取值范围: 不涉及 默认取值: 不涉及 |
subnet_name |
是 |
String |
参数解释: 子网名称。 通过VPC管理控制台获取子网名称:
约束限制: “subnet_id”和“subnet_name”必须至少填写一个,当这两个参数同时配置但是不匹配同一个子网时,集群会创建失败,请仔细填写参数。当仅填写“subnet_name”一个参数且VPC下存在同名子网时,创建集群时以VPC平台第一个名称的子网为准。推荐使用“subnet_id”。 取值范围: 不涉及 默认取值: 不涉及 |
security_groups_id |
否 |
String |
参数解释: 集群安全组的ID。
约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
add_jobs |
否 |
Array of add_jobs objects |
参数解释: 创建集群时可同时提交作业,当前版本暂时只支持新增一个作业。具体参数请参考表5。 约束限制: 不能超过1条。 取值范围: 不涉及 默认取值: 不涉及 |
volume_size |
否 |
Integer |
参数解释: Master和Core节点数据磁盘存储空间,单位为GB。为增大数据存储容量,创建集群时可同时添加磁盘。可以根据如下应用场景合理选择磁盘存储空间大小:
约束限制: 不建议使用该参数,详情请参考volume_type参数的说明。 取值范围: 100-32000 默认取值: 不涉及 |
volume_type |
否 |
String |
参数解释: Master和Core节点的磁盘存储类别,目前支持SATA、SAS、SSD和GPSSD。磁盘参数可以使用volume_type和volume_size表示,也可以使用多磁盘相关的参数表示。volume_type和volume_size这两个参数如果与多磁盘参数同时出现,系统优先读取volume_type和volume_size参数。建议使用多磁盘参数。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
master_data_volume_type |
否 |
String |
参数解释: 该参数为多磁盘参数,表示Master节点数据磁盘存储类别,目前支持SATA、SAS、SSD和GPSSD。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
master_data_volume_size |
否 |
Integer |
参数解释: 该参数为多磁盘参数,表示Master节点数据磁盘存储空间。为增大数据存储容量,创建集群时可同时添加磁盘。传值只需填数字,不需要带单位GB。 约束限制: 不涉及 取值范围: 100-32000 默认取值: 不涉及 |
master_data_volume_count |
否 |
Integer |
参数解释: 该参数为多磁盘参数,表示Master节点数据磁盘个数。 约束限制: 不涉及 取值范围: 只能为1。 默认取值: 1 |
core_data_volume_type |
否 |
String |
参数解释: 该参数为多磁盘参数,表示Core节点数据磁盘存储类别,目前支持SATA、SAS、SSD和GPSSD。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
core_data_volume_size |
否 |
Integer |
参数解释: 该参数为多磁盘参数,表示Core节点数据磁盘存储空间。为增大数据存储容量,创建集群时可同时添加磁盘。传值只需填数字,不需要带单位GB。 约束限制: 不涉及 取值范围: 100-32000 默认取值: 不涉及 |
core_data_volume_count |
否 |
Integer |
参数解释: 该参数为多磁盘参数,表示Core节点数据磁盘个数。 约束限制: 不涉及 取值范围: 1-20 默认取值: 不涉及 |
task_node_groups |
否 |
Array of task_node_groups objects |
参数解释: Task节点列表信息。具体参数请参考表6。 约束限制: 不能超过1条。 取值范围: 不涉及 默认取值: 不涉及 |
bootstrap_scripts |
否 |
Array of BootstrapScript objects |
参数解释: 配置引导操作脚本信息。具体参数请参考表8。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
node_public_cert_name |
否 |
String |
参数解释: 密钥对名称。用户可以使用密钥对方式登录集群节点。 约束限制: 当“login_mode”配置为“1”时,请求消息体中包含node_public_cert_name字段。 取值范围: 不涉及 默认取值: 不涉及 |
cluster_admin_secret |
否 |
String |
参数解释: 配置MRS Manager管理员用户的密码。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
cluster_master_secret |
否 |
String |
参数解释: 配置访问集群节点的root密码。 约束限制: 当“login_mode”配置为“0”时,请求消息体中包含cluster_master_secret字段。 取值范围: 密码设置约束如下:
默认取值: 不涉及 |
safe_mode |
是 |
Integer |
参数解释: MRS集群运行模式。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
tags |
否 |
Array of tag objects |
参数解释: 集群的标签信息。具体参数请参考表9。 约束限制: 同一个集群最多能使用20个tag,tag的名称(key)不能重复标签的键/值可以包含任意语种字母、数字、空格和_.:=+-@,但首尾不能含有空格,不能以_sys_开头。 取值范围: 不涉及 默认取值: 不涉及 |
cluster_type |
否 |
Integer |
参数解释: 集群类型。暂不支持通过接口方式创建混合集群。 约束限制: 不涉及 取值范围:
默认取值: 0 |
log_collection |
否 |
Integer |
参数解释: 集群创建失败时,是否收集失败日志。默认设置为1,将创建OBS桶仅用于MRS集群创建失败时的日志收集。 约束限制: 不涉及 取值范围:
默认取值: 1 |
enterprise_project_id |
否 |
String |
参数解释: 企业项目ID。创建集群时,给集群绑定企业项目ID。默认设置为0,表示为default企业项目。 获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 0 |
login_mode |
否 |
Integer |
参数解释: 集群登录方式。 约束限制:
取值范围:
默认取值: 1 |
node_groups |
否 |
Array of NodeGroupV11 objects |
参数解释: 节点列表信息。具体参数请参考表10。 约束限制: 如下参数和该参数任选一组进行配置即可。 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。 取值范围: 不涉及 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
component_name |
是 |
String |
参数解释: 组件名称,请参考表1的组件信息。 约束限制: 不涉及 取值范围: 只能由英文字母、数字以及“_”和“-”组成,且长度为[1-64]个字符。 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
job_type |
是 |
Integer |
参数解释: 作业类型码。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
job_name |
是 |
String |
参数解释: 作业名称。 约束限制: 不涉及 取值范围: 只能由字母、数字、中划线和下划线组成,并且长度为[1-64]个字符。
说明:
不同作业的名称允许相同,但不建议设置相同。 默认取值: 不涉及 |
jar_path |
否 |
String |
参数解释: 执行程序Jar包或SQL文件地址。 约束限制: 不涉及 取值范围: 需要满足如下要求:
默认取值: 不涉及 |
arguments |
否 |
String |
参数解释: 程序执行的关键参数,该参数由用户程序内的函数指定,MRS只负责参数的传入。 约束限制: 不涉及 取值范围: 最多为150000字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
input |
否 |
String |
参数解释: 数据输入地址。
文件可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
约束限制: 不涉及 取值范围: 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
output |
否 |
String |
参数解释: 数据输出地址。
文件可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
如果该路径不存在,系统会自动创建。 约束限制: 不涉及 取值范围: 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
job_log |
否 |
String |
参数解释: 作业日志存储地址,该日志信息记录作业运行状态。
文件可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
约束限制: 不涉及 取值范围: 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
shutdown_cluster |
否 |
Boolean |
参数解释: 作业执行完成后,是否删除集群。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
file_action |
否 |
String |
参数解释: 数据导入导出。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
submit_job_once_cluster_run |
是 |
Boolean |
参数解释: 创建集群时是否同时提交作业。此处应设置为“true”。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
hql |
否 |
String |
参数解释: HQL脚本语句。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
hive_script_path |
否 |
String |
参数解释: SQL程序路径,仅Spark Script和Hive Script作业需要使用此参数。 约束限制: 不涉及 取值范围: 需要满足如下要求:
默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
node_num |
是 |
Integer |
参数解释: Task节点数量。 约束限制: Core与Task节点总数最大为500个。 取值范围: 0-500 默认取值: 不涉及 |
node_size |
是 |
String |
参数解释: Task节点的实例规格,例如:{ECS_FLAVOR_NAME}.linux.bigdata,{ECS_FLAVOR_NAME}可以为c3.4xlare.2等在MRS购买页可见的云服务器规格。实例规格详细说明请参见MRS所使用的弹性云服务器规格和MRS所使用的裸金属服务器规格。 该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
data_volume_type |
是 |
String |
参数解释: Task节点数据磁盘存储类别,目前支持SATA、SAS和SSD等。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
data_volume_count |
是 |
Integer |
参数解释: Task节点数据磁盘存储数目。 约束限制: 不涉及 取值范围: 0-20 默认取值: 不涉及 |
data_volume_size |
是 |
Integer |
参数解释: Task节点数据磁盘存储大小。传值只需填数字,不需要带单位GB。 约束限制: 不涉及 取值范围: 100-32000 默认取值: 不涉及 |
auto_scaling_policy |
否 |
auto_scaling_policy object |
参数解释: 弹性伸缩规则信息。详细说明请参见表7。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
auto_scaling_enable |
是 |
Boolean |
参数解释: 当前自动伸缩规则是否开启。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
min_capacity |
是 |
Integer |
参数解释: 指定该节点组的最小保留节点数。 约束限制: 不涉及 取值范围: 0-500 默认取值: 不涉及 |
max_capacity |
是 |
Integer |
参数解释: 指定该节点组的最大节点数。 约束限制: 不涉及 取值范围: 0-500 默认取值: 不涉及 |
resources_plans |
否 |
Array of resources_plan objects |
参数解释: 资源计划列表,详细说明请参见表11。若该参数为空表示不启用资源计划。 约束限制: 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。不能超过5条。 取值范围: 不涉及 默认取值: 不涉及 |
exec_scripts |
否 |
Array of scale_script objects |
参数解释: 弹性伸缩自定义自动化脚本列表。详细说明请参见表14。若该参数为空表示不启用钩子脚本。 约束限制: 不能超过10条。 取值范围: 不涉及 默认取值: 不涉及 |
rules |
否 |
Array of rules objects |
参数解释: 自动伸缩的规则列表,详细说明请参见表12。 约束限制: 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。不能超过10条。 取值范围: 不涉及 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
参数解释: 引导操作脚本的名称。 约束限制: 不涉及 取值范围: 同一个集群的引导操作脚本名称不允许相同。不能以空格开头,只能由英文字母、数字以及“_”和“-”组成,且长度为[1-64]个字符。 默认取值: 不涉及 |
uri |
是 |
String |
参数解释: 引导操作脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。
约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
parameters |
否 |
String |
参数解释: 引导操作脚本参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
nodes |
是 |
Array of strings |
参数解释: 引导操作脚本所执行的节点类型,包含Master、Core和Task三种类型。 约束限制: 节点类型必须为小写字母。 取值范围: 不涉及 默认取值: 不涉及 |
active_master |
否 |
Boolean |
参数解释: 引导操作脚本是否只运行在主Master节点上。 约束限制: 不涉及 取值范围:
默认取值: false |
before_component_start |
否 |
Boolean |
参数解释: 引导操作脚本执行的时间。目前支持“组件启动前”和“组件启动后”两种类型。 约束限制: 不涉及 取值范围:
默认取值: false |
fail_action |
是 |
String |
参数解释: 引导操作脚本执行失败后,是否继续执行后续脚本和创建集群。 建议您在调试阶段设置为“continue”,无论此引导操作是否执行成功,则集群都能继续安装和启动。 约束限制: 不涉及 取值范围:
默认取值: errorout |
start_time |
否 |
Long |
参数解释: 单个引导操作脚本的执行时间。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
state |
否 |
String |
参数解释: 单个引导操作脚本的运行状态。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
action_stages |
否 |
Array of strings |
参数解释: 选择引导操作脚本执行的时间。
约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
参数解释: 标签的键。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
value |
是 |
String |
参数解释: 标签的值。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
group_name |
是 |
String |
参数解释: 节点组名。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
node_num |
是 |
Integer |
参数解释: 节点数量。 约束限制: Core与Task节点总数最大为500个。 取值范围: 0-500 默认取值: 不涉及 |
node_size |
是 |
String |
参数解释: 节点的实例规格,例如:{ECS_FLAVOR_NAME}.linux.bigdata,{ECS_FLAVOR_NAME}可以为c3.4xlare.2等在MRS购买页可见的云服务器规格。MRS当前支持主机规格的配型由CPU+内存+Disk共同决定。实例规格详细说明请参见MRS所使用的弹性云服务器规格和MRS所使用的裸金属服务器规格。该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
root_volume_size |
否 |
String |
参数解释: 节点系统磁盘存储大小。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
root_volume_type |
否 |
String |
参数解释: 节点系统磁盘存储类别,目前支持SATA、SAS和SSD等。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
data_volume_type |
否 |
String |
参数解释: 节点数据磁盘存储类别,目前支持SATA、SAS和SSD等。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
data_volume_count |
否 |
Integer |
参数解释: 节点数据磁盘存储数目。 约束限制: 不涉及 取值范围: 0-20 默认取值: 不涉及 |
data_volume_size |
否 |
Integer |
参数解释: 节点数据磁盘存储大小。 单位为GB。 约束限制: 不涉及 取值范围: 100-32000 默认取值: 不涉及 |
auto_scaling_policy |
否 |
auto_scaling_policy object |
参数解释: 弹性伸缩规则信息。 约束限制: 当“group_name”配置为“task_node_analysis_group”或“task_node_streaming_group”时该参数有效,表示弹性伸缩规则信息。 具体参数请参考表7。 取值范围: 不涉及 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
period_type |
是 |
String |
参数解释: 资源计划的周期类型,当前只允许“daily”类型。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
start_time |
是 |
String |
参数解释: 资源计划的起始时间,格式为“hour:minute”,表示时间在0:00-23:59之间。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
end_time |
是 |
String |
参数解释: 资源计划的结束时间,格式与“start_time”相同。 约束限制: 不早于start_time表示的时间,且与start_time间隔不小于30min。 取值范围: 不涉及 默认取值: 不涉及 |
min_capacity |
是 |
Integer |
参数解释: 资源计划内该节点组的最小保留节点数。 约束限制: 不涉及 取值范围: 0-500 默认取值: 不涉及 |
max_capacity |
是 |
Integer |
参数解释: 资源计划内该节点组的最大保留节点数。 约束限制: 不涉及 取值范围: 0-500 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
参数解释: 弹性伸缩规则的名称。 约束限制: 不涉及 取值范围: 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 在一个节点组范围内,不允许重名。 默认取值: 不涉及 |
description |
否 |
String |
参数解释: 弹性伸缩规则的说明。 约束限制: 不涉及 取值范围: 最大长度为1024字符。 默认取值: 不涉及 |
adjustment_type |
是 |
String |
参数解释: 弹性伸缩规则的调整类型,只允许以下类型: 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
cool_down_minutes |
是 |
Integer |
参数解释: 触发弹性伸缩规则后,该集群处于冷却状态(不再执行弹性伸缩操作)的时长,单位为分钟。 约束限制: 不涉及 取值范围: 0-10080。10080为一周的分钟数。 默认取值: 不涉及 |
scaling_adjustment |
是 |
Integer |
参数解释: 单次调整集群节点的个数。 约束限制: 不涉及 取值范围: 1-100 默认取值: 不涉及 |
trigger |
是 |
trigger object |
参数解释: 描述该规则触发条件,详细说明请参见表13。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
metric_name |
是 |
String |
参数解释: 指标名称。该触发条件会依据该名称对应指标的值来进行判断。 详细指标名称内容请参见配置MRS集群弹性伸缩。 约束限制: 不涉及 取值范围: 最大长度为64个字符。 默认取值: 不涉及 |
metric_value |
是 |
String |
参数解释: 指标阈值。触发该条件的指标阈值,只允许输入整数或者带两位小数的数。 约束限制: 不涉及 取值范围: 只允许输入整数或者带两位小数的数。 默认取值: 不涉及 |
comparison_operator |
否 |
String |
参数解释: 指标判断逻辑运算符,包括: 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
evaluation_periods |
是 |
Integer |
参数解释: 判断连续满足指标阈值的周期数(一个周期为5分钟)。 约束限制: 不涉及 取值范围: 1-200 默认取值: 不涉及 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
参数解释: 弹性伸缩自定义自动化脚本的名称。 约束限制: 不涉及 取值范围: 同一个集群的自定义自动化脚本名称不允许相同。只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头,长度为[1-64]个字符。 默认取值: 不涉及 |
uri |
是 |
String |
参数解释: 自定义自动化脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。
约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
parameters |
否 |
String |
参数解释: 自定义自动化脚本参数。多个参数间用空格隔开,可以传入以下系统预定义参数:
其他用户自定义参数使用方式与普通shell脚本相同,多个参数中间用空格隔开。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
nodes |
是 |
Array of string |
参数解释: 自定义自动化脚本所执行的节点类型,包含Master、Core和Task三种类型。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
active_master |
否 |
Boolean |
参数解释: 自定义自动化脚本是否只运行在主Master节点上。 约束限制: 不涉及 取值范围:
默认取值: false |
action_stage |
是 |
String |
参数解释: 脚本执行时机。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
fail_action |
是 |
String |
参数解释: 自定义自动化脚本执行失败后,是否继续执行后续脚本和创建集群。建议您在调试阶段设置为“continue”,无论此自定义自动化脚本是否执行成功,则集群都能继续安装和启动。由于缩容成功无法回滚,因此缩容后执行的脚本“fail_action”必须设置为“continue”。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
响应参数
状态码:200
参数名 |
参数类型 |
说明 |
---|---|---|
cluster_id |
String |
参数解释: 集群创建成功后系统返回的集群ID值。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
result |
Boolean |
参数解释: 操作结果。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
msg |
String |
参数解释: 系统提示信息,可为空。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
- 使用node_groups参数组,创建一个启用“集群高可用”功能的集群,集群版本号为MRS 3.2.0-LTS.1。
POST https://{endpoint}/v1.1/{project_id}/run-job-flow { "billing_type" : 12, "data_center" : "", "available_zone_id" : "0e7a368b6c54493e94ad32666b47e23e", "cluster_name" : "mrs_HEbK", "cluster_version" : "MRS 3.2.0-LTS.1", "safe_mode" : 0, "cluster_type" : 0, "component_list" : [ { "component_name" : "Hadoop" }, { "component_name" : "Spark2x" }, { "component_name" : "HBase" }, { "component_name" : "Hive" }, { "component_name" : "Zookeeper" }, { "component_name" : "Tez" }, { "component_name" : "Hue" }, { "component_name" : "Loader" }, { "component_name" : "Flink" } ], "vpc" : "vpc-4b1c", "vpc_id" : "4a365717-67be-4f33-80c5-98e98a813af8", "subnet_id" : "67984709-e15e-4e86-9886-d76712d4e00a", "subnet_name" : "subnet-4b44", "security_groups_id" : "4820eace-66ad-4f2c-8d46-cf340e3029dd", "enterprise_project_id" : "0", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ], "node_groups" : [ { "group_name" : "master_node_default_group", "node_num" : 2, "node_size" : "s3.xlarge.2.linux.bigdata", "root_volume_size" : 480, "root_volume_type" : "SATA", "data_volume_type" : "SATA", "data_volume_count" : 1, "data_volume_size" : 600 }, { "group_name" : "core_node_analysis_group", "node_num" : 3, "node_size" : "s3.xlarge.2.linux.bigdata", "root_volume_size" : 480, "root_volume_type" : "SATA", "data_volume_type" : "SATA", "data_volume_count" : 1, "data_volume_size" : 600 }, { "group_name" : "task_node_analysis_group", "node_num" : 2, "node_size" : "s3.xlarge.2.linux.bigdata", "root_volume_size" : 480, "root_volume_type" : "SATA", "data_volume_type" : "SATA", "data_volume_count" : 0, "data_volume_size" : 600, "auto_scaling_policy" : { "auto_scaling_enable" : true, "min_capacity" : 1, "max_capacity" : "3", "resources_plans" : [ { "period_type" : "daily", "start_time" : "9:50", "end_time" : "10:20", "min_capacity" : 2, "max_capacity" : 3 }, { "period_type" : "daily", "start_time" : "10:20", "end_time" : "12:30", "min_capacity" : 0, "max_capacity" : 2 } ], "exec_scripts" : [ { "name" : "before_scale_out", "uri" : "s3a://XXX/zeppelin_install.sh", "parameters" : "${mrs_scale_node_num} ${mrs_scale_type} xxx", "nodes" : [ "master", "core", "task" ], "active_master" : "true", "action_stage" : "before_scale_out", "fail_action" : "continue" }, { "name" : "after_scale_out", "uri" : "s3a://XXX/storm_rebalance.sh", "parameters" : "${mrs_scale_node_hostnames} ${mrs_scale_node_ips}", "nodes" : [ "master", "core", "task" ], "active_master" : "true", "action_stage" : "after_scale_out", "fail_action" : "continue" } ], "rules" : [ { "name" : "default-expand-1", "adjustment_type" : "scale_out", "cool_down_minutes" : 5, "scaling_adjustment" : 1, "trigger" : { "metric_name" : "YARNMemoryAvailablePercentage", "metric_value" : "25", "comparison_operator" : "LT", "evaluation_periods" : 10 } }, { "name" : "default-shrink-1", "adjustment_type" : "scale_in", "cool_down_minutes" : 5, "scaling_adjustment" : 1, "trigger" : { "metric_name" : "YARNMemoryAvailablePercentage", "metric_value" : "70", "comparison_operator" : "GT", "evaluation_periods" : 10 } } ] } } ], "login_mode" : 1, "cluster_master_secret" : "", "cluster_admin_secret" : "", "log_collection" : 1, "add_jobs" : [ { "job_type" : 1, "job_name" : "tenji111", "jar_path" : "s3a://bigdata/program/hadoop-mapreduce-examples-2.7.2.jar", "arguments" : "wordcount", "input" : "s3a://bigdata/input/wd_1k/", "output" : "s3a://bigdata/ouput/", "job_log" : "s3a://bigdata/log/", "shutdown_cluster" : true, "file_action" : "", "submit_job_once_cluster_run" : true, "hql" : "", "hive_script_path" : "" } ], "bootstrap_scripts" : [ { "name" : "Modify os config", "uri" : "s3a://XXX/modify_os_config.sh", "parameters" : "param1 param2", "nodes" : [ "master", "core", "task" ], "active_master" : "false", "before_component_start" : "true", "start_time" : "1667892101", "state" : "IN_PROGRESS", "fail_action" : "continue", "action_stages" : [ "BEFORE_COMPONENT_FIRST_START", "BEFORE_SCALE_IN" ] }, { "name" : "Install zepplin", "uri" : "s3a://XXX/zeppelin_install.sh", "parameters" : "", "nodes" : [ "master" ], "active_master" : "true", "before_component_start" : "false", "start_time" : "1667892101", "state" : "IN_PROGRESS", "fail_action" : "continue", "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ] } ] }
- 不使用node_groups参数组,创建一个启用“集群高可用”功能的集群,集群版本号为MRS 3.2.0-LTS.1。
POST https://{endpoint}/v1.1/{project_id}/run-job-flow { "billing_type" : 12, "data_center" : "", "master_node_num" : 2, "master_node_size" : "s3.2xlarge.2.linux.bigdata", "core_node_num" : 3, "core_node_size" : "s3.2xlarge.2.linux.bigdata", "available_zone_id" : "0e7a368b6c54493e94ad32666b47e23e", "cluster_name" : "newcluster", "vpc" : "vpc1", "vpc_id" : "5b7db34d-3534-4a6e-ac94-023cd36aaf74", "subnet_id" : "815bece0-fd22-4b65-8a6e-15788c99ee43", "subnet_name" : "subnet", "security_groups_id" : "845bece1-fd22-4b45-7a6e-14338c99ee43", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ], "cluster_version" : "MRS 3.2.0-LTS.1", "cluster_type" : 0, "master_data_volume_type" : "SATA", "master_data_volume_size" : 600, "master_data_volume_count" : 1, "core_data_volume_type" : "SATA", "core_data_volume_size" : 600, "core_data_volume_count" : 2, "node_public_cert_name" : "SSHkey-bba1", "safe_mode" : 0, "log_collection" : 1, "task_node_groups" : [ { "node_num" : 2, "node_size" : "s3.xlarge.2.linux.bigdata", "data_volume_type" : "SATA", "data_volume_count" : 1, "data_volume_size" : 600, "auto_scaling_policy" : { "auto_scaling_enable" : true, "min_capacity" : 1, "max_capacity" : "3", "resources_plans" : [ { "period_type" : "daily", "start_time" : "9: 50", "end_time" : "10: 20", "min_capacity" : 2, "max_capacity" : 3 }, { "period_type" : "daily", "start_time" : "10: 20", "end_time" : "12: 30", "min_capacity" : 0, "max_capacity" : 2 } ], "exec_scripts" : [ { "name" : "before_scale_out", "uri" : "s3a: //XXX/zeppelin_install.sh", "parameters" : "${mrs_scale_node_num}${mrs_scale_type}xxx", "nodes" : [ "master", "core", "task" ], "active_master" : "true", "action_stage" : "before_scale_out", "fail_action" : "continue" }, { "name" : "after_scale_out", "uri" : "s3a: //XXX/storm_rebalance.sh", "parameters" : "${mrs_scale_node_hostnames}${mrs_scale_node_ips}", "nodes" : [ "master", "core", "task" ], "active_master" : "true", "action_stage" : "after_scale_out", "fail_action" : "continue" } ], "rules" : [ { "name" : "default-expand-1", "adjustment_type" : "scale_out", "cool_down_minutes" : 5, "scaling_adjustment" : 1, "trigger" : { "metric_name" : "YARNMemoryAvailablePercentage", "metric_value" : "25", "comparison_operator" : "LT", "evaluation_periods" : 10 } }, { "name" : "default-shrink-1", "adjustment_type" : "scale_in", "cool_down_minutes" : 5, "scaling_adjustment" : 1, "trigger" : { "metric_name" : "YARNMemoryAvailablePercentage", "metric_value" : "70", "comparison_operator" : "GT", "evaluation_periods" : 10 } } ] } } ], "component_list" : [ { "component_name" : "Hadoop" }, { "component_name" : "Spark" }, { "component_name" : "HBase" }, { "component_name" : "Hive" } ], "add_jobs" : [ { "job_type" : 1, "job_name" : "tenji111", "jar_path" : "s3a: //bigdata/program/hadoop-mapreduce-examples-2.7.2.jar", "arguments" : "wordcount", "input" : "s3a: //bigdata/input/wd_1k/", "output" : "s3a: //bigdata/ouput/", "job_log" : "s3a: //bigdata/log/", "shutdown_cluster" : true, "file_action" : "", "submit_job_once_cluster_run" : true, "hql" : "", "hive_script_path" : "" } ], "bootstrap_scripts" : [ { "name" : "Modifyosconfig", "uri" : "s3a: //XXX/modify_os_config.sh", "parameters" : "param1param2", "nodes" : [ "master", "core", "task" ], "active_master" : "false", "before_component_start" : "true", "start_time" : "1667892101", "state" : "IN_PROGRESS", "fail_action" : "continue", "action_stages" : [ "BEFORE_COMPONENT_FIRST_START", "BEFORE_SCALE_IN" ] }, { "name" : "Installzepplin", "uri" : "s3a: //XXX/zeppelin_install.sh", "parameters" : "", "nodes" : [ "master" ], "active_master" : "true", "before_component_start" : "false", "start_time" : "1667892101", "state" : "IN_PROGRESS", "fail_action" : "continue", "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ] } ] }
- 使用node_groups参数组,创建一个关闭“集群高可用”功能、最小规格的集群,集群版本号为MRS 3.2.0-LTS.1。
POST https://{endpoint}/v1.1/{project_id}/run-job-flow { "billing_type" : 12, "data_center" : "", "available_zone_id" : "0e7a368b6c54493e94ad32666b47e23e", "cluster_name" : "mrs_HEbK", "cluster_version" : "MRS 3.2.0-LTS.1", "safe_mode" : 0, "cluster_type" : 0, "component_list" : [ { "component_name" : "Hadoop" }, { "component_name" : "Spark2x" }, { "component_name" : "HBase" }, { "component_name" : "Hive" }, { "component_name" : "Zookeeper" }, { "component_name" : "Tez" }, { "component_name" : "Hue" }, { "component_name" : "Loader" }, { "component_name" : "Flink" } ], "vpc" : "vpc-4b1c", "vpc_id" : "4a365717-67be-4f33-80c5-98e98a813af8", "subnet_id" : "67984709-e15e-4e86-9886-d76712d4e00a", "subnet_name" : "subnet-4b44", "security_groups_id" : "4820eace-66ad-4f2c-8d46-cf340e3029dd", "enterprise_project_id" : "0", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ], "node_groups" : [ { "group_name" : "master_node_default_group", "node_num" : 1, "node_size" : "s3.xlarge.2.linux.bigdata", "root_volume_size" : 480, "root_volume_type" : "SATA", "data_volume_type" : "SATA", "data_volume_count" : 1, "data_volume_size" : 600 }, { "group_name" : "core_node_analysis_group", "node_num" : 1, "node_size" : "s3.xlarge.2.linux.bigdata", "root_volume_size" : 480, "root_volume_type" : "SATA", "data_volume_type" : "SATA", "data_volume_count" : 1, "data_volume_size" : 600 } ], "login_mode" : 1, "cluster_master_secret" : "", "cluster_admin_secret" : "", "log_collection" : 1, "add_jobs" : [ { "job_type" : 1, "job_name" : "tenji111", "jar_path" : "s3a://bigdata/program/hadoop-mapreduce-examples-2.7.2.jar", "arguments" : "wordcount", "input" : "s3a://bigdata/input/wd_1k/", "output" : "s3a://bigdata/ouput/", "job_log" : "s3a://bigdata/log/", "shutdown_cluster" : true, "file_action" : "", "submit_job_once_cluster_run" : true, "hql" : "", "hive_script_path" : "" } ], "bootstrap_scripts" : [ { "name" : "Modify os config", "uri" : "s3a://XXX/modify_os_config.sh", "parameters" : "param1 param2", "nodes" : [ "master", "core", "task" ], "active_master" : "false", "before_component_start" : "true", "start_time" : "1667892101", "state" : "IN_PROGRESS", "fail_action" : "continue", "action_stages" : [ "BEFORE_COMPONENT_FIRST_START", "BEFORE_SCALE_IN" ] }, { "name" : "Install zepplin", "uri" : "s3a://XXX/zeppelin_install.sh", "parameters" : "", "nodes" : [ "master" ], "active_master" : "true", "before_component_start" : "false", "start_time" : "1667892101", "state" : "IN_PROGRESS", "fail_action" : "continue", "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ] } ] }
- 不使用node_groups参数组,创建一个关闭“集群高可用”功能、最小规格的集群,集群版本号为MRS 3.2.0-LTS.1。
POST https://{endpoint}/v1.1/{project_id}/run-job-flow { "billing_type" : 12, "data_center" : "", "master_node_num" : 1, "master_node_size" : "s3.2xlarge.2.linux.bigdata", "core_node_num" : 1, "core_node_size" : "s3.2xlarge.2.linux.bigdata", "available_zone_id" : "0e7a368b6c54493e94ad32666b47e23e", "cluster_name" : "newcluster", "vpc" : "vpc1", "vpc_id" : "5b7db34d-3534-4a6e-ac94-023cd36aaf74", "subnet_id" : "815bece0-fd22-4b65-8a6e-15788c99ee43", "subnet_name" : "subnet", "security_groups_id" : "", "enterprise_project_id" : "0", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ], "cluster_version" : "MRS 3.2.0-LTS.1", "cluster_type" : 0, "master_data_volume_type" : "SATA", "master_data_volume_size" : 600, "master_data_volume_count" : 1, "core_data_volume_type" : "SATA", "core_data_volume_size" : 600, "core_data_volume_count" : 1, "login_mode" : 1, "node_public_cert_name" : "SSHkey-bba1", "safe_mode" : 0, "cluster_admin_secret" : "******", "log_collection" : 1, "component_list" : [ { "component_name" : "Hadoop" }, { "component_name" : "Spark2x" }, { "component_name" : "HBase" }, { "component_name" : "Hive" }, { "component_name" : "Zookeeper" }, { "component_name" : "Tez" }, { "component_name" : "Hue" }, { "component_name" : "Loader" }, { "component_name" : "Flink" } ], "add_jobs" : [ { "job_type" : 1, "job_name" : "tenji111", "jar_path" : "s3a://bigdata/program/hadoop-mapreduce-examples-XXX.jar", "arguments" : "wordcount", "input" : "s3a://bigdata/input/wd_1k/", "output" : "s3a://bigdata/ouput/", "job_log" : "s3a://bigdata/log/", "shutdown_cluster" : false, "file_action" : "", "submit_job_once_cluster_run" : true, "hql" : "", "hive_script_path" : "" } ], "bootstrap_scripts" : [ { "name" : "Install zepplin", "uri" : "s3a://XXX/zeppelin_install.sh", "parameters" : "", "nodes" : [ "master" ], "active_master" : "false", "before_component_start" : "false", "start_time" : "1667892101", "state" : "IN_PROGRESS", "fail_action" : "continue", "action_stages" : [ "AFTER_SCALE_IN", "AFTER_SCALE_OUT" ] } ] }
响应示例
状态码:200
创建集群成功。
{ "cluster_id" : "da1592c2-bb7e-468d-9ac9-83246e95447a", "result" : true, "msg" : "" }
错误码
请参见错误码。