更新时间:2022-12-14 GMT+08:00

创建集群

功能介绍

创建一个MRS集群。

使用接口前,您需要先获取如表1所示的资源信息。

表1 获取资源

资源

获取途径

VPC

请参见虚拟私有云《接口参考》中的操作指导。

子网

请参见虚拟私有云《接口参考》中的操作指导。

密钥对

请参见弹性云服务器《接口参考》中的操作指导。

区域

区域和可用分区信息,具体请参考终端节点

服务版本信息

MRS目前支持MRS 2.1.1、MRS 3.0.5、MRS 3.1.0版本。

组件信息

  • MRS 3.1.0支持的组件信息如下:
    • 分析集群包含的组件有:Hadoop,Spark2x,HBase,Hive,Hue,Flink,Oozie,ZooKeeper,Ranger,Tez,Impala,Presto,Kudu
    • 流式集群包含的组件有:Kafka,Flume,ZooKeeper,Ranger
    • 混合集群包含的组件有:Hadoop,Spark2x,HBase,Hive,Hue,Flink,Oozie,ZooKeeper,Ranger,Tez,Impala,Presto,Kudu,Kafka,Flume
    • 自定义集群包含的组件有:Hadoop,Spark2x,HBase,Hive,Hue,Kafka,Flume,Flink,Oozie,ZooKeeper,Ranger,Tez,Impala,Presto,ClickHouse,Kudu
  • MRS 3.0.5支持的组件信息如下:
    • 分析集群包含的组件有:Hadoop,Spark2x,HBase,Hive,Hue,Loader,Flink,Oozie,ZooKeeper,Ranger,Tez,Impala,Presto,Kudu,Alluxio
    • 流式集群包含的组件有:Kafka,Storm,Flume,ZooKeeper,Ranger
    • 混合集群包含的组件有:Hadoop,Spark2x,HBase,Hive,Hue,Loader,Flink,Oozie,ZooKeeper,Ranger,Tez,Impala,Presto,Kudu,Alluxio,Kafka,Storm,Flume
    • 自定义集群包含的组件有:Hadoop,Spark2x,HBase,Hive,Hue,Loader,Kafka,Storm,Flume,Flink,Oozie,ZooKeeper,Ranger,Tez,Impala,Presto,ClickHouse,Kudu,Alluxio

URI

POST /v2/{project_id}/clusters
表2 URI参数说明

名称

是否必选

参数类型

说明

project_id

String

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

请求消息

表3 请求参数说明

参数名

是否必选

参数类型

说明

cluster_version

String

集群版本。取值范围:

  • MRS 3.0.5
  • MRS 3.1.0

cluster_name

String

集群名称,不允许相同。

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

cluster_type

String

集群类型,取值范围:

  • ANALYSIS:分析集群
  • STREAMING:流式集群
  • MIXED:混合集群
  • CUSTOM:自定义集群,仅MRS 3.x版本支持。

region

String

集群所在区域信息,具体请参考终端节点

vpc_name

String

子网所在VPC名称。通过VPC管理控制台获取名称:

  1. 登录管理控制台。
  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

组件名称列表,用逗号分隔。组件名请参考表1中的各版本的组件列表范围。

availability_zone

String

可用分区名称,不支持多AZ集群。

可用分区信息,具体请参考终端节点

security_groups_id

String

集群安全组的ID。

  • 当该ID为空时MRS后台会自动创建安全组,自动创建的安全组名称以mrs_{cluster_name}开头。
  • 当该ID不为空时,表示使用固定安全组来创建集群,传入的ID必须是当前租户中包含的安全组ID,且该安全组中需要包含一条支持全部协议、全部端口、源地址为指定的管理面节点IP的入方向规则。

safe_mode

String

MRS集群运行模式。

  • SIMPLE:普通集群,表示Kerberos认证关闭,用户可使用集群提供的所有功能。
  • KERBEROS:安全集群,表示Kerberos认证开启,普通用户无权限使用MRS集群的“文件管理”和“作业管理”功能,并且无法查看Hadoop、Spark的作业记录以及集群资源使用情况。如果需要使用集群更多功能,需要找Manager的管理员分配权限。

manager_admin_password

String

配置Manager管理员用户的密码。
  • 密码长度应在8~26个字符之间。
  • 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。
  • 不能与用户名或者倒序用户名相同。

login_mode

String

节点登录方式。

  • PASSWORD:密码登录,选择此项时,node_root_password不能为空。
  • KEYPAIR:密钥对登录,选择此项时,node_keypair_name不能为空。

node_root_password

String

配置访问集群节点的root密码。 密码设置约束如下:
  • 字符串类型,可输入的字符串长度为8-26。
  • 至少包含四种字符组合,如大写字母,小写字母,数字,特殊字符(!@$%^-_=+[{}]:,./?),但不能包含空格。
  • 不能与用户名或者倒序用户名相同。

node_keypair_name

String

密钥对名称。用户可以使用密钥对方式登录集群节点。

enterprise_project_id

String

企业项目ID。

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

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

eip_address

String

与MRS集群绑定的弹性公网IP,可实现使用弹性公网IP访问Manager的目的。该弹性公网IP必须已经创建且与集群在同一区域。

eip_id

String

当“eip_address”配置时,该参数必须配置,用于表示绑定的弹性公网IP的ID。可通过在VPC服务的“网络控制台 > 弹性公网IP和带宽 > 弹性公网IP”页面单击待绑定的弹性公网IP,在基本信息中获取“ID”。

mrs_ecs_default_agency

String

集群节点默认绑定的委托名称,固定为MRS_ECS_DEFAULT_AGENCY

通过绑定委托,您可以将部分资源共享给ECS或BMS云服务来管理,例如通过配置ECS委托可自动获取AK/SK访问OBS。

MRS_ECS_DEFAULT_AGENCY委托拥有对象存储服务的OBS OperateAccess权限和在集群所在区域拥有CES FullAccess(对开启细粒度策略的用户)、CES Administrator和KMS Administrator权限。

template_id

String

当集群类型为CUSTOM时,用于指定节点部署所使用的模板。

  • mgmt_control_combined_v2:管控合设模板,管理角色和控制角色共同部署在Master节点中,数据实例合设在同一节点组。该部署方式适用于100个以下的节点,可以减少成本。
  • mgmt_control_separated_v2:管控分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例合设在同一节点组。该部署方式适用于100-500个节点,在高并发负载情况下表现更好。
  • mgmt_control_data_separated_v2:数据分设模板,管理角色和控制角色分别部署在不同的Master节点中,数据实例分设在不同节点组。该部署方式适用于500个以上的节点,可以将各组件进一步分开部署,适用于更大的集群规模。

tags

Array of tag objects

集群的标签信息。参数说明请参见表4

同一个集群最多能使用10个标签。

log_collection

Integer

集群创建失败时,是否收集失败日志。 默认设置为1,此时将创建OBS桶仅用于MRS集群创建失败时的日志收集。 枚举值:

  • 0:不收集
  • 1:收集

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

node_groups

Array of NodeGroupV2 objects

组成集群的节点组信息,参数说明请参见表5

bootstrap_scripts

Array of bootstrap_script objects

配置引导操作脚本信息。参数说明请参见表7

MRS 3.x不支持该参数。

add_jobs

Array of add_jobs objects

创建集群时可同时提交作业,当前版本暂时只支持新增一个作业,作业参数请参见表8

MRS 3.x不支持该参数。

表4 Tag结构说明

参数名

是否必选

参数类型

说明

key

String

标签的键。

  • 最大长度36个unicode字符,不能为空字符串。
  • 标签的key值不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”,且首尾字符不能为空格。
  • 同一资源的key值不能重复。

value

String

标签值。

  • 最大长度43个unicode字符,可以为空字符串。
  • 标签的value值不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”,且首尾字符不能为空格。
表5 NodeGroup结构说明

参数名

是否必选

参数类型

说明

group_name

String

节点组名称,最大长度64,支持大小写英文、数字以及“_”。节点组配置原则如下:

  • master_node_default_group:Master节点组,所有集群类型均需包含该节点组。
  • core_node_analysis_group:分析Core节点组,分析集群、混合集群均需包含该节点组。
  • core_node_streaming_group:流式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

节点的实例规格。

MRS当前支持主机规格的配型由CPU+内存+Disk共同决定。

该参数建议从MRS控制台的集群创建页面获取对应区域对应版本所支持的规格。

root_volume

Volume object

节点系统盘信息,部分虚拟机或BMS自带系统盘的情况该参数可选,其他情况该参数必选,参数说明请参见表6

data_volume

Volume object

节点数据盘信息,当data_volume_count不为0时,该参数必选。

data_volume_count

Integer

节点数据磁盘存储数目

取值范围:0~10

auto_scaling_policy

auto_scaling_policy object

节点组对应的弹性伸缩规则,参数说明请参见表9

assigned_roles

Array of strings

当集群类型为CUSTOM时,该参数必选。可以指定节点组中部署的角色,该参数是一个字符串数组,每个字符串表示一个角色表达式。

角色表达式定义:

  • 当该角色在节点组所有节点部署时: <role name>,如“DataNode”。
  • 当该角色在节点组指定下标节点部署时:<role name>:<index1>,<index2>…,<indexN>,如“NameNode:1,2”,下标从1开始计数。
  • 部分角色支持多实例部署(即在一个节点部署多个同角色的实例):<role name>[<instance count>],如“EsNode[9]”

可选的角色请参考MRS支持的角色与组件对应表

表6 Volume结构说明

参数名

是否必选

参数类型

说明

type

String

磁盘类型

磁盘类型枚举值:

  • SATA:普通IO磁盘类型。
  • SAS:高IO磁盘类型。
  • SSD:超高IO磁盘类型。

size

Integer

数据盘大小,容量单位为GB,输入大小范围为[10,32768]。

表7 bootstrap_script结构说明

参数名

是否必选

参数类型

说明

name

String

引导操作脚本的名称,同一个集群的引导操作脚本名称不允许相同。

只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。

可输入的字符串长度为1~64个字符。

uri

String

引导操作脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。

  • OBS桶的路径:直接手动输入脚本路径。例如输入MRS提供的公共样例脚本路径。示例:s3a://bootstrap/presto/presto-install.sh,其中安装dualroles时,presto-install.sh脚本参数为dualroles , 安装worker时,presto-install.sh脚本参数为worker。根据Presto使用习惯,建议您在Active Master节点上安装dualroles,在Core节点上安装worker。
  • 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。

parameters

String

引导操作脚本参数。

nodes

Array of strings

引导操作脚本所执行的节点组名称,包含Master、Core和Task三种类型。

active_master

Boolean

引导操作脚本是否只运行在主Master节点上。

缺省值为false,表示引导操作脚本可运行在所有Master节点上。

before_component_start

Boolean

引导操作脚本执行的时间。目前支持“组件启动前”和“组件启动后”两种类型。

缺省值为false,表示引导操作脚本在组件启动后执行。

fail_action

String

引导操作脚本执行失败后,是否继续执行后续脚本和创建集群。

  • continue:继续执行后续脚本。
  • errorout:终止操作。
缺省值为errorout,表示终止操作。
说明:

建议您在调试阶段设置为“继续”,无论此引导操作是否执行成功,则集群都能继续安装和启动。

action_stages

Array of strings

选择引导操作脚本执行的时间。

  • BEFORE_COMPONENT_FIRST_START: 组件首次启动前
  • AFTER_COMPONENT_FIRST_START: 组件首次启动后
  • BEFORE_SCALE_IN: 缩容前
  • AFTER_SCALE_IN: 缩容后
  • BEFORE_SCALE_OUT: 扩容前
  • AFTER_SCALE_OUT: 扩容后
表8 add_jobs结构说明

参数名

是否必选

参数类型

说明

job_type

Integer

作业类型码。

  • 1:MapReduce
  • 2:Spark
  • 3:Hive Script
  • 4:HiveQL(当前不支持)
  • 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只负责参数的传入。

最多为2047字符,不能包含;|&>'<$特殊字符,可为空。

input

String

数据输入地址。

文件可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
  • OBS:以“s3a://”开头。不支持KMS加密的文件或程序。
  • HDFS:以“/”开头。

最多为1023字符,不能包含;|&>'<$特殊字符,可为空。

output

String

数据输出地址。

文件可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
  • OBS:以“s3a://”开头。
  • HDFS:以“/”开头。

如果该路径不存在,系统会自动创建。

最多为1023字符,不能包含;|&>'<$特殊字符,可为空。

job_log

String

作业日志存储地址,该日志信息记录作业运行状态。

文件可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
  • OBS:以“s3a://”开头。
  • HDFS:以“/”开头。

最多为1023字符,不能包含;|&>'<$特殊字符,可为空。

shutdown_cluster

Bool

作业执行完成后,是否删除集群。

  • true:是
  • false:否

file_action

String

数据导入导出。

  • import
  • export

submit_job_once_cluster_run

Bool

  • true:创建集群同时提交作业
  • false:单独提交作业

此处应设置为true。

hql

String

HQL脚本语句。

hive_script_path

String

sql程序路径,仅Spark Script和Hive Script作业需要使用此参数。需要满足如下要求:

  • 最多为1023字符,不能包含;|&><'$特殊字符,且不可为空或全空格。
  • 文件可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
    • OBS:以“s3a://”开头。不支持KMS加密的文件或程序。
    • HDFS:以“/”开头。
  • 需要以“.sql”结尾,sql不区分大小写。
表9 auto_scaling_policy结构说明

参数名

是否必选

参数类型

说明

auto_scaling_enable

Boolean

当前自动伸缩规则是否开启。

min_capacity

Integer

指定该节点组的最小保留节点数。

取值范围:[0~500]

max_capacity

Integer

指定该节点组的最大节点数。

取值范围:[0~500]

resources_plans

Array of resources_plan objects

资源计划列表,详细说明请参见表10。若该参数为空表示不启用资源计划。

当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。

exec_scripts

Array of scale_script objects

弹性伸缩自定义自动化脚本列表。详细说明请参见表11。若该参数为空表示不启用钩子脚本。

rules

Array of rules objects

自动伸缩的规则列表,详细说明请参见表12

当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。

表10 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]

表11 scale_script参数说明

参数名

是否必选

参数类型

说明

name

String

弹性伸缩自定义自动化脚本的名称,同一个集群的自定义自动化脚本名称不允许相同。

只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。

可输入的字符串长度为1~64个字符。

uri

String

自定义自动化脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。

  • OBS桶的路径:直接手动输入脚本路径。示例:s3a://XXX/scale.sh
  • 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。

parameters

String

自定义自动化脚本参数。

  • 多个参数间用空格隔开。
  • 可以传入以下系统预定义参数:
    • ${mrs_scale_node_num}:扩缩容节点数
    • ${mrs_scale_type}:扩缩容类型,扩容为scale_out,缩容为scale_in
    • ${mrs_scale_node_hostnames}:扩缩容的节点主机名称
    • ${mrs_scale_node_ips}:扩缩容的节点IP
    • ${mrs_scale_rule_name}:触发扩缩容的规则名
  • 其他用户自定义参数使用方式与普通shell脚本相同,多个参数中间用空格隔开。

nodes

List<String>

自定义自动化脚本所执行的节点类型,包含Master、Core和Task三种类型。

active_master

Boolean

自定义自动化脚本是否只运行在主Master节点上。

缺省值为false,表示自定义自动化脚本可运行在所有Master节点上。

action_stage

String

脚本执行时机。

支持以下四个阶段:

  • before_scale_out:扩容前
  • before_scale_in:缩容前
  • after_scale_out:扩容后
  • after_scale_in:缩容后

fail_action

String

自定义自动化脚本执行失败后,是否继续执行后续脚本和创建集群。

  • continue:继续执行后续脚本。
  • errorout:终止操作。
    说明:
    • 建议您在调试阶段设置为“continue”,无论此自定义自动化脚本是否执行成功,则集群都能继续安装和启动。
    • 由于缩容成功无法回滚,因此缩容后执行的脚本“fail_action”必须设置为“continue”
表12 rules参数说明

参数名

是否必选

参数类型

说明

name

String

弹性伸缩规则的名称。

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

在一个节点组范围内,不允许重名。

description

String

弹性伸缩规则的说明。

最大长度为1024字符。

adjustment_type

String

弹性伸缩规则的调整类型,只允许以下类型:

  • scale_out:扩容
  • scale_in:缩容

cool_down_minutes

Integer

触发弹性伸缩规则后,该集群处于冷却状态(不再执行弹性伸缩操作)的时长,单位为分钟。

取值范围[0~10080],10080为一周的分钟数。

scaling_adjustment

Integer

单次调整集群节点的个数。

取值范围[1~100]

trigger

Trigger object

描述该规则触发条件,详细说明请参见表13

表13 trigger参数说明

参数名

是否必选

参数类型

说明

metric_name

String

指标名称。

该触发条件会依据该名称对应指标的值来进行判断。

最大长度为64个字符。

metric_value

String

指标阈值。

触发该条件的指标阈值,只允许输入整数或者带两位小数的数。

comparison_operator

String

指标判断逻辑运算符,包括:

  • LT:小于
  • GT:大于
  • LTOE:小于等于
  • GTOE:大于等于

evaluation_periods

Integer

判断连续满足指标阈值的周期数(一个周期为5分钟)。

取值范围[1~288]

响应参数

状态码: 200

表14 响应参数说明

参数名

参数类型

说明

cluster_id

String

集群创建成功后系统返回的集群ID值。

请求示例

  • 创建分析集群
    POST /v2/{project_id}/clusters
    
    {
      "cluster_version": "MRS 3.1.0",
      "cluster_name": "mrs_DyJA_dm",
      "cluster_type": "ANALYSIS",
      "charge_info": {
    	  "charge_mode": "postPaid"
      },
      "region": "",
      "availability_zone": "",
      "vpc_name": "vpc-37cd",
      "subnet_id" : "1f8c5ca6-1f66-4096-bb00-baf175954f6e",
      "subnet_name": "subnet",
      "components": "Hadoop,Spark2x,HBase,Hive,Hue,Flink,Oozie,Ranger,Tez",
      "safe_mode": "KERBEROS",
      "manager_admin_password": "Mrs@1234",
      "login_mode": "PASSWORD",
      "node_root_password": "Mrs@1234",
      "log_collection": 1,
      "mrs_ecs_default_agency": "MRS_ECS_DEFAULT_AGENCY",
      "tags": [
        {
          "key": "tag1",
          "value": "111"
        },
        {
          "key": "tag2",
          "value": "222"
        }
      ], 
      "node_groups": [
        {
          "group_name": "master_node_default_group",
          "node_num": 2,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1
        },
       {
          "group_name": "core_node_analysis_group",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1
        },
        {
          "group_name": "task_node_analysis_group",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
    	 "auto_scaling_policy": {
                    "auto_scaling_enable": true,
                    "min_capacity": 0,
                    "max_capacity": 1,
                    "resources_plans" : [ {
                      "period_type" : "daily",
                      "start_time" : "12:00",
                      "end_time" : "13:00",
                      "min_capacity" : 2,
                      "max_capacity" : 3
                    } ],
                    "exec_scripts" : [ {
                      "name" : "test",
                      "uri" : "s3a://obs-mrstest/bootstrap/basic_success.sh",
                      "parameters" : "",
                      "nodes" : [ "master_node_default_group", "core_node_analysis_group", "task_node_analysis_group" ],
                      "active_master" : false,
                      "action_stage" : "before_scale_out",
                      "fail_action" : "continue"
                    } ],
                    "rules": [
                        {
                            "name": "default-expand-1",
                            "description": "",
                            "adjustment_type": "scale_out",
                            "cool_down_minutes": 5,
                            "scaling_adjustment": "1",
                            "trigger": {
                                "metric_name": "StormSlotAvailablePercentage",
                                "metric_value": 100,
                                "comparison_operator": "LTOE",
                                "evaluation_periods": "1"
                            }
                        }
                    ]
                }
        }
      ]
    }
  • 创建流式集群
    POST /v2/{project_id}/clusters
    
    {
      "cluster_version": "MRS 3.1.0",
      "cluster_name": "mrs_Dokle_dm",
      "cluster_type": "STREAMING",
      "charge_info": {
    	  "charge_mode": "postPaid"
      },
      "region": "",
      "availability_zone": "",
      "vpc_name": "vpc-37cd",
       "subnet_id" : "1f8c5ca6-1f66-4096-bb00-baf175954f6e",
      "subnet_name": "subnet",
      "components": ""Storm,Kafka,Flume,Ranger",
      "safe_mode": "KERBEROS",
      "manager_admin_password": "Mrs@1234",
      "login_mode": "PASSWORD",
      "node_root_password": "Mrs@1234",
      "log_collection": 1,
      "mrs_ecs_default_agency": "MRS_ECS_DEFAULT_AGENCY",
      "tags": [
        {
          "key": "tag1",
          "value": "111"
        },
        {
          "key": "tag2",
          "value": "222"
        }
      ], 
      "node_groups": [
        {
          "group_name": "master_node_default_group",
          "node_num": 2,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1
        },
        {
          "group_name": "core_node_streaming_group",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
        },
    	{
          "group_name": "task_node_streaming_group",
          "node_num": 0,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
    	 "auto_scaling_policy": {
                    "auto_scaling_enable": true,
                    "min_capacity": 0,
                    "max_capacity": 1,
                    "resources_plans" : [ {
                      "period_type" : "daily",
                      "start_time" : "12:00",
                      "end_time" : "13:00",
                      "min_capacity" : 2,
                      "max_capacity" : 3
                    } ],
                    "rules": [
                        {
                            "name": "default-expand-1",
                            "description": "",
                            "adjustment_type": "scale_out",
                            "cool_down_minutes": 5,
                            "scaling_adjustment": "1",
                            "trigger": {
                                "metric_id": 2003,
                                "metric_name": "StormSlotAvailablePercentage",
                                "metric_value": 100,
                                "comparison_operator": "LTOE",
                                "evaluation_periods": "1"
                            }
                        }
                    ]
                }
    	 }
      ]
    }
  • 创建混合集群
    POST /v2/{project_id}/clusters
    
    {
      "cluster_version" : "MRS 3.1.0",
      "cluster_name" : "mrs_onmm_dm",
      "cluster_type" : "MIXED",
      "charge_info" : {
         "charge_mode" : "postPaid"
      },
      "region" : "",
      "availability_zone" : "",
      "vpc_name" : "vpc-37cd",
      "subnet_id" : "1f8c5ca6-1f66-4096-bb00-baf175954f6e",
      "subnet_name" : "subnet",
      "components" : "Hadoop,Spark2x,HBase,Hive,Hue,Loader,Kafka,Storm,Flume,Flink,Oozie,Ranger,Tez",
      "safe_mode" : "KERBEROS",
      "manager_admin_password" : "your password",
      "login_mode" : "PASSWORD",
      "node_root_password" : "your password",
      "log_collection" : 1,
      "mrs_ecs_default_agency" : "MRS_ECS_DEFAULT_AGENCY",
      "tags" : [ {
        "key" : "tag1",
        "value" : "111"
      }, {
        "key" : "tag2",
        "value" : "222"
      } ],
      "node_groups" : [ {
        "group_name" : "master_node_default_group",
        "node_num" : 2,
        "node_size" : "Sit3.4xlarge.4.linux.bigdata",
        "root_volume" : {
          "type" : "SAS",
          "size" : 480
        },
        "data_volume" : {
          "type" : "SAS",
          "size" : 600
        },
        "data_volume_count" : 1
      }, {
        "group_name" : "core_node_streaming_group",
        "node_num" : 3,
        "node_size" : "Sit3.4xlarge.4.linux.bigdata",
        "root_volume" : {
          "type" : "SAS",
          "size" : 480
        },
        "data_volume" : {
          "type" : "SAS",
          "size" : 600
        },
        "data_volume_count" : 1
      }, {
        "group_name" : "core_node_analysis_group",
        "node_num" : 3,
        "node_size" : "Sit3.4xlarge.4.linux.bigdata",
        "root_volume" : {
          "type" : "SAS",
          "size" : 480
        },
        "data_volume" : {
          "type" : "SAS",
          "size" : 600
        },
        "data_volume_count" : 1
      }, {
        "group_name" : "task_node_analysis_group",
        "node_num" : 1,
        "node_size" : "Sit3.4xlarge.4.linux.bigdata",
        "root_volume" : {
          "type" : "SAS",
          "size" : 480
        },
        "data_volume" : {
          "type" : "SAS",
          "size" : 600
        },
        "data_volume_count" : 1
      }, {
        "group_name" : "task_node_streaming_group",
        "node_num" : 0,
        "node_size" : "Sit3.4xlarge.4.linux.bigdata",
        "root_volume" : {
          "type" : "SAS",
          "size" : 480
        },
        "data_volume" : {
          "type" : "SAS",
          "size" : 600
        },
        "data_volume_count" : 1
      } ]
    }
  • 创建自定义管控合设集群
    POST /v2/{project_id}/clusters
    
    {
      "cluster_version": "MRS 3.1.0",
      "cluster_name": "mrs_heshe_dm",
      "cluster_type": "CUSTOM",
      "charge_info": {
    	  "charge_mode": "postPaid"
      },
      "region": "",
      "availability_zone": "",
      "vpc_name": "vpc-37cd",
      "subnet_id" : "1f8c5ca6-1f66-4096-bb00-baf175954f6e",
      "subnet_name": "subnet-ed99",
      "components": "Hadoop,Spark2x,HBase,Hive,Hue,Kafka,Flume,Flink,Oozie,HetuEngine,Ranger,Tez,ZooKeeper,ClickHouse",
      "safe_mode": "KERBEROS",
      "manager_admin_password": "Mrs@1234",
      "login_mode": "PASSWORD",
      "node_root_password": "Mrs@1234",
      "mrs_ecs_default_agency": "MRS_ECS_DEFAULT_AGENCY",
      "template_id": "mgmt_control_combined_v2",
      "log_collection": 1,
      "tags": [
        {
          "key": "tag1",
          "value": "111"
        },
        {
          "key": "tag2",
          "value": "222"
        }
      ], 
      "node_groups": [
        {
          "group_name": "master_node_default_group",
          "node_num": 3,
          "node_size": "Sit3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "OMSServer:1,2",
                    "SlapdServer:1,2",
                    "KerberosServer:1,2",
                    "KerberosAdmin:1,2",
                    "quorumpeer:1,2,3",
                    "NameNode:2,3",
                    "Zkfc:2,3",
                    "JournalNode:1,2,3",
                    "ResourceManager:2,3",
                    "JobHistoryServer:2,3",
                    "DBServer:1,3",
                    "Hue:1,3",
                    "MetaStore:1,2,3",
                    "WebHCat:1,2,3",
                    "HiveServer:1,2,3",
                    "HMaster:2,3",
                    "MonitorServer:1,2",
                    "Nimbus:1,2",
                    "UI:1,2",
                    "JDBCServer2x:1,2,3",
                    "JobHistory2x:2,3",
                    "SparkResource2x:1,2,3",
                    "oozie:2,3",
                    "LoadBalancer:2,3",
                    "TezUI:1,3",
                    "TimelineServer:3",
                    "RangerAdmin:1,2",
                    "UserSync:2",
                    "TagSync:2",
                    "KerberosClient",
                    "SlapdClient",
                    "meta",
                    "HSConsole:2,3",
                    "FlinkResource:1,2,3",
                    "DataNode:1,2,3",
                    "NodeManager:1,2,3",
                    "IndexServer2x:1,2",
                    "ThriftServer:1,2,3",
                    "RegionServer:1,2,3",
                    "ThriftServer1:1,2,3",
                    "RESTServer:1,2,3",
                    "Broker:1,2,3",
                    "Supervisor:1,2,3",
                    "Logviewer:1,2,3",
                    "Flume:1,2,3",
                    "HSBroker:1,2,3"
    ]
    	},
        {
          "group_name": "node_group_1",
          "node_num": 3,
          "node_size": "Sit3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "DataNode",
                    "NodeManager",
                    "RegionServer",
                    "Flume:1",
                    "Broker",
                    "Supervisor",
                    "Logviewer",
                    "HBaseIndexer",
                    "KerberosClient",
                    "SlapdClient",
                    "meta",
                    "HSBroker:1,2",
                    "ThriftServer",
                    "ThriftServer1",
                    "RESTServer",
                    "FlinkResource"]
        },
    	{
          "group_name": "node_group_2",
          "node_num": 1,
          "node_size": "Sit3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "NodeManager",
                    "KerberosClient",
                    "SlapdClient",
                    "meta",
                    "FlinkResource"]
        }
      ]
    }
  • 创建自定义管控分设集群
    POST /v2/{project_id}/clusters
    
    {
      "cluster_version": "MRS 3.1.0",
      "cluster_name": "mrs_jdRU_dm01",
      "cluster_type": "CUSTOM",
      "charge_info": {
    	  "charge_mode": "postPaid"
      },
      "region": "",
      "availability_zone": "",
      "vpc_name": "vpc-37cd",
      "subnet_id" : "1f8c5ca6-1f66-4096-bb00-baf175954f6e",
      "subnet_name": "subnet-ed99",
      "components": "Hadoop,Spark2x,HBase,Hive,Hue,Kafka,Flume,Flink,Oozie,HetuEngine,Ranger,Tez,Ranger,Tez,ZooKeeper,ClickHouse",
      "safe_mode": "KERBEROS",
      "manager_admin_password": "Mrs@1234",
      "login_mode": "PASSWORD",
      "node_root_password": "Mrs@1234",
      "mrs_ecs_default_agency": "MRS_ECS_DEFAULT_AGENCY",
      "log_collection": 1,
      "template_id": "mgmt_control_separated_v2",
      "tags": [
        {
          "key": "aaa",
          "value": "111"
        },
        {
          "key": "bbb",
          "value": "222"
        }
      ], 
      "node_groups": [
        {
          "group_name": "master_node_default_group",
          "node_num": 5,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "OMSServer:1,2",
                    "SlapdServer:3,4",
                    "KerberosServer:3,4",
                    "KerberosAdmin:3,4",
                    "quorumpeer:3,4,5",
                    "NameNode:4,5",
                    "Zkfc:4,5",
                    "JournalNode:1,2,3,4,5",
                    "ResourceManager:4,5",
                    "JobHistoryServer:4,5",
                    "DBServer:3,5",
                    "Hue:1,2",
                    "MetaStore:1,2,3,4,5",
                    "WebHCat:1,2,3,4,5",
                    "HiveServer:1,2,3,4,5",
                    "HMaster:4,5",
                    "MonitorServer:1,2",
                    "Nimbus:1,2",
                    "UI:1,2",
                    "JDBCServer2x:1,2,3,4,5",
                    "JobHistory2x:4,5",
                    "SparkResource2x:1,2,3,4,5",
                    "oozie:1,2",
                    "LoadBalancer:1,2",
                    "TezUI:1,2",
                    "TimelineServer:5",
                    "RangerAdmin:1,2",
                    "KerberosClient",
                    "SlapdClient",
                    "meta",
                    "HSConsole:1,2",
                    "FlinkResource:1,2,3,4,5",
                    "DataNode:1,2,3,4,5",
                    "NodeManager:1,2,3,4,5",
                    "IndexServer2x:1,2",
                    "ThriftServer:1,2,3,4,5",
                    "RegionServer:1,2,3,4,5",
                    "ThriftServer1:1,2,3,4,5",
                    "RESTServer:1,2,3,4,5",
                    "Broker:1,2,3,4,5",
                    "Supervisor:1,2,3,4,5",
                    "Logviewer:1,2,3,4,5",
                    "Flume:1,2,3,4,5",
                    "HBaseIndexer:1,2,3,4,5",
                    "TagSync:1",
                    "UserSync:1"]
    	},
        {
          "group_name": "node_group_1",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "DataNode",
                    "NodeManager",
                    "RegionServer",
                    "Flume:1",
                    "Broker",
                    "Supervisor",
                    "Logviewer",
                    "HBaseIndexer",
                    "KerberosClient",
                    "SlapdClient",
                    "meta",
                    "HSBroker:1,2",
                    "ThriftServer",
                    "ThriftServer1",
                    "RESTServer",
                    "FlinkResource"]
        }
      ]
    }
  • 创建自定义数据分设集群
    POST /v2/{project_id}/clusters
    
    {
      "cluster_version": "MRS 3.1.0",
      "cluster_name": "mrs_jdRU_dm02",
      "cluster_type": "CUSTOM",
      "charge_info": {
    	  "charge_mode": "postPaid"
      },
      "region": "",
      "availability_zone": "",
      "vpc_name": "vpc-37cd",
      "subnet_id" : "1f8c5ca6-1f66-4096-bb00-baf175954f6e",
      "subnet_name": "subnet-ed99",
      "components": "Hadoop,Spark2x,HBase,Hive,Hue,Kafka,Flume,Flink,Oozie,Ranger,Tez,Ranger,Tez,ZooKeeper,ClickHouse",
      "safe_mode": "KERBEROS",
      "manager_admin_password": "Mrs@1234",
      "login_mode": "PASSWORD",
      "node_root_password": "Mrs@1234",
      "mrs_ecs_default_agency": "MRS_ECS_DEFAULT_AGENCY",
      "template_id": "mgmt_control_data_separated_v2",
      "log_collection": 1,
      "tags": [
        {
          "key": "aaa",
          "value": "111"
        },
        {
          "key": "bbb",
          "value": "222"
        }
      ], 
      "node_groups": [
        {
          "group_name": "master_node_default_group",
          "node_num": 9,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "OMSServer:1,2",
                    "SlapdServer:5,6",
                    "KerberosServer:5,6",
                    "KerberosAdmin:5,6",
                    "quorumpeer:5,6,7,8,9",
                    "NameNode:3,4",
                    "Zkfc:3,4",
                    "JournalNode:5,6,7",
                    "ResourceManager:8,9",
                    "JobHistoryServer:8",
                    "DBServer:8,9",
                    "Hue:8,9",
                    "FlinkResource:3,4",
                    "MetaStore:8,9",
                    "WebHCat:5",
                    "HiveServer:8,9",
                    "HMaster:8,9",
                    "MonitorServer:3,4",
                    "Nimbus:8,9",
                    "UI:8,9",
                    "JDBCServer2x:8,9",
                    "JobHistory2x:8,9",
                    "SparkResource2x:5,6,7",
                    "oozie:4,5",
                    "LoadBalancer:8,9",
                    "TezUI:5,6",
                    "TimelineServer:5",
                    "RangerAdmin:4,5",
                    "UserSync:5",
                    "TagSync:5",
                    "KerberosClient",
                    "SlapdClient",
                    "meta",
                    "HSBroker:5",
                    "HSConsole:3,4",
                    "FlinkResource:3,4"]
    	},
        {
          "group_name": "node_group_1",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "DataNode",
                    "NodeManager",
                    "RegionServer",
                    "Flume:1",
                    "GraphServer",
                    "KerberosClient",
                    "SlapdClient",
                    "meta",
                    "HSBroker:1,2"
    ]
        },
    	{
          "group_name": "node_group_2",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "HBaseIndexer",
                    "SolrServer[3]",
                    "EsNode[2]",
                    "KerberosClient",
                    "SlapdClient",
                    "meta"
    ]
        },
    	{
          "group_name": "node_group_3",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "Redis[2]",
                    "KerberosClient",
                    "SlapdClient",
                    "meta"]
        },
    	{
          "group_name": "node_group_4",
          "node_num": 3,
          "node_size": "rc3.4xlarge.4.linux.bigdata",
          "root_volume": {
            "type": "SAS",
            "size": 480
          },
          "data_volume": {
            "type": "SAS",
            "size": 600
          },
          "data_volume_count": 1,
          "assigned_roles": [
                    "Broker",
                    "Supervisor",
                    "Logviewer",
                    "KerberosClient",
                    "SlapdClient",
                    "meta"]
        }
      ]
    }

响应示例

  • 正常响应示例
    {
    	"cluster_id": "da1592c2-bb7e-468d-9ac9-83246e95447a"
    }
  • 异常响应示例
    {
    	"error_code": "MRS.0002",
    	"error_msg": "The parameter is invalid."
    }

状态码

状态码如状态码所示。

错误码

请参见错误码