数据类型

Model对象定义

Cluster

参数名 参数类型 参数描述
applications List\<Application> 需要安装的组件信息(如hive,pig,hbase)
autoTerminate Boolean 运行完所有作业后是否自动释放集群
id String 集群ID,是一个定长字符串,只包含大小写字母、数字、连字号(-)和下划线(_)
imageType String 镜像类型,参考BMR镜像
imageVersion String 镜像版本,参考BMR镜像
logUri String 用于上传运行日志的BOS路径
name String 集群名称
status ClusterStatus 集群状态信息

Application

参数名 参数类型 参数描述
name String 组件名称(如hive,pig,hbase,hue),参考BMR镜像
properties Object 组件属性,具体内容由不同组件决定
version String 组件版本,参考BMR镜像

组件属性

hive组件的properties定义如下:

参数名 参数类型 参数描述
metastore String hive metastore启用方式。default表示使用集群内部的metastore服务,mysql表示使用用户自行提供的mysql服务。
host String mysql服务器地址,当metastore为default时,该域不出现
port int mysql服务器端口,当metastore为default时,该域不出现
database String metastore使用的数据库名称,当metastore为default时,该域不出现
userName String 用于连接mysql服务器的用户名,当metastore为default时,该域不出现

hbase组件、pig组件、hue组件没有properties域

ClusterStatus

参数名 参数类型 参数描述
creationDateTime String 集群创建的时间,符合日期时间格式约束
endDateTime String 集群停止的时间,符合日期时间格式约束
readyDateTime String 集群完成部署的时间,符合日期时间格式约束
state String 集群状态

Step

参数名 参数类型 参数描述
actionOnFailure String 作业失败策略
id String 作业ID,是一个定长字符串,只包含大小写字母、数字、连字号(-)和下划线(_)
name String 作业名称
properties Object 作业描述,具体内容由作业类型决定
status StepStatus 作业状态信息
type String 作业类型
logUri String 作业日志路径

StepStatus

参数名 参数类型 参数描述
creationDateTime String 作业提交的时间,符合日期时间格式约束
endDateTime String 作业结束的时间,符合日期时间格式约束
startDateTime String 作业开始执行的时间,符合日期时间格式约束
state String 作业状态

枚举类型定义

实例组类型

编码 描述
Master 主节点
Core 有hdfs部署的计算节点
Task 无hdfs的计算节点,适合扩展

集群状态

编码 描述
Starting 初始化中
Running 运行中
Waiting 空闲中
Terminating 释放中
Terminated 已释放
TerminatedWithErrors 错误释放
Suspending 停服中
Suspended 已停服
Resuming 恢复中

作业类型

编码 描述
Streaming MapReduce Streaming程序
Hive HQL程序
Pig pig作业
Java 用户自定义Java程序
Spark Spark作业

作业失败策略

编码 描述
Continue 继续执行其他作业
TerminateCluster 作业失败后释放集群
CancelAndWait 作业失败后取消其他尚未执行的作业并将集群置为空闲状态

作业状态

编码 描述
Pending 等待中
Running 运行中
Completed 已完成
Cancelled 已取消
Failed 已失败

BMR镜像

镜像类型 镜像版本 支持的组件
hadoop 0.1.0 zeppelin 0.5.0-incubating
hive 0.13.0
pig 0.11.0
hbase 0.98.0
hue 3.7.1
spark 1.4.1
hadoop 0.2.0 zeppelin 0.5.0-incubating
mahout 0.9.0
hive 0.14.0
pig 0.14.0
hbase 0.98.4
hue 3.7.1
spark 1.6.0
hadoop 1.0.0 spark 1.6.0
hive 1.2.0
pig 0.15.1
hue 3.10.0
hbase 1.1.2
hadoop 1.1.0 hadoop 2.7.1
hive 1.2.1
pig 0.15.1
hue 3.10.0
spark 2.1.0
sqoop 1.4.6
kafka 0.9.0
hbase 1.1.2
oozie 4.2.0
zookeeper 3.4.6
hadoop 1.2.0 hadoop 2.7.1
hive 1.2.1
pig 0.15.1
hue 3.10.0
spark 2.1.0
sqoop 1.4.6
kafka 0.9.0
hbase 1.1.2
oozie 4.2.0
zookeeper 3.4.6

实例规格

实例规格请参见实例规格

云磁盘类型

编码 类型 描述
ssd ssd云磁盘 系统盘和数据盘支持选择该类型
premium_ssd 高性能云磁盘 系统盘和数据盘支持该类型
sata 上一代云磁盘 数据盘支持该类型

Region定义

区域 ID 对应子域名
北京 bj bmr.bj.baidubce.com
广州 gz bmr.gz.baidubce.com
苏州 su bmr.su.baidubce.com
上海 fsh bmr.fsh.baidubce.com
度小满 fsg bmr.hb-fsg.baidubce.com
保定 bd bmr.bd.baidubce.com
沙盒 sandbox bmr.bce-api.baidu.com
预上线 preonline bmr.api-preonline.baidu.com

InstanceGroupConfig数据结构

参数名 参数类型 是否必须 参数描述
instanceCount Int 实例组中的虚拟机数量
instanceType String 实例组中的虚拟机类型,参考实例规格
type String Master、Core或Task,参考实例组类型
name String 实例组名称,默认为空
rootDiskSizeInGB int 系统盘磁盘容量大小
rootDiskMediumType String 系统盘磁盘介质类型
cds List 数据盘云磁盘列表,如果实例组资源类型数据盘不是云磁盘

注意:instanceGroups域应包括三个实例组,type分别为Master、Core和Task,Master实例组instanceCount为1,Core实例组instanceCount不小于2且不大于20,Task实例组instanceCount不大于20。

ApplicationConfig数据结构

参数名 参数类型 是否必须 参数描述
name String 组件名称(如hive,pig,hbase, hue),参考BMR镜像
version String 组件版本,参考BMR镜像
properties Object 组件属性,具体内容由不同组件决定

组件属性

hive组件的properties定义如下:

参数名 参数类型 是否必须 参数描述
metastore String hive metastore启用方式。若使用集群内部的metastore服务则应设为default,若用户自行提供mysql服务则应设为mysql。默认为default
host String mysql服务器地址,若metastore选用mysql,则必须提供
port int mysql服务器端口,若metastore选用mysql,则必须提供
database String metastore使用的数据库名称,若metastore选用mysql,则必须提供
userName String 用于连接mysql服务器的用户名,若metastore选用mysql,则必须提供
password String 用于连接mysql服务器的密码,若metastore选用mysql,则必须提供

hbase组件的properties定义如下:

参数名 参数类型 是否必须 参数描述
backupEnabled Boolean 是否启用hbase备份功能。默认为false
backupLocation String 用于hbase备份的BOS路径,若backupEnabled为true,则必须提供
backupIntervalInMinutes Int 备份时间间隔,若backupEnabled为true,则必须提供
backupStartDateTime String 符合日期时间格式约束的字符串,若backupEnabled为true,则必须提供
restoreEnabled Boolean true则从hbase备份中恢复,false则启用一个全新的hbase。默认为false
restoreLocation String 用于恢复hbase的备份文件的BOS路径,若restoreEnabled为true,则必须提供
restoreVersion String 用户恢复hbase的备份文件版本,若restoreEnabled为true,则必须提供

pig组件、hue组件不需要提供properties

StepConfig数据结构

参数名 参数类型 是否必须 参数描述
actionOnFailure String 作业失败策略
properties Object 作业描述,具体内容由作业类型决定
type String 作业类型
name String 作业名称,默认为my-step

作业描述

Streaming作业的properties定义如下:

参数名 参数类型 是否必须 参数描述
input String 输入路径
mapper String mapper程序
output String 输出路径
arguments String hadoop streaming执行参数
reducer String reducer程序

Hive作业的properties定义如下:

参数名 参数类型 是否必须 参数描述
script String hql脚本在BOS上的存储路径
arguments String hql脚本执行参数
input String 预定义的输入路径,可在hql脚本中通过${INPUT}来引用
output String 预定义的输出路径,可在hql脚本中通过${OUTPUT}来引用

Pig作业的properties定义如下:

参数名 参数类型 是否必须 参数描述
script String pig脚本在BOS上的存储路径
arguments String pig脚本执行参数
input String 预定义的输入路径,可在pig脚本中通过${INPUT}来引用
output String 预定义的输出路径,可在pig脚本中通过${OUTPUT}来引用

Java作业的properties定义如下:

参数名 参数类型 是否必须 参数描述
jar String 自定义java程序在BOS上的存储路径
mainClass String 自定义java程序的主入口
arguments String 自定义java程序的执行参数

Spark作业的properties定义如下:

参数名 参数类型 是否必须 参数描述
jar String 自定义程序在BOS上的存储路径
submitOptions String spark-submit脚本的参数
arguments String 自定义程序的执行参数

ModifyInstanceGroupConfig数据结构

参数名 参数类型 是否必须 参数描述
id String 实例组id
instanceCount int 修改后实例组内实例数

InstanceGroup数据结构

参数名 参数类型 参数描述
id String 实例组ID,是一个定长字符串,只包含大小写字母、数字、连字号(-)和下划线(_)
instanceType String 实例组中的虚拟机类型,参考实例规格
name String 实例组名称
type String Master、Core或Task,参考实例组类型
requestedInstanceCount int 实例组中的虚拟机数量
rootDiskSizeInGB int 系统盘容量大小
rootDiskMediumType String 系统盘存储介质类型
cds List 数据盘云磁盘列表

Instance数据结构

参数名 参数类型 参数描述
id String 实例ID
privateIpAddress String 实例内网ip
publicIpAddress String 实例公网ip,除了master节点外,其他节点该字段都为空字符串