table of contents -...
TRANSCRIPT
![Page 1: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/1.jpg)
1.1
1.2
1.3
1.4
TableofContents
通用请求
集群操作请求
作业操作请求
数据类型
1
![Page 2: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/2.jpg)
API参考手册
本指南提供了KMR(KingsoftMapReduce)API的说明及使用案例。
KMR(KingcloudMapReduce)是一个可伸缩的通用数据计算和分析平台,它以
ApacheHadoop和ApacheSpark两大数据计算框架为基础,通过自动调度弹性计算服务
(KEC),帮助您快速构建分布式数据分析系统。
KMR提供了用于集群操作的OpenAPI和SDK,您可以根据需要开发应用程序,实现集群创
建、释放,作业下发,集群和作业状态监控等多种自动化任务。
通用请求部分介绍了API服务的基本信息,公共参数,签名机制和报错信息等内容。
集群操作请求部分介绍了用于KMR集群操作的API和编程示例。
作业操作请求部分介绍了集群计算作业相关的API和编程示例。
数据类型部分介绍了KMRAPI自定义的数据类型。
API参考手册
68
![Page 3: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/3.jpg)
通用请求
1.服务信息
2.公共参数
3.签名机制
4.通用错误信息
1.服务信息
服务地址
金山云KMR服务接入地址:
• 北京地区:kmr.cn-beijing-6.api.ksyun.com • 上海地区:kmr.cn-shanghai-2.api.ksyu.com
通讯协议
支持HTTP或HTTTPS协议进行通信。
请求方法
使用POST方法发送请求。
请求参数
每个请求都需要指定要执行的操作,即X-Action参数(例如ListClusters),以及每个操
作都需要包含的公共请求参数和指定操作所特有的请求参数。
编码方式
请求及返回结果都使用UTF-8字符集进行编码。
返回结果
仅支持json格式的返回结果。
2.公共参数
通用请求
69
![Page 4: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/4.jpg)
名称 描述 是否必须
Host KMR服务的Hostname 是
Authorization 授权参数 是
Content-Type 数据结构类型(application/json) 是
X-Action 请求的目标操作,例如:ListClusters 是
X-Version 请求的目标操作,例如:2016-05-20 是
X-Ksc-Content-Sha256 Sha256哈希值,用于计算签名 否
X-Ksc-Date 请求发出的时间,格式:yyyyMMdd'T'HHmmss'Z' 是
3.签名机制
发送给KMR服务的HTTP请求中,必须包含授权参数和其他公共参数。KMR服务使用用
户的AccessKeyID和SecretAccessKey进行加密方式来验证请求者的身份。AccessKeyID和SecretAccessKey由金山云发给用户,AccessKeyID作为用户的身份标识,SecretAccessKey作为用户和服务器端进行签名计算的密钥。
Http请求header中Authorization字段是服务的授权参数,其格式为:
Authorization="[HashMethod][空格]Credential=[access_key]/[scope],SignedHeaders=[signed_
headers],Signature=[signature]"
其中:
[HashMethod]="KSC4-HMAC-SHA256" [access_key]=用户AccesskeyID [scope]=[timestamp]/[region]/[service][req_type] timestamp为yyyyMMdd格式的时间戳,region为请求服务所在区域名,service为访问的
服务名,req_type为请求的类型。
[signed_headers]:将Headers按照name升序排列
[signed_headers]=[header_name_1];[header_name_2]....
签名算法:
[signature]=sha256(sha256(sha256(sha256(sha256("KSC4"+sign_key,timestamp),region),ser
vice),req_type),string_to_sign)
其中:
通用请求
70
![Page 5: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/5.jpg)
[sign_key]=用户SecretAccessKey [stringToSign]="KSC4-HMAC-SHA256"+"\n" +[X-Ksc-Date]+"\n" +[scope]+“\n” +SHA-256([canonical_request]) [canonical_request]=[HTTPRequestMethod]+"\n" +[CanonicalURI]+"\n" +[CanonicalQueryString]+"\n" +[CanonicalHeaders]+"\n" +[signed_headers]+"\n" +SHA-256([request_body]) [HTTPRequestMethod]=POST或GET [CanonicalURI]=请求URL中除去Endpoint之外的剩余部分。目前URL等于Endpoint,所
以CanonicalURI为空
[CanonicalQueryString]=空 [CanonicalHeaders]:按照[signed_headers]中的排序方式进行排序
[CanonicalHeaders]= LowerCase(HeaderName1)+‘:’+Trim(HeaderValue1)+"\n" +LowerCase(HeaderName2)+‘:’+Trim(HeaderValue2)+"\n" +....... [request_body]=Post请求的body部分
Python版签名代码示例:
通用请求
71
![Page 6: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/6.jpg)
defcanonical_request(self,http_request,sign_headers):
cr=[]
cr.append(http_request.method.upper())
cr.append(self.canonical_uri(http_request))
cr.append(self.canonical_query_string(http_request))
headers_to_sign=self.headers_to_sign(http_request,sign_headers)
cr.append(self.canonical_headers(headers_to_sign)+'\n')
cr.append(self.signed_headers(headers_to_sign))
ifself.header_name_content_sha256inhttp_request.headers:
content_hash=self._ensure_bytes(http_request.headers[self.header_name_co
ntent_sha256])
cr.append(content_hash)
else:
cr.append(self.payload(http_request))
return'\n'.join(cr)
defstring_to_sign(self,http_request,canonical_request,scope):
sts=[self.hash_method]
sts.append(http_request.headers[self.header_name_date])
sts.append(scope)
sts.append(sha256(canonical_request.encode('utf-8')).hexdigest())
return'\n'.join(sts)
def_sign(self,key,msg,hex=False):
key=self._ensure_bytes(key)
ifhex:
sig=hmac.new(key,msg.encode('utf-8'),sha256).hexdigest()
else:
sig=hmac.new(key,msg.encode('utf-8'),sha256).digest()
returnsi
defsignature(self,string_to_sign,scope,secret_key):
parts=scope.split('/')
ts=parts[0]
region=parts[1]
service=parts[2]
req_type=parts[3]
k_date=self._sign((self.hash_keyword+secret_key).encode('utf-8'),ts)
k_region=self._sign(k_date,region)
k_service=self._sign(k_region,service)
k_signing=self._sign(k_service,req_type)
returnself._sign(k_signing,string_to_sign,hex=True)
4.通用错误信息
通用请求
72
![Page 7: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/7.jpg)
错误码 错误名称 错误描述
400 APIExceptionUNKNOWN_EXCEPTION
调用API异常遇到未知的异常
403 FORBIDDEN 请求被禁止
404 NOT_FOUND 未找到请求的API
500 INTERNAL_SERVER_ERROR 服务内部错误
501 NOT_IMPLEMENTED_ERROR API未实现
通用请求
73
![Page 8: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/8.jpg)
集群操作请求
1.ListClusters
2.DescribeCluster
3.LaunchCluster
4.TerminateClusters
5.SetTerminationProtection
6.ListInstanceGroups
7.AddInstanceGroups
8.ModifyInstanceGroups
9.ListInstances
10.ListDistributions
1.ListClusters
功能描述
列出当前账户可见的所有KMR集群状态信息,允许您基于特定的条件对这些信息进行筛
选;例如,基于集群创建日期和时间来筛选。每次调用默认返回100个集群,每次最多返回
100个,同时会返回一个Marker来对多次ListClusters请求调用进行分页跟踪。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterStates.member.N
需要列出的集群状态。
类型:String列表
可选值:STARTING|RUNNING|RESIZING|TRANSFERINGLOG|TERMINATED|TERMINATED_WITH_ERRORS 是否必须:否
CreatedAfter
集群操作请求
74
![Page 9: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/9.jpg)
列出在某个日期和时间之后创建的集群。
类型:DateTime 是否必须:否
CreatedBefore
列出在某个日期和时间之前创建的集群。
类型:DateTime 是否必须:否
Marker
分页标识。
类型:String 是否必须:否
返回参数
返回结果包含以下字段:
Clusters
当前账户满足请求中给出的过滤条件的集群列表
类型:ClusterSummary列表ClusterSummary
Marker
用于获取下一页结果集的分页标识
类型:String
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
集群操作请求
75
![Page 10: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/10.jpg)
POST/HTTP/1.1
Content-Type:application/json
X-Action:ListClusters
X-Version:2016-05-20
{
"ClusterStates":["RUNNING","TERMINATED"]
"CreatedAfter":"2016-01-08T19:00:00"
}
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:xxx
{
"Marker":"offset=15&limit=5",
"Clusters":[
{
"Status":{
"State":"RUNNING"
},
"NormalizedInstanceMins":14,
"Id":"0b875523-9e95-454a-8fff-f9e592303d95",
"Name":"test-cluster-ops-03"
},
{
"Status":{
"State":"RUNNING"
},
"NormalizedInstanceMins":15,
"Id":"26e6d8af-18e2-49b6-b7d1-040dfb170b3b",
"Name":"test-cluster-ops-01"
}
]
}
2.DescribeCluster
功能描述
列出某个当前用户可见的集群详细信息,包括状态,硬件,软件设置等。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterId
集群操作请求
76
![Page 11: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/11.jpg)
需要列出实例组信息的集群标识。
类型:String 是否必须:是
返回参数
返回结果包含以下字段:
Cluster
请求中集群的详细信息
类型:ClusterConfigClusterConfig
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:DescribeCluster
X-Version:2016-05-20
{
"ClusterId":"ffd8270a-48e0-4f68-8a35-0f8562302ad6"
}
返回样例
集群操作请求
77
![Page 12: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/12.jpg)
HTTP/1.1200OK
Content-Type:application/json
Content-Length:xxx
{
"InstanceAttributes":[],
"Name":"lxk-quota-test-0",
"ServiceRole":null,
"TerminationProtected":false,
"HadoopVersion":"hadoop2.6.0",
"LogUri":"ks3://kmrhkbj/lxk-log",
"AutoTerminate":false,
"Status":{
"State":"RUNNING"
},
"MasterPublicDnsName":"120.168.113.60",
"NormalizedInstanceMins":1333,
"Applications":[
"hadoop"
],
"Id":"ffd8270a-48e0-4f68-8a35-0f8562302ad6"
}
3.LaunchCluster
功能描述
创建集群操作,操作成功后会创建一个KMR集群,如果参数中带有作业配置,则集群创
建成功后将自动运行指定的作业。如果AutoTerminate设置为True,则作业运行完毕后集群不
会释放,反之集群会在所有作业完成后自动释放;关于参数中TerminationProtected的设置及
原理介绍请参见SetTerminationProtection部分。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
Distribution
Hadoop发行版本说明。支持“kmr-1.0.0”与“kmr-2.0.0”。
类型:String 默认:“kmr-2.0.0” 是否必须:否
Applications.member.N
集群操作请求
78
![Page 13: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/13.jpg)
安装应用列表。可选值
为“hadoop”,“hive”,“hbase”,“spark”,“storm”,“kafka”等,区分大小写。如果不填则默认
为“hadoop”。 类型:String列表
是否必须:否
InstanceGroups.member.N
集群里虚机的配置和数目信息。
类型:InstanceGroupConfig列表InstanceGroupConfig 是否必须:是
IsTransient
是否为临时集群。
类型:Boolean 默认:False 是否必须:否
ChargeType
集群计费类型:包年包月"Monthly",按需付费"Minutely",免费试用"FreeTrial"。 包年包月"Monthly":包月集群,有到期时间。
按需付费"Minutely":按分钟计费,按月结算。
免费试用"FreeTrial":用户有试用quota时能创建出免费试用集群。
类型:String 默认:"Minutely" 是否必须:否
PurchaseTime
集群购买时长,单位月。“包年包月”必须要选择,有效值1-36;其余计费类无需此项
内容(系统按0处理)。
类型:Integer 是否必须:否
MetaDatabaseUri
元数据管理的数据库信息。
元数据主要指集群监控元数据,Hive的元数据管理等。当用户选择集群外的RDS或者自建MySql来管理元数据时需要填写。
类型:String 格式:mysql://{username}:{password}@{hostname}:{port} 是否必须:否
集群操作请求
79
![Page 14: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/14.jpg)
TerminationProtected
集群是否启用释放保护锁。
类型:Boolean 默认:True 是否必须:否
VpcDomainId
集群所属的虚拟专有网络(VPC)信息。
类型:String 是否必须:是
VpcSubnetId
集群所属的虚拟专有网络(VPC)子网信息。
类型:String 是否必须:是
VpcEndpointId
集群所属的虚拟专有网络(VPC)的Endpoint子网信息,用于创建KMR部署使用的
相关网络资源比如内网LB。 类型:String 是否必须:是
LogUri
日志输出的KS3路径,格式为:“KS3://bucket/object_key”。如果不填则日志不会输
出到KS3。 类型:String 是否必须:否
Name
集群的名称。仅支持大小写字母、数字、减号和下划线。
类型:String 是否必须:是
Steps.member.N
自定义需要运行的作业列表。(常驻集群暂不支持) 类型:StepConfig列表StepConfig 是否必须:否
EnableEIP
集群操作请求
80
![Page 15: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/15.jpg)
是否启用eip信息,如果设置为True,则集群的Master节点会被分配一个外网ip,默
认为False。 类型:String 是否必须:否
Configurations.member.N
所创建集群的配置信息。
类型:Configuration列表Configuration 是否必须:否
BootstrapActions.member.N
集群引导操作列表
类型:BootstrapAction列表BootstrapAction 是否必须:否
返回参数
返回结果包含以下字段:
ClusterId
创建成功的集群ID 类型:String
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
集群操作请求
81
![Page 16: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/16.jpg)
POST/HTTP/1.1
Content-Type:application/json
X-Action:LaunchCluter
X-Version:2016-05-20
{
"Name":"api-test",
"AutoTerminate":False,
"InstanceGroups":[
{
"InstanceType":"kmr.general",
"InstanceCount":1,
"InstanceGroupType":"MASTER"
},
{
"InstanceType":"kmr.general",
"InstanceCount":2,
"InstanceGroupType":"CORE"
}
],
"Steps":[
{
"ActionOnFailure":"CONTINUE",
"Name":"java_test",
"HadoopJarStep":{
"Args":[
"ks3://kmr-bj-test/input",
"ks3://kmr-bj-test/output"
],
"Type":"MapReduce",
"Jar":"ks3://kmr-bj-test/jobtest/job.jar",
"MainClass":"org.apache.hadoop.examples.WordCount"
}
}
]
}
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:xxx
{
"ClusterId":"ffd8270a-48e0-4f68-8a35-0f8562302ad6"
}
4.TerminateClusters
集群操作请求
82
![Page 17: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/17.jpg)
功能描述
释放指定的一个或者多个集群。当集群释放时,尚未完成的作业将被取消,集群所使用
的云主机都将被释放,但如果集群设置了日志归集功能(创建集群时给出了LogUri),则所
有日志都会被完整的上传至KS3。
请求允许释放的最大集群数量为10。集群释放是一个异步操作,请求会立即返回,根据
集群的配置,可能需要5-20分钟才能完全释放掉集群所有的资源,比如云主机实例。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterIds.member.N
需要释放的集群ID列表。
类型:String列表
长度限制:最小0个,最大10个 是否必须:是
返回参数
返回结果不包含任何字段
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:TerminateClusters
X-Version:2016-05-20
{
"ClusterIds":["26e6d8af-18e2-49b6-b7d1-040dfb170b3b"]
}
集群操作请求
83
![Page 18: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/18.jpg)
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:2
{}
5.SetTerminationProtection
功能描述
设置集群释放保护锁。保护集群和云主机不会因为用户干预(控制台、API调用等)而被
释放。
如果集群设置了自动释放功能,而且所有作业运行完毕,则集群将不受释放保护功能的
影响,可以自动释放。
如果想释放开启了释放保护锁的集群,则必须要先调通此API,将释放保护设置为false,然后释放集群。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterIds.member.N
需要释放的集群ID列表。
类型:String列表
长度限制:最小0个,最大10个 是否必须:是
TerminationProtected
指示是否开启释放保护功能的布尔值。
类型:Boolean 是否必须:是
返回参数
返回结果不包含任何字段
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
集群操作请求
84
![Page 19: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/19.jpg)
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:SetTerminationProtection
X-Version:2016-05-20
{
"ClusterIds":["26e6d8af-18e2-49b6-b7d1-040dfb170b3b"],
"TerminationProtected":true
}
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:2
{}
6.ListInstanceGroups
功能描述
提供了集群中每个实例组的详细信息。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterId
需要列出实例组信息的集群标识。
类型:String 是否必须:是
Marker
集群操作请求
85
![Page 20: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/20.jpg)
分页标识。
类型:String 是否必须:否
返回参数
返回结果包含以下字段:
InstanceGroups
基于给定过滤条件返回指定集群的实例组列表
类型:InstanceGroup列表InstanceGroup
Marker
用于获取下一页结果集的分页标识
类型:String
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:ListInstanceGroups
X-Version:2016-05-20
{
"ClusterId":"e1b637b5-210d-45b3-bc16-0338b3c8cf8e"
}
返回样例
集群操作请求
86
![Page 21: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/21.jpg)
HTTP/1.1200OK
Content-Type:application/json
Content-Length:462
Date:Thu,07Jan201602:57:57GMT
{
"Marker":null,
"InstanceGroups":[
{
"Status":{
"State":"RUNNING"
},
"InstanceCount":2,
"Name":"gn-e51f56af-CORE",
"InstanceGroupType":"CORE",
"InstanceType":"kmr.compute",
"Id":"e1b637b5-210d-45b3-bc16-0338b3c8cf8e-gn-e51f56af-CORE"
},
{
"Status":{
"State":"RUNNING"
},
"InstanceCount":1,
"Name":"gn-e51f56af-MASTER",
"InstanceGroupType":"MASTER",
"InstanceType":"kmr.compute",
"Id":"e1b637b5-210d-45b3-bc16-0338b3c8cf8e-gn-e51f56af-MASTER"
}
]
}
7.AddInstanceGroups
功能描述
AddInstanceGroups用于添加实例组,目前仅支持添加一个任务实例组。一个集群中最多
只能有一个任务实例组。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterId
需要添加实例组信息的集群标识。
类型:String 是否必须:是
InstanceGroups
集群操作请求
87
![Page 22: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/22.jpg)
需要添加的InstanceGroup配置列表
类型:InstanceGroupConfig列表InstanceGroupConfig 是否必须:是
返回参数
返回结果包含以下字段:
InstanceGroupIds
添加成功的实例组ID列表。
类型:String列表
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:AddInstanceGroups
X-Version:2016-05-20
{
"ClusterId":"e1b637b5-210d-45b3-bc16-0338b3c8cf8e",
"InstanceGroups":[
{
"InstanceGroupType":"TASK",
"InstanceCount":1,
"InstanceType":"kmr.compute"
}
]
}
返回样例
集群操作请求
88
![Page 23: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/23.jpg)
HTTP/1.1200OK
Content-Type:application/json
Content-Length:2
{"InstanceGroupIds":[
"bb26aa5a-4032-4b0d-9037-82c6b715c241"
]
}
8.ModifyInstanceGroups
功能描述
ModifyInstanceGroups用于修改集群实例组的实例个数或实例组配置信息,如果修改了
实例组个数,集群就会进行相应的扩容或缩容。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterId
需要列出实例组信息的集群标识。
类型:String 是否必须:是
InstanceGroups
InstanceGroup类型列表。
类型:InstanceGroupConfig列表InstanceGroupConfig 是否必须:是
返回参数
返回结果不包含任何字段
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
集群操作请求
89
![Page 24: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/24.jpg)
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:ModifyInstanceGroups
X-Version:2016-05-20
{
"ClusterId":"e1b637b5-210d-45b3-bc16-0338b3c8cf8e",
"InstanceGroups":[
{
"InstanceGroupId":"e1b637b5-210d-45b3-bc16-0338b3c8cf8e-gn-e51f56af-CORE"
,
"InstanceCount":3,
"InstanceIdsToTerminate":[]
}
]
}
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:2
{}
9.ListInstances
功能描述
提供了KMR集群中的实例信息,这些实例是您在创建集群时由KMR服务帮您申请的虚拟
机实例。您可以根据实例组标识、实例组角色选择您想查看的实例,每次调用可以返回最多
50个实例,但可以返回一个marker来跟踪跨多个ListInstances簇列表分页调用。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterId
集群操作请求
90
![Page 25: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/25.jpg)
需要列出实例组信息的集群标识。
类型:String 是否必须:是
InstanceGroupId
需要列出实例的实例组ID,如果不提供默认值,列出所有实例组的实例
类型:String 是否必须:否
InstanceGroupTypes
需要列出的实例的实例组角色,合法的实例组角色有:MASTER、CORE、TASK,如果不提供默认提供所有角色的实例组中的实例
类型:String列表
是否必须:否
Marker
分页标识。
类型:String 是否必须:否
返回参数
返回结果包含以下字段:
Instances
Instance结果
类型:Instance列表Instance
Marker
用于获取下一页结果集的分页标识
类型:String
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
集群操作请求
91
![Page 26: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/26.jpg)
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
GET/HTTP/1.1
POST/HTTP/1.1
Content-Type:application/json
X-Action:ListInstances
X-Version:2016-05-20
{
"ClusterId":"e1b637b5-210d-45b3-bc16-0338b3c8cf8e",
"InstanceGroupId":"",
"InstanceGroupTypes":["MASTER"]
}
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:186
Date:Thu,07Jan201602:57:57GMT
{
"Marker":null,
"Instances":[
{
"Status":{
"State":"RUNNING"
},
"Id":"079d2b1f-cb1f-4365-acbb-c1b3f7424831",
"PrivateIpAddress":"10.168.113.134",
"PublicIpAddress":"10.168.113.134"
}
]
}
10.ListDistributions
功能描述
提供了KMR集群可用的发行版信息,以及发行版里面支持的应用信息。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
集群操作请求
92
![Page 27: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/27.jpg)
返回参数
返回结果包含以下字段:
Distributions
发行版列表
类型:Distribution列表Distribution
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
GET/HTTP/1.1
POST/HTTP/1.1
Content-Type:application/json
X-Action:ListDistributions
X-Version:2016-05-20
{
}
返回样例
集群操作请求
93
![Page 28: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/28.jpg)
HTTP/1.1200OK
Content-Type:application/json
Content-Length:328
Date:Thu,07Jan201602:57:57GMT
{
"Distributions":
[
{
"Release":"1.0.0",
"Applications":
[
{
"Release":"2.6.0",
"Required":true,
"Name":"hadoop"
},
{
"Release":"0.14.0",
"Required":true,
"Name":"hive"
},
{
"Release":"0.10.0",
"Required":true,
"Name":"pig"
},
{
"Release":"1.5.2",
"Required":false,
"Name":"spark"
}
],
"Vendor":"KSYUN",
"Name":"kmr-1.0.0"
}
]
}
集群操作请求
94
![Page 29: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/29.jpg)
作业操作请求
1.ListSteps
2.DescribeStep
3.AddSteps
1.ListSteps
功能描述
列出指定集群的作业状态信息,允许您基于特定的条件对这些信息进行筛选;例如,基
于作业状态筛选。每次调用默认返回100个作业,每次最多返回100个,同时会返回一个
Marker来对多次ListSteps请求调用进行分页跟踪。
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterId
需要查询的集群ID。 类型:String 是否必须:是
StepIds
需要列出的作业ID,用于过滤条件。
类型:Sting列表
是否必须:否
StepStates.member.N
需要列出的集群状态。
类型:String列表
可选值:PENDING|RUNNING|COMPLETED|CANCELLED|FAILED|INTERRUPTED|TRANSFERINGLOG 是否必须:否
Marker
作业操作请求
95
![Page 30: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/30.jpg)
分页标识。
类型:String 是否必须:否
返回参数
返回结果包含以下字段:
Steps
满足请求中给出的过滤条件的作业列表。
类型:Step列表Step
Marker
用于获取下一页结果集的分页标识。
类型:String
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:ListSteps
X-Version:2016-05-20
{
"StepStates":["RUNNING","PENDING"]
}
返回样例
作业操作请求
96
![Page 31: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/31.jpg)
HTTP/1.1200OK
Content-Type:application/json
Content-Length:xxx
{
"Marker":null,
"Steps":[
{
"Status":{
"State":"RUNNING"
},
"HadoopJarStep":{
"Args":[
"-input",
"ks3://yourbucket/input",
"-output",
"ks3://yourbucket/output",
"-mapper",
"ks3://yourbucket/mapper.py",
"-reducer"
"ks3://yourbucket/reducer.py",
"-numMapTasks",
"1",
"-numReduceTasks",
"1",
"-args",
""
],
"Type":"MapReduce.Streaming",
"Jar":"ks3://kmr/libs/hadoop-streaming.jar",
"Properties":{}
},
"DurationMins":2,
"Name":"streaming-type-job"
"ActionOnFailure":"CONTINUE",
"StepType":"MapReduce",
"Id":"56964e88c-cb6e-4592-be97-53a5e2a2bfde",
"CreatedAt":"2016-01-08T12:10:07"
}
]
}
2.DescribeStep
功能描述
查询指定集群中一个指定作业的详细信息
请求参数
作业操作请求
97
![Page 32: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/32.jpg)
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
ClusterId
需要查询的集群ID。 类型:String 是否必须:是
StepId
需要列出的作业ID 类型:Sting 是否必须:是
返回参数
返回结果包含以下字段:
Step
需要查询作业的详细信息。
类型:StepStep
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
POST/HTTP/1.1
Content-Type:application/json
X-Action:DescribeStep
X-Version:2016-05-20
{
"ClusterId":"366bb23b-ef63-494d-acb8-3d26d6375da9",
"StepId":"56964e88c-cb6e-4592-be97-53a5e2a2bfde"
}
作业操作请求
98
![Page 33: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/33.jpg)
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:2
{
"Step":{
"Status":{
"State":"RUNNING"
},
"HadoopJarStep":{
"Args":[
"-input",
"ks3://yourbucket/input",
"-output",
"ks3://yourbucket/output",
"-mapper",
"ks3://yourbucket/mapper.py",
"-reducer"
"ks3://yourbucket/reducer.py",
"-numMapTasks",
"1",
"-numReduceTasks",
"1",
"-args",
""
],
"Type":"MapReduce.Streaming",
"Jar":"ks3://kmr/libs/hadoop-streaming.jar",
"Properties":{}
},
"Name":"streaming-type-job"
"ActionOnFailure":"CONTINUE",
"Id":"56964e88c-cb6e-4592-be97-53a5e2a2bfde"
}
}
3.AddSteps
功能描述
向指定集群批量添加作业。您需要指定集群ID以及相应的作业参数。支持MapReduce、MapReduce.Streming、Pig、Hive、Spark共5种类型作业。(常驻集群暂不支持)
请求参数
关于所有操作使用的通用参数信息,请参考通用请求"公共参数"部分
作业操作请求
99
![Page 34: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/34.jpg)
ClusterId
需要添加作业的目标集群ID。 类型:String 是否必须:是
Steps.member.N
需要添加的自定义作业列表。
类型:StepConfig列表StepConfig 是否必须:是
返回参数
返回结果包含以下字段:
StepIds
添加成功的作业ID列表。
类型:String列表
错误信息
关于所有操作使用的通用错误信息,参考通用请求"通用错误信息"部分
InternalServerError
当KMR服务出现内部错误时出现该错误信息类型
HTTP状态码:500
BadRequest
当用户输入信息有误时出现该错误信息
HTTP状态码:400
样例
请求样例
作业操作请求
100
![Page 35: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/35.jpg)
POST/HTTP/1.1
Content-Type:application/json
X-Action:AddSteps
X-Version:2016-05-20
{
"JobFlowId":"366bb23b-ef63-494d-acb8-3d26d6375da9",
"Steps":[
{
"HadoopJarStep":{
"Args":[
"-input",
"ks3://yourbucket/input",
"-output",
"ks3://yourbucket/output",
"-mapper",
"ks3://yourbucket/mapper.py",
"-reducer"
"ks3://yourbucket/reducer.py",
"-numMapTasks",
"1",
"-numReduceTasks",
"1",
"-args",
""],
"Jar":"ks3://kmr/libs/hadoop-streaming.jar",
"Properties":{}
},
"Type":"MapReduce.Streaming",
"ActionOnFailure":"CONTINUE",
"Name":"streaming-type-job"
}
]
}
返回样例
HTTP/1.1200OK
Content-Type:application/json
Content-Length:xxx
{
"StepIds":[
"56964e88c-cb6e-4592-be97-53a5e2a2bfde"
]
}
作业操作请求
101
![Page 36: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/36.jpg)
数据类型
KMRAPI使用了多种自定义数据类型,本章节将对这些数据类型做详细介绍
1.ClusterConfig
2.ClusterStatus
3.StepConfig
4.Step
5.HadoopJarStepConfig
6.StepStatus
7.ClusterSummary
8.InstanceGroup
9.InstanceGroupStatus
10.Instance
11.InstanceStatus
12.InstanceGroupConfig
13.Configuration
14.BootstrapAction
15.ScriptBootstrapAction
16.Distribution
17.Application
1.ClusterConfig
Applications
集群安装的应用列表。
类型:String列表
可选值:可选值为“hadoop”,“hive”,“pig”与“spark”,区分大小写。任何集群都会默
数据类型
102
![Page 37: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/37.jpg)
认会带上“hadoop” 是否必须:否
IsTransient
是否为临时集群。
类型:Boolean 是否必须:否
ChargeType
集群计费类型:包年包月"Monthly",按需付费"Minutely",免费试用"FreeTrial"。 包年包月"Monthly":包月集群,有到期时间。
按需付费"Minutely":按分钟计费,按月结算。
免费试用"FreeTrial":用户有试用quota时能创建出免费试用集群。
类型:String 是否必须:否
Distribution
集群选用的Hadoop发行版本信息,支持“kmr-1.0.0”与“kmr-2.0.0”。 类型:String 是否必须:否
PurchaseTime
集群购买时长,单位为月,仅限“包年包月”计费类型。
类型:Integer 是否必须:否
MetaDatabaseUri
元数据管理的数据库信息。
元数据主要指集群监控元数据,Hive的元数据管理等。
类型:String 是否必须:否
Id
集群ID。 类型:String 是否必须:否
InstanceAttributes
数据类型
103
![Page 38: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/38.jpg)
集群主机的参数,现阶段为空。
类型:String列表
是否必须:否
LogUri
日志归集的KS3路径。
类型:String 是否必须:否
MasterPublicIP
如果集群创建EnableEIP,则为公网IP地址,否则为空。
类型:String 是否必须:否
Name
集群名称。
类型:String 是否必须:否
ServingMinutes
集群运行时间,从实例创建成功到集群释放,以分钟为单位。如果集群已经结束,
则计时段为创建时间至释放时间;如果集群尚未结束,则为创建时间至现在的分钟数。本时
间只是对集群运行时间的预估,并不反应实际记费时间。
类型:Integer 是否必须:否
Status
集群状态信息。
类型:ClusterStatusClusterStatus 是否必须:否
TerminationProtected
集群是否启用释放保护锁。
类型:Boolean 是否必须:否
VpcDomainId
集群所属的虚拟专有网络(VPC)信息。
类型:String 是否必须:否
数据类型
104
![Page 39: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/39.jpg)
VpcSubnetId
集群所属的虚拟专有网络(VPC)子网信息。
类型:String 是否必须:否
VpcEndpointId
集群所属的虚拟专有网络(VPC)的Endpoint子网信息,用于创建KMR部署使用的
相关网络资源比如内网LB。 类型:String 是否必须:否
Configurations
集群配置信息
类型:Configuration列表Configuration 是否必须:否
BootstrapActions
集群引导操作列表
类型:BootstrapAction列表BootstrapAction 是否必须:否
2.ClusterStatus
State
集群状态。
类型:String 可选值:STARTING|RUNNING|TERMINATING|TERMINATED|TERMINATED_WITH_ERRORS 是否必须:否
3.StepConfig
ActionOnFailure
作业失败策略。
类型:String 可选值:TERMINATE_JOB_FLOW|TERMINATE_CLUSTER|
数据类型
105
![Page 40: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/40.jpg)
CANCEL_AND_WAIT|CONTINUE 是否必须:否
HadoopJarStep
配置作业使用的jarfile。 类型:HadoopJarStepConfigHadoopJarStepConfig 是否必须:是
Name
作业名称。
类型:String 长度限制:0-256 是否必须:是
Type
作业类型。
类型:String 可选值:MapReduce|MapReduce.Streming|Pig|Hive|Spark 是否必须:是
4.Step
ActionOnFailure
作业失败策略。
类型:String 可选值:TERMINATE_JOB_FLOW|TERMINATE_CLUSTER|CANCEL_AND_WAIT|CONTINUE 是否必须:否
HadoopJarStep
配置作业使用的jarfile。 类型:HadoopJarStepConfigHadoopJarStepConfig 是否必须:否
Name
作业名称。
类型:String 长度限制:0-256
数据类型
106
![Page 41: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/41.jpg)
是否必须:否
Type
作业类型。
类型:String 可选值:MapReduce、MapReduce.Streming、Pig、Hive、Spark 是否必须:是
Id
作业ID。 类型:String 是否必须:否
Status
作业状态。
类型:StepStatusStepStatus 是否必须:否
5.HadoopJarStepConfig
Args
指定命令行列表传递给jarfile的main函数。
类型:String列表
是否必须:否
Jar
指定作业的jarfile路径。
类型:String 是否必须:是
MainClass
指定javefile中mainclass名称。如果没有指定,jarfile需要在manifest文件中指定。
类型:String 是否必须:否
Properties
数据类型
107
![Page 42: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/42.jpg)
为作业运行指定key-value列表,你可以在你的主函数中使用这些key-value。 类型:KeyValue列表
是否必须:否
6.StepStatus
State
作业运行状态。
类型:String 可选值:PENDING|RUNNING|COMPLETED|CANCELLED|FAILED|INTERRUPTED|TRANSFERINGLOG 是否必须:否
7.ClusterSummary
Id
集群的唯一标识符,通常为UUID格式
类型:String 是否必须:否
Name
集群名称
类型:String 是否必须:否
ServingMinutes
集群运行时间,从实例创建成功到集群释放,以分钟为单位。如果集群已经结束,
则计时段为创建时间至释放时间;如果集群尚未结束,则为创建时间至现在的分钟数。本时
间只是对集群运行时间的预估,并不反应实际记费时间。
类型:Integer 是否必须:否
Status
集群当前的状态信息
类型:ClusterStatusClusterStatus 是否必须:否
数据类型
108
![Page 43: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/43.jpg)
8.InstanceGroup
Id
实例组Id 类型:String 是否必须:否
Name
实例组名
类型:String 是否必须:否
InstanceGroupType
实例组类型,相同的机器类型与相同的服务角色列表组成的一组机器。在"KMR2.0.0"中无TASK类型实例组。
类型:String 是否必须:否
合法值:MASTER|CORE|TASK
InstanceType
实例组中实例的配置类别(flavor信息)
类型:String 合法值:kmr.general|kmr.memory|kmr.storage|kmr.compute|kmr.general.2x|kmr.memory.2x|kmr.storage.2x|kmr.compute.2x 是否必须:否
InstanceCount
实例组中实例个数
类型:Integer 是否必须:否
Status
实例组状态
类型:InstanceGroupStatusInstanceGroupStatus 是否必须:否
Configurations
数据类型
109
![Page 44: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/44.jpg)
实例组配置信息,可以针对每个实例组单独设置配置项
类型:Configuration列表Configuration 是否必须:否
ServiceRoles.Member.N
实例组角色列表,如"NameNode","ResourceManager","HiveServer"等 类型:String列表
是否必须:否
DeploymentHints
实例组部署需求,如"AntiAffinity:Host","AntiAffinity:Rack"等 类型:String 是否必须:否
9.InstanceGroupStatus
State
实例组状态
类型:String 是否必须:否
合法值:PROVISIONING|RUNNING|RESIZING|TERMINATING|TERMINATED|ARRESTING
10.Instance
Id
实例标识
类型:String 是否必须:是
PrivateIpAddress
实例的私有ip地址
类型:String 是否必须:是
PublicIpAddress
数据类型
110
![Page 45: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/45.jpg)
实例的公网ip地址
类型:String 是否必须:否
Status
实例状态
类型:InstanceStatusInstanceStatus 是否必须:否
11.InstanceStatus
State
实例状态信息
类型:String 是否必须:否
合法值:PROVISIONING|RUNNING|RESIZING|TERMINATED
12.InstanceGroupConfig
InstanceGroupType
实例组类型,相同的机器类型与相同的服务角色列表组成的一组机器。在"KMR2.0.0"中无TASK类型实例组。
类型:String 是否必须:是
合法值:MASTER、CORE、TASK
InstanceType
实例组中实例的配置类别(flavor信息)
类型:String 合法值:kmr.general|kmr.memory|kmr.storage|kmr.compute|kmr.general.2x|kmr.memory.2x|kmr.storage.2x|kmr.compute.2x 是否必须:是
InstanceCount
数据类型
111
![Page 46: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/46.jpg)
实例组中实例个数
类型:Integer 是否必须:是
Configurations
实例组配置信息,可以针对每个实例组单独设置配置项
类型:Configuration列表Configuration 是否必须:否
ServiceRoles.Member.N
实例组角色列表,如"NameNode","ResourceManager","HiveServer"等 类型:String列表
是否必须:否
DeploymentHints
实例组部署需求,如"AntiAffinity:Host","AntiAffinity:Rack"等 类型:String 是否必须:否
13.Configuration
所创建集群的配置信息。
Classification
配置信息类别
类型:String 是否必须:否
可选值:
数据类型
112
![Page 47: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/47.jpg)
Classification FileName
core-site core-site.xml
hdfs-site hdfs-site.xml
mapred-site mapred-site.xml
yarn-site yarn-site.xml
capacity-scheduler capacity-scheduler.xml
hadoop-env hadoop-env.sh
httpfs-env.sh httpfs-env.sh
mapred-env mapred-env.sh
yarn-env yarn-env.sh
hadoop-log4j log4j.properties
hive-env hive-env.sh
hive-site hive-site.xml
hive-exec-log4j hive-exec-log4j.properties
hive-log4j hive-log4j.properties
spark-env spark-env.sh
spark-defaults spark-defaults.conf
spark-log4j log4j.properties
httpfs-site httpfs-site.xml
Properties
配置信息属性和值的集合
Type:map<string,string>
是否必须:否
Configurations
Configuration列表
类型:Configuration列表Configuration 是否必须:否
Configuration类型数据示例:
数据类型
113
![Page 48: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/48.jpg)
{
"Configurations":[
{
"Classification":"yarn-env",
"Configurations":[
{
"Classification":"export",
"Properties":{
"YARN_NODEMANAGER_OPTS":"-Xmx2049m"
}
}
]
},
{
"Classification":"mapred-site",
"Properties":{
"mapred.tasktracker.map.tasks.maximum":"5"
}
}
]
}
14.BootstrapAction
Name
引导操作名字
类型:string 是否必须:是
NodeGroups
引导操作运行的实例组类型
类型:string列表
合法值:MASTER|CORE|TASK 是否必须:否,如果不填默认在所有节点上都运行
ScriptBootstrapAction
引导操作脚本配置
类型:ScriptBootstrapActionScriptBootstrapAction 是否必须:是
15.ScriptBootstrapAction
数据类型
114
![Page 49: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/49.jpg)
Path
引导操作脚本位置
类型:string 是否必须:是
Args
引导操作参数
类型:string列表
是否必须:否
16.Distribution
Name
发行版名称
类型:string 是否必须:否
Release
发行版的版本号信息
类型:string 是否必须:否
Vendor
发行商名称
类型:string 是否必须:否
Applications
发行版支持的应用信息
类型:Application列表Application 是否必须:否
16.Application
Name
数据类型
115
![Page 50: Table of Contents - kmr-bj.ks3-cn-beijing.ksyun.comkmr-bj.ks3-cn-beijing.ksyun.com/doc_pic/KMR2.0/KMR2.0API手册.pdf · 1.1 1.2 1.3 1.4 Table of Contents 通用请求 集群操作请求](https://reader036.vdocuments.net/reader036/viewer/2022062607/603854935038f458b87621a2/html5/thumbnails/50.jpg)
应用名称
类型:string 是否必须:否
Release
应用版本
类型:string 是否必须:否
Required
应用是否必选
类型:boolean 是否必须:否
数据类型
116