1. 接口描述
接口请求域名: emr.tencentcloudapi.com 。
扩容集群节点
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:ScaleOutCluster。 |
Version | 是 | String | 公共参数,本接口取值:2019-01-03。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
InstanceChargeType | 是 | String | 节点计费模式。取值范围: 示例值:"SPOTPAID" |
InstanceId | 是 | String | 集群实例ID。 示例值:"emr-ge0vrqkl" |
ScaleOutNodeConfig | 是 | ScaleOutNodeConfig | 扩容节点类型以及数量 |
ClientToken | 否 | String | 唯一随机标识,时效5分钟,需要调用者指定 防止客户端重新创建资源,例如 a9a90aa6----fae36063280 示例值:a9a90aa6----fae36063280 |
InstanceChargePrepaid | 否 | InstanceChargePrepaid | 即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 |
ScriptBootstrapActionConfig.N | 否 | Array of ScriptBootstrapActionConfig | 引导操作脚本设置。 |
SoftDeployInfo.N | 否 | Array of Integer | 扩容部署服务,新增节点将默认继承当前节点类型中所部署服务,部署服务含默认可选服务,该参数仅支持可选服务填写,如:存量task节点已部署HDFS、YARN、impala;使用api扩容task节不部署impala时,部署服务仅填写HDFS、YARN。组件名对应的映射关系表。 |
ServiceNodeInfo.N | 否 | Array of Integer | 部署进程,默认部署扩容服务的全部进程,支持修改部署进程,如:当前task节点部署服务为:HDFS、YARN、impala,默认部署服务为:DataNode,NodeManager,ImpalaServer,若用户需修改部署进程信息,部署进程: DataNode,NodeManager,ImpalaServerCoordinator或DataNode,NodeManager,ImpalaServerExecutor。进程名对应的映射关系表。 |
DisasterRecoverGroupIds.N | 否 | Array of String | 分散置放群组ID列表,当前只支持指定一个。 该参数可以通过调用 DescribeDisasterRecoverGroups的返回值中的DisasterRecoverGroupId字段来获取。 |
Tags.N | 否 | Array of Tag | 扩容节点绑定标签列表。 |
HardwareSourceType | 否 | String | 扩容所选资源类型,可选范围为"host","pod",host为普通的CVM资源,Pod为TKE集群或EKS集群提供的资源 |
PodSpecInfo | 否 | PodSpecInfo | Pod相关资源信息 |
ClickHouseClusterName | 否 | String | 使用clickhouse集群扩容时,选择的机器分组名称 |
ClickHouseClusterType | 否 | String | 使用clickhouse集群扩容时,选择的机器分组类型。new为新增,old为选择旧分组 |
YarnNodeLabel | 否 | String | 扩容指定 Yarn Node Label |
EnableStartServiceFlag | 否 | Boolean | 扩容后是否启动服务,默认取值否 |
ResourceSpec | 否 | NodeResourceSpec | 规格设置 |
Zone | 否 | String | 实例所属的可用区,例如ap-guangzhou-1。该参数也可以通过调用DescribeZones 的返回值中的Zone字段来获取。 |
SubnetId | 否 | String | 子网,默认是集群创建时的子网 示例值:sub-xxx |
ScaleOutServiceConfGroupsInfo.N | 否 | Array of ScaleOutServiceConfGroupsInfo | 扩容指定配置组 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
InstanceId | String | 实例ID。 示例值:emr-5n3l5c83 |
ClientToken | String | 客户端Token。 注意:此字段可能返回 null,表示取不到有效值。 |
FlowId | Integer | 扩容流程ID。 注意:此字段可能返回 null,表示取不到有效值。 |
TraceId | String | 查询流程状态,流程额外信息 注意:此字段可能返回 null,表示取不到有效值。 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 集群扩容
输入示例
POST / HTTP/1.1
Host: emr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ScaleOutCluster
<公共请求参数>
{
"ClientToken": "",
"InstanceChargeType": "SPOTPAID",
"InstanceChargePrepaid": {
"Period": 0,
"RenewFlag": true
},
"ScriptBootstrapActionConfig": [
{
"CosFileURI": "https://devops-private-1251949819.cos.na-ashburn.myqcloud.com/emr/shell/emr_init.sh",
"Args": [
"abc"
],
"CosFileName": "emr_init",
"ExecutionMoment": "resourceAfter"
}
],
"InstanceId": "emr-ge0vrqkl",
"SoftDeployInfo": [
1,
2
],
"ServiceNodeInfo": [
7
],
"DisasterRecoverGroupIds": [
"abc"
],
"Tags": [
{
"TagKey": "Team",
"TagValue": "data"
}
],
"HardwareSourceType": "host",
"PodSpecInfo": {
"PodSpec": {
"ResourceProviderIdentifier": "cls-a1cd23fa",
"ResourceProviderType": "tke",
"NodeFlag": "TASK",
"Cpu": 1,
"Memory": 1,
"CpuType": "intel",
"PodVolumes": [
{
"VolumeType": "abc",
"PVCVolume": {
"DiskSize": 1,
"DiskType": "abc",
"DiskNum": 0
},
"HostVolume": {
"VolumePath": "abc"
}
}
],
"EnableDynamicSpecFlag": true,
"DynamicPodSpec": {
"RequestCpu": 0,
"LimitCpu": 0,
"RequestMemory": 0,
"LimitMemory": 0
},
"VpcId": "vpc-d1c351hq",
"SubnetId": "subnet-lnejfj4p",
"PodName": "podeee"
},
"PodParameter": {
"InstanceId": "abc",
"Config": "abc",
"Parameter": "abc"
}
},
"ClickHouseClusterName": "abc",
"ClickHouseClusterType": "new",
"YarnNodeLabel": "abc",
"EnableStartServiceFlag": true,
"ResourceSpec": {
"Tags": [
{
"TagKey": "abc",
"TagValue": "abc"
}
],
"InstanceType": "SA2.4XLARGE64",
"SystemDisk": [
{
"Count": 1,
"DiskType": "CLOUD_PREMIUM",
"DiskSize": 70
}
],
"DataDisk": [
{
"Count": 1,
"DiskType": "CLOUD_HSSD",
"DiskSize": 70
}
],
"LocalDataDisk": [
{
"Count": 1,
"DiskType": "CLOUD_HSSD",
"DiskSize": 100
}
]
},
"Zone": "ap-shanghai-5",
"SubnetId": "subnet-lnejfj4p",
"ScaleOutNodeConfig": {
"NodeFlag": "CORE",
"NodeCount": 1
}
}
输出示例
{
"Response": {
"InstanceId": "emr-ge0vrqkl",
"ClientToken": "",
"FlowId": 0,
"RequestId": "1e5c1189-bd1d-4cd7-ab49-72ed158c482c"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation | 操作失败。 |
FailedOperation.GetCvmConfigQuotaFailed | 获取cvm 规格信息失败。 |
InvalidParameter.InvalidInstanceChargeType | 不合法的实例计费模式。 |
InvalidParameter.InvalidInstanceType | 无效的机型。 |
InvalidParameter.InvalidNodeFlag | 不合法的节点类型。 |
InvalidParameter.InvalidSoftDeployInfo | 参数InvalidSoftDeployInfo无效或错误。 |
ResourceInUse.InstanceInProcess | 实例在流程中。 |
ResourceInsufficient.DiskInsufficient | 硬盘规格不满足。 |
ResourceInsufficient.InstanceInsufficient | 不支持或售罄的节点规格。 |
ResourceNotFound.InstanceNotFound | 无法找到该实例。 |
ResourceUnavailable.ResourceSpecNotDefaultSpec | 当前资源规格不存在默认规格。 |