获取资源调度中的队列信息

最近更新时间:2024-11-11 01:33:42

我的收藏

1. 接口描述

接口请求域名: emr.tencentcloudapi.com 。

获取资源调度中的队列信息

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:DescribeYarnQueue。
Version String 公共参数,本接口取值:2019-01-03。
Region String 公共参数,详见产品支持的 地域列表
InstanceId String 集群Id
示例值:emr-xxx
Scheduler String 调度器,可选值:

1. capacity
2. fair
示例值:capacity

3. 输出参数

参数名称 类型 描述
Queue String 队列信息。是一个对象转成的json字符串,对应的golang结构体如下所示,例如QueueWithConfigSetForFairScheduler的第一个字段Name

Name string `json:"name"` //队列名称

- Name:字段名- string:字段类型- json:"name":表示在序列化和反序列化json时,对应的json key,下面以json key来指代- //:后面的注释内容对应页面上看到的名称字段类型以*开头的表示取值可能为json规范下的null,不同的语言需要使用能表达null的类型来接收,例如java的包装类型;字段类型以[]开头的表示是数组类型;json key在调用ModifyYarnQueueV2接口也会使用。- 公平调度器

type QueueWithConfigSetForFairScheduler struct { Name string `json:"name"` //队列名称 MyId string `json:"myId"` // 队列id,用于编辑、删除、克隆时使用 ParentId string `json:"parentId"` // 父队列Id Type *string `json:"type"` // 队列归属。parent或空,当确定某个队列是父队列,且没有子队列时,才可以设置,通常用来支持放置策略nestedUserQueue AclSubmitApps *AclForYarnQueue `json:"aclSubmitApps"` // 提交访问控制 AclAdministerApps *AclForYarnQueue `json:"aclAdministerApps"` // 管理访问控制 MinSharePreemptionTimeout *int `json:"minSharePreemptionTimeout"` // 最小共享优先权超时时间 FairSharePreemptionTimeout *int `json:"fairSharePreemptionTimeout"` // 公平份额抢占超时时间 FairSharePreemptionThreshold *float32 `json:"fairSharePreemptionThreshold"` // 公平份额抢占阈值。取值 (0,1] AllowPreemptionFrom *bool `json:"allowPreemptionFrom"` // 抢占模式 SchedulingPolicy *string `json:"schedulingPolicy"` // 调度策略,取值有drf、fair、fifo IsDefault *bool `json:"isDefault"` // 是否是root.default队列 IsRoot *bool `json:"isRoot"` // 是否是root队列 ConfigSets []ConfigSetForFairScheduler `json:"configSets"` // 配置集设置 Children []QueueWithConfigSetForFairScheduler `json:"queues"` // 子队列信息。递归}type AclForYarnQueue struct { User *string `json:"user"` //用户名 Group *string `json:"group"`//组名}type ConfigSetForFairScheduler struct { Name string `json:"name"` // 配置集名称 MinResources *YarnResource `json:"minResources"` // 最小资源量 MaxResources *YarnResource `json:"maxResources"` // 最大资源量 MaxChildResources *YarnResource `json:"maxChildResources"` // 能够分配给为未声明子队列的最大资源量 MaxRunningApps *int `json:"maxRunningApps"` // 最高可同时处于运行的App数量 Weight *float32 `json:"weight"` // 权重 MaxAMShare *float32 `json:"maxAMShare"` // App Master最大份额}type YarnResource struct { Vcores *int `json:"vcores"` Memory *int `json:"memory"` Type *string `json:"type"` // 当值为`percent`时,表示使用的百分比,否则就是使用的绝对数值}

- 容量调度器

type QueueForCapacitySchedulerV3 struct { Name string `json:"name"` // 队列名称 MyId string `json:"myId"` // 队列id,用于编辑、删除、克隆时使用 ParentId string `json:"parentId"` // 父队列Id Configs []ConfigForCapacityV3 `json:"configs"` //配置集设置 State *string `json:"state"` // 资源池状态 DefaultNodeLabelExpression *string `json:"default-node-label-expression"` // 默认标签表达式 AclSubmitApps *AclForYarnQueue `json:"acl_submit_applications"` // 提交访问控制 AclAdminQueue *AclForYarnQueue `json:"acl_administer_queue"` //管理访问控制 MaxAllocationMB *int32 `json:"maximum-allocation-mb"` // 分配Container最大内存数量 MaxAllocationVcores *int32 `json:"maximum-allocation-vcores"` // Container最大vCore数量 IsDefault *bool `json:"isDefault"`// 是否是root.default队列 IsRoot *bool `json:"isRoot"` // 是否是root队列 Queues []*QueueForCapacitySchedulerV3 `json:"queues"`//子队列信息。递归}type ConfigForCapacityV3 struct { Name string `json:"configName"` // 配置集名称 Labels []CapacityLabel `json:"labels"` // 标签信息 MinUserLimitPercent *int32 `json:"minimum-user-limit-percent"` // 用户最小容量 UserLimitFactor *float32 `json:"user-limit-factor" valid:"rangeExcludeLeft(0|)"` // 用户资源因子 MaxApps *int32 `json:"maximum-applications" valid:"rangeExcludeLeft(0|)"` // 最大应用数Max-Applications MaxAmPercent *float32 `json:"maximum-am-resource-percent"` // 最大AM比例 DefaultApplicationPriority *int32 `json:"default-application-priority"` // 资源池优先级}type CapacityLabel struct { Name string `json:"labelName"` Capacity *float32 `json:"capacity"` // 容量 MaxCapacity *float32 `json:"maximum-capacity"` //最大容量}type AclForYarnQueue struct { User *string `json:"user"` //用户名 Group *string `json:"group"`//组名}

Version String 版本
示例值:v2
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 获取资源调度中的队列信息

输入示例

POST / HTTP/1.1
Host: emr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: DescribeYarnQueue
<公共请求参数>

{
    "InstanceId": "emr-fa13",
    "Scheduler": "capacity"
}

输出示例

{
    "Response": {
        "Queue": "{\"name\":\"root\",\"myId\":\"root\",\"parentId\":\"root\",\"configs\":[{\"configName\":\"default\",\"labels\":[{\"labelName\":\"\\u003cDEFAULT_PARTITION\\u003e\",\"capacity\":null,\"maximum-capacity\":null,\"state\":0},{\"labelName\":\"test\",\"capacity\":null,\"maximum-capacity\":null,\"state\":0},{\"labelName\":\"test2\",\"capacity\":null,\"maximum-capacity\":null,\"state\":0}],\"minimum-user-limit-percent\":null,\"user-limit-factor\":null,\"maximum-applications\":null,\"maximum-am-resource-percent\":null,\"default-application-priority\":null}],\"state\":null,\"default-node-label-expression\":null,\"acl_submit_applications\":null,\"acl_administer_queue\":null,\"maximum-allocation-mb\":null,\"maximum-allocation-vcores\":null,\"isDefault\":null,\"isRoot\":true,\"queues\":[{\"name\":\"default\",\"myId\":\"root.default\",\"parentId\":\"root\",\"configs\":[{\"configName\":\"default\",\"labels\":[{\"labelName\":\"\\u003cDEFAULT_PARTITION\\u003e\",\"capacity\":50,\"maximum-capacity\":100,\"state\":0}],\"minimum-user-limit-percent\":null,\"user-limit-factor\":1,\"maximum-applications\":null,\"maximum-am-resource-percent\":null,\"default-application-priority\":null}],\"state\":null,\"default-node-label-expression\":null,\"acl_submit_applications\":null,\"acl_administer_queue\":null,\"maximum-allocation-mb\":null,\"maximum-allocation-vcores\":null,\"isDefault\":true,\"isRoot\":null,\"queues\":[]},{\"name\":\"q1\",\"myId\":\"root.q1\",\"parentId\":\"root\",\"configs\":[{\"configName\":\"default\",\"labels\":[{\"labelName\":\"\\u003cDEFAULT_PARTITION\\u003e\",\"capacity\":50,\"maximum-capacity\":100,\"state\":0},{\"labelName\":\"test\",\"capacity\":100,\"maximum-capacity\":100,\"state\":0}],\"minimum-user-limit-percent\":null,\"user-limit-factor\":null,\"maximum-applications\":null,\"maximum-am-resource-percent\":null,\"default-application-priority\":null}],\"state\":\"RUNNING\",\"default-node-label-expression\":null,\"acl_submit_applications\":{\"user\":\"*\",\"group\":\"*\"},\"acl_administer_queue\":{\"user\":\"*\",\"group\":\"*\"},\"maximum-allocation-mb\":null,\"maximum-allocation-vcores\":null,\"isDefault\":null,\"isRoot\":null,\"queues\":[]}]}",
        "Version": "v3",
        "RequestId": "3f63c907-d4e4-4856-b05d-949eedc2151a"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation 操作失败。
InternalError.CamCgwError 内部服务调用异常。
InternalError.WoodServerError 内部服务调用异常。
UnauthorizedOperation.CheckCamAuth 校验账号操作无权限。