5.1 集群管理接口
5.1.1 创建集群
功能介绍
创建一个MRS集群。
使用接口前,您需要先获取下的资源信息。
● 通过VPC创建或查询VPC、子网
● 通过ECS创建或查询密钥对
● 通过终端节点获取区域信息
● 参考MRS服务支持的组件获取MRS版本及对应版本支持的组件信息
接口约束
无
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/clusters
表5-1 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目编号。获取方法,请参见获 取项目ID。
请求参数
表5-2 请求 Body 参数
参数 是否必选 参数类型 描述
is_dec_project 否 Boolean 说明是否为专属云的资源,默认 为false。
cluster_versio
n 是 String 集群版本。 MRS目前支持MRS
1.9.2、MRS 3.1.0版本。
cluster_name 是 String 集群名称,不允许相同。 只能 由字母、数字、中划线和下划线 组成,并且长度为1~64个字 符。
cluster_type 是 String 集群类型,取值范围:
● ANALYSIS:分析集群
● STREAMING:流式集群
● MIXED:混合集群
● CUSTOM:自定义集群,仅 MRS 3.x版本支持。
charge_info 否 ChargeInfo
object 计费类型信息。
region 是 String 集群所在区域信息,请参见终端
节点。
vpc_name 是 String 子网所在VPC名称。 通过VPC管 理控制台获取名称:
1. 登录VPC管理控制台。
2. 单击“虚拟私有云”,从左 侧列表选择虚拟私有云。
在“虚拟私有云”页面的列表中 即可获取VPC名称。
参数 是否必选 参数类型 描述
subnet_id 否 String 子网ID。通过VPC管理控制台获 取子网ID:
1. 登录VPC管理控制台。
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”。
components 是 String 组件名称列表,用逗号分隔。支 持的组件请参见获取MRS集群 信息页面的“MRS服务支持的组 件”内容。
availability_zo
ne 是 String 可用分区名称。 可用分区信息
请参见终端节点。
参数 是否必选 参数类型 描述 security_grou
ps_id 否 String 集群安全组的ID。
● 当该ID为空时MRS后台会自
否 Boolean 是否要创建MRS集群默认安全
组,默认为false。 当指定该参 数为true,则无论
“security_groups_id”参数是 否指定,都会为集群创建默认安 全组。
safe_mode 是 String MRS集群运行模式。
● SIMPLE:普通集群,表示 Kerberos认证关闭,用户可 使用集群提供的所有功能。
● KERBEROS:安全集群,表 示Kerberos认证开启,普通
min_password 是 String 配置Manager管理员用户的密 码。
参数 是否必选 参数类型 描述
login_mode 是 String 节点登录方式。
● PASSWORD:密码登录,选 择此项时,
node_root_password不能为 空。
● KEYPAIR:密钥对登录,选 择此项时,
node_keypair_name不能为 空。
node_root_pa
ssword 否 String 配置访问集群节点的root密码。
密码设置约束如下:
ject_id 否 String 企业项目ID。
创建集群时,给集群绑定企业项
eip_address 否 String 与MRS集群绑定的弹性公网IP,
可实现使用弹性公网IP访问 Manager的目的。该弹性公网IP 必须已经创建且与集群在同一区 域。
eip_id 否 String 当“eip_address”配置时,该 参数必须配置,用于表示绑定的
参数 是否必选 参数类型 描述 mrs_ecs_defa
ult_agency 否 String 集群节点默认绑定的委托名称,
固定为MRS_ECS_DEFAULT_AGENCY。
通过绑定委托,您可以将部分资 在区域拥有CES FullAccess(对 开启细粒度策略的用户)、CES Administrator和KMS
Administrator权限。
template_id 否 String 当集群类型为CUSTOM时,用 于指定节点部署所使用的模板。
● mgmt_control_combined_v 2:管控合设模板,管理角色
● mgmt_control_separated_v 2:管控分设模板,管理角色
● mgmt_control_data_separat ed_v2:数据分设模板,管理
参数 是否必选 参数类型 描述
log_collection 否 Integer 集群创建失败时,是否收集失败 日志。 默认设置为1,此时将创 建OBS桶仅用于MRS集群创建失 败时的日志收集。
枚举值:
● 0:不收集
● 1:收集 node_groups 是 Array of
NodeGroupV 2 objects
组成集群的节点组信息。
bootstrap_scri
pts 否 Array of
bootstrap_scr ipt objects
配置引导操作脚本信息。
add_jobs 否 Array of add_jobs objects
创建集群时可同时提交作业,当 前版本暂时只支持新增一个作 业。
表5-3 ChargeInfo
参数 是否必选 参数类型 描述
charge_mode 是 String 计费模式。 取值范围:
● prePaid:预付费,即包年/
包月。暂不支持。
● postPaid:后付费,即按需 计费。
表5-4 tag
参数 是否必选 参数类型 描述
key 是 String 键。
● 最大长度36个unicode字符,
不能为空字符串。
● 标签的key值不能包含非打印 字符ASCII(0-31),“=”,
“*”,“<”,“>”,“\”,
“,”,“|”,“/”,且首尾字 符不能为空格。
● 同一资源的key值不能重复。
参数 是否必选 参数类型 描述
value 是 String 值。
● 最大长度43个unicode字符,
可以为空字符串。
● 标签的value值不能包含非打 印字符ASCII(0-31),“=”,
“*”,“<”,“>”,“\”,
“,”,“|”,“/”,且首尾字 符不能为空格。
表5-5 NodeGroupV2
参数 是否必选 参数类型 描述
group_name 是 String 节点组名称,最大长度64,支 持大小写英文、数字以及
“_”。节点组配置原则如下:
● master_node_default_group
:Master节点组,所有集群 类型均需包含该节点组。
● core_node_analysis_group
:分析Core节点组,分析集 群、混合集群均需包含该节 点组。
● core_node_streaming_grou p:流式Core节点组,流式集 群和混合集群均需包含该节 点组。
● task_node_analysis_group:
分析Task节点组,分析集群 和混合集群可根据需要选择 该节点组。
● task_node_streaming_group
:流式Task节点组,流式集 群、混合集群可根据需要选 择该节点组。
● node_group{x}:自定义集群 节点组,可根据需要添加多 个,最多支持添加9个该节点 组。
node_num 是 Integer 节点数量,取值范围0~500,
Core与Task节点总数最大为500 个。
参数 是否必选 参数类型 描述
node_size 是 String 节点的实例规格。例如:
c3.4xlarge.2.linux.bigdata。实
root_volume 否 Volume
object 节点系统盘信息,部分虚拟机或 BMS自带系统盘的情况该参数可 选,其他情况该参数必选。
data_volume 否 Volume
object 节点数据盘信息,当
data_volume_count不为0时,
该参数必选。
data_volume_
count 否 Integer 节点数据磁盘存储数目,取值范
围:0~10。
charge_info 否 ChargeInfo
object 节点组的计费类型,Master和 Core节点组是和集群的计费类型 一致,Task节点组可以和集群的 计费类型不同。
auto_scaling_
policy 否 auto_scaling_
policy object 弹性伸缩规则信息。
assigned_roles 否 Array of
strings 当集群类型为CUSTOM时,该 参数必选。可以指定节点组中部 节点部署时:{role name}:
{index1},{index2}…,
{indexN},如“NameNode:
1,2”,下标从1开始计数。
● 部分角色支持多实例部署
(即在一个节点部署多个同 角色的实例):{role name}
[{instance count}],如
“EsNode[9]”
可选的角色请参考MRS支持的 角色与组件对应表。
表5-6 Volume
参数 是否必选 参数类型 描述
type 是 String 磁盘类型。 磁盘类型枚举值:
● SATA:普通IO磁盘类型。
● SAS:高IO磁盘类型。
● SSD:超高IO磁盘类型。
● GPSSD:通用型SSD磁盘类 型
size 是 Integer 数据盘大小,容量单位为GB,
输入大小范围为[10,32768]。
表5-7 auto_scaling_policy
参数 是否必选 参数类型 描述
auto_scaling_
enable 是 Boolean 当前自动伸缩规则是否开启。
min_capacity 是 Integer 指定该节点组的最小保留节点 数。
取值范围:[0~500]
max_capacity 是 Integer 指定该节点组的最大节点数。
取值范围:[0~500]
resources_pla
ns 否 Array of
resources_pla n objects
资源计划列表。若该参数为空表 示不启用资源计划。
当启用弹性伸缩时,资源计划与 自动伸缩规则需至少配置其中一 种。
rules 否 Array of rules
objects 自动伸缩的规则列表。
当启用弹性伸缩时,资源计划与 自动伸缩规则需至少配置其中一 种。
exec_scripts 否 Array of scale_script objects
弹性伸缩自定义自动化脚本列 表。若该参数为空表示不启用自 动化脚本。
表5-8 resources_plan
参数 是否必选 参数类型 描述
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]
表5-9 rules
参数 是否必选 参数类型 描述
name 是 String 弹性伸缩规则的名称。
只能由字母、数字、中划线和下 划线组成,并且长度为1~64个 字符。
在一个节点组范围内,不允许重 名。
description 否 String 弹性伸缩规则的说明。
最大长度为1024字符。
adjustment_ty
pe 是 String 弹性伸缩规则的调整类型,只允
许以下类型:
枚举值:
● scale_out:扩容
● scale_in:缩容 cool_down_mi
nutes 是 Integer 触发弹性伸缩规则后,该集群处
于冷却状态(不再执行弹性伸缩 操作)的时长,单位为分钟。
取值范围[0~10080],10080为 一周的分钟数。
参数 是否必选 参数类型 描述 scaling_adjust
ment 是 Integer 单次调整集群节点的个数。
取值范围[1~100]
trigger 是 trigger object 描述该规则触发条件。
表5-10 trigger
参数 是否必选 参数类型 描述
metric_name 是 String 指标名称。
该触发条件会依据该名称对应指 标的值来进行判断。
最大长度为64个字符。
metric_value 是 String 指标阈值。
触发该条件的指标阈值,只允许 输入整数或者带两位小数的数。
comparison_o
perator 否 String 指标判断逻辑运算符,包括:
● LT:小于
● GT:大于
● LTOE:小于等于
● GTOE:大于等于 evaluation_pe
riods 是 Integer 判断连续满足指标阈值的周期数
(一个周期为5分钟)。
取值范围[1~288]
表5-11 scale_script
参数 是否必选 参数类型 描述
name 是 String 弹性伸缩自定义自动化脚本的名
称,同一个集群的自定义自动化 脚本名称不允许相同。
只能由数字、英文字符、空格、
中划线和下划线组成,且不能以 空格开头。
可输入的字符串长度为1~64个 字符。
参数 是否必选 参数类型 描述
uri 是 String 自定义自动化脚本的路径。设置
为OBS桶的路径或虚拟机本地的 路径。
● OBS桶的路径:直接手动输
● OBS桶的路径:直接手动输