更新时间:2024-10-21 GMT+08:00

查询对应版本元数据

功能介绍

查询对应版本元数据。如果参数里指定集群ID,则可查询集群更新过补丁之后的最新元数据。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

GET /v1.1/{project_id}/metadata/versions/{version_name}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

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

约束限制:

不涉及

取值范围:

只能由英文字母和数字组成,且长度为[1-64]个字符。

默认取值:

不涉及

version_name

String

参数解释:

集群版本。例如“MRS 3.1.0”。如果请求客户端不支持自动转义,则需要将空格转义为%20,例如“MRS%203.1.0”。

约束限制:

不涉及

取值范围:

长度为[1-64]个字符。

默认取值:

不涉及

表2 Query参数

参数

是否必选

参数类型

描述

cluster_id

String

参数解释:

集群ID。如果指定集群ID,则获取该集群做过补丁更新的最新版本元数据。获取方法,请参见获取集群ID

约束限制:

不涉及

取值范围:

只能由英文字母、数字以及“_”和“-”组成,且长度为[1-64]个字符。

默认取值:

不涉及

请求参数

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

other

Map<String,Object>

参数解释:

其他。

name

String

参数解释:

镜像版本名称。

取值范围:

不涉及

template_type

String

参数解释:

模板类型。

取值范围:

不涉及

image_id

String

参数解释:

镜像ID。

取值范围:

不涉及

status

String

参数解释:

版本状态。

取值范围:

不涉及

features

Array of strings

参数解释:

特性列表。

cluster_types

Array of strings

参数解释:

集群类型列表。

version_type

String

参数解释:

版本类型。

取值范围:

不涉及

components

Array of VersionComponent objects

参数解释:

组件列表,参数详情参见表4

resource_requirement

Array of strings

参数解释:

版本所需的IP等资源说明

constraints

VersionConstraint object

参数解释:

版本限制说明,参数详情参见表6

flavors

FlavorLists object

参数解释:

规格列表,参数详情参见表9

role_deploy_meta

Array of RoleDeployMeta objects

参数解释:

版本组件实例角色部署策略,参数详情参见表10

表4 VersionComponent

参数

参数类型

描述

other

Map<String,Object>

参数解释:

其他。

name

String

参数解释:

组件名称。

取值范围:

不涉及

version

String

参数解释:

支持版本。

取值范围:

不涉及

depend_on

Array of strings

参数解释:

组件依赖项。

description

String

参数解释:

组件描述。

取值范围:

不涉及

available_cluster_types

Array of strings

参数解释:

支持该组件的集群类型。

external_datasources

Array of ComponentExternalDatasource objects

参数解释:

外部数据源,参数详情参见表5

resource_requirement

Array of strings

参数解释:

所需的IP等资源说明。

valid_roles

Array of strings

参数解释:

有效角色。

visible

Boolean

参数解释:

是否可见。

取值范围:

  • True:可见。
  • False:不可见。

children_components

Array of strings

参数解释:

子组件。

multi_az_support_status

String

参数解释:

多AZ支持状态。

取值范围:

不涉及

表5 ComponentExternalDatasource

参数

参数类型

描述

name

String

参数解释:

外部数据源名称。

取值范围:

不涉及

types

Array of strings

参数解释:

外部数据源类型。

表6 VersionConstraint

参数

参数类型

描述

other

Map<String,Object>

参数解释:

其他限制

node_constraint

NodeConstraints object

参数解释:

节点限制,参数详情参见表7

safe_mode_kerberos_exclude_components

Array of strings

参数解释:

安全模式Kerberos排除组件列表。

表7 NodeConstraints

参数

参数类型

描述

other

Map<String,Object>

参数解释:

其他节点限制

master

NodeConstraint object

参数解释:

Master节点限制,包括节点数,磁盘等限制,参数详情参见表8

core

NodeConstraint object

参数解释:

Core节点限制,包括节点数,磁盘等限制,参数详情参见表8

task

NodeConstraint object

参数解释:

Task节点限制,包括节点数,磁盘等限制,参数详情参见表8

core_separate

NodeConstraint object

参数解释:

Core节点管控分离限制,管控分离模板下Core节点的限制,包括节点数,磁盘等限制,参数详情参见表8

core_combine

NodeConstraint object

参数解释:

Core节点管控合设限制,管控合设模板下Core节点的限制,包括节点数,磁盘等限制,参数详情参见表8

task_separate

NodeConstraint object

参数解释:

Task节点管控分离限制,管控分离模板Task节点的限制,包括节点数,磁盘等限制,参数详情参见表8

task_combine

NodeConstraint object

参数解释:

Task节点管控合设限制,管控合设模板下Task节点的限制,包括节点数,磁盘等限制,参数详情参见表8

node_group_task

NodeConstraint object

参数解释:

Task节点组限制,包括节点数,磁盘等限制,参数详情参见表8

表8 NodeConstraint

参数

参数类型

描述

other

Map<String,Object>

参数解释:

其他限制。

min_node_num

Integer

参数解释:

最少节点数。

取值范围:

不涉及

max_node_num

Integer

参数解释:

最多节点数。

取值范围:

不涉及

min_core_num

Map<String,Integer>

参数解释:

最少核心数。

min_mem_size

Map<String,Integer>

参数解释:

最小内存容量。

min_disk_size

Integer

参数解释:

最小磁盘容量。

取值范围:

不涉及

max_node_group_num

Integer

参数解释:

最大节点组数。

取值范围:

不涉及

min_data_volume_total_size

Map<String,Integer>

参数解释:

最小数据卷容量。

disk_type_constraint

Map<String,String>

参数解释:

磁盘类型限制,包含当前节点组所支持的磁盘类型。

min_root_disk_size

Integer

参数解释:

最小系统磁盘大小。

取值范围:

不涉及

表9 FlavorLists

参数

参数类型

描述

master

Array of strings

参数解释:

Master节点支持的规格列表。

core

Array of strings

参数解释:

Core节点支持的规格列表。

task

Array of strings

参数解释:

Task节点支持的规格列表。

表10 RoleDeployMeta

参数

参数类型

描述

other

Map<String,Object>

参数解释:

其他扩展属性。

name

String

参数解释:

角色名称。

取值范围:

不涉及

code_name

String

参数解释:

角色简称。

取值范围:

不涉及

component

String

参数解释:

角色所属组件。

取值范围:

不涉及

node_preference

String

参数解释:

部署倾向。

取值范围:

不涉及

count

String

参数解释:

角色数量限制。

取值范围:

不涉及

affinity

String

参数解释:

亲和。

取值范围:

不涉及

affinity_target

String

参数解释:

亲和目标。

取值范围:

不涉及

multi_instance

Integer

参数解释:

多实例。

取值范围:

不涉及

role_kind

String

参数解释:

角色类型。

取值范围:

不涉及

constraints

Array of strings

参数解释:

角色限制,包含当前组件角色的一些功能限制,例如:"no_scale_in"。

multi_az_placement

String

参数解释:

多AZ部署。

取值范围:

不涉及

arbitration_deployment

Boolean

参数解释:

仲裁部署。

取值范围:

  • true:存在仲裁部署。
  • false:不存在仲裁部署。

support_elb

Boolean

参数解释:

支持ELB。

取值范围:

  • true:支持ELB。
  • false:不支持ELB。

multi_affinity_group_enable

Boolean

参数解释:

启用多亲和组。

取值范围:

  • true:启用多亲和组。
  • false:不启用多亲和组。

local_disks_anti_affinity

Boolean

参数解释:

本地盘反亲和。

取值范围:

  • true:本地盘反亲和。
  • false:本地盘反不亲和。

multi_instance_name_pattern

String

参数解释:

多实例名称模式。

取值范围:

不涉及

private_ip

String

参数解释:

私有IP。

取值范围:

不涉及

weight

String

参数解释:

权重。

取值范围:

不涉及

请求示例

获取MRS 3.1.0的版本元数据

GET /v1.1/{project_id}/metadata/versions/MRS%203.1.0

响应示例

状态码: 200

版本元数据详情。(该样例省略了部分内容,详细返回请调用接口查看)

{
  "other" : { },
  "name" : "MRS 3.1.0",
  "template_type" : "clusterFusion",
  "image_id" : "ECS:X86:deda7c89-6069-46d3-af7c-4afc31eec0d9,ECS:ARM:d5f0087b-9fd7-4977-b9c8-d07262f452d6,BMS:ks1ne:bf071a00-d1d6-472f-943b-22f733248f36,BMS:d2:a9a1a279-85c9-4c05-bd0a-4cb786937a09",
  "status" : "GA",
  "features" : [ "anti_affinity", "auto_scaling", "bootstrap_scripts", "bootstrap_support_obs", "custom_config", "custom_topology", "datasource_manager", "decouple_install", "elastic_ip", "fi_cluster", "fi_cluster_v2", "iam_user_sync", "log_collect", "log_collect_v2", "master_scale_up", "mrs_ecs_agency", "multi_disks", "multi_login_mode", "obs_integration", "obs_user_policy", "opensource_port_matrix", "ops_channel", "password_policy_v2", "random_passwd_for_install", "register_dns_server", "resize", "resources_plans", "safe_mode", "scale_scripts", "security_job_submit", "smn_alarm", "spark_sql_validation_in_executor", "support_obs_protocol", "task_node", "unified_management_ui", "sql_execution", "multi_az", "weak_multi_az_deployment_constraint", "multi_master_scale_up", "omm_random_pwd", "metric_monitor", "auth_manager", "cluster_patch", "hw_domain_name", "fi_custom_config", "force_scale_up", "skip_fi_evs_expand", "detach_node" ],
  "cluster_types" : [ "analysis", "streaming", "mixed", "custom" ],
  "version_type" : "basic",
  "components" : [ {
    "other" : { },
    "name" : "Hadoop",
    "version" : "3.1.1",
    "depend_on" : [ "ZooKeeper", "Ranger" ],
    "description" : "A framework that allows for the distributed processing of large data sets across clusters.",
    "available_cluster_types" : [ "analysis", "mixed", "custom" ],
    "external_datasources" : null,
    "resource_requirement" : [ "privateIp:1" ],
    "valid_roles" : [ "NameNode", "Zkfc", "JournalNode", "DataNode", "ResourceManager", "NodeManager", "JobHistoryServer", "TimelineServer", "HttpFS" ],
    "visible" : true,
    "children_components" : [ "HDFS", "Mapreduce", "Yarn" ],
    "multi_az_support_status" : "multi_az_ha"
  }, {
    "other" : { },
    "name" : "Spark2x",
    "version" : "2.4.5",
    "depend_on" : [ "HDFS", "Yarn", "Hive", "KrbClient", "KrbServer", "ZooKeeper" ],
    "description" : "Apache Spark2x is a fast and general engine based on open source Spark2.x for large-scale data processing.",
    "available_cluster_types" : [ "analysis", "mixed", "custom" ],
    "external_datasources" : null,
    "resource_requirement" : null,
    "valid_roles" : [ "JobHistory2x", "JDBCServer2x", "SparkResource2x", "IndexServer2x" ],
    "visible" : true,
    "children_components" : [ "Spark2x" ],
    "multi_az_support_status" : "multi_az_ha"
  }, {
    "other" : { },
    "name" : "HBase",
    "version" : "2.2.3",
    "depend_on" : [ "HDFS", "Yarn", "KrbServer", "ZooKeeper" ],
    "description" : "A scalable, distributed database that supports structured data storage for large tables.",
    "available_cluster_types" : [ "analysis", "mixed", "custom" ],
    "external_datasources" : null,
    "resource_requirement" : null,
    "valid_roles" : [ "HMaster", "RegionServer", "ThriftServer", "Thrift1Server", "RESTServer", "RegionServer_1" ],
    "visible" : true,
    "children_components" : [ "HBase" ],
    "multi_az_support_status" : "multi_az_ha"
  }, {
    "other" : { },
    "name" : "Hive",
    "version" : "3.1.0",
    "depend_on" : [ "HDFS", "Mapreduce", "Yarn", "DBService", "ZooKeeper" ],
    "description" : "A data warehouse infrastructure that provides data summarization and ad hoc querying.",
    "available_cluster_types" : [ "analysis", "mixed", "custom" ],
    "external_datasources" : [ {
      "name" : "hive_metastore",
      "types" : [ "RDS_MYSQL", "DLCATALOG" ]
    } ],
    "resource_requirement" : null,
    "valid_roles" : [ "MetaStore", "WebHCat", "HiveServer" ],
    "visible" : true,
    "children_components" : [ "Hive" ],
    "multi_az_support_status" : "multi_az_ha"
  }, {
    "other" : { },
    "name" : "ZooKeeper",
    "version" : null,
    "depend_on" : [ "KrbClient", "KrbServer" ],
    "description" : null,
    "available_cluster_types" : [ "analysis", "streaming", "mixed", "custom" ],
    "external_datasources" : null,
    "resource_requirement" : null,
    "valid_roles" : [ "quorumpeer" ],
    "visible" : true,
    "children_components" : [ "ZooKeeper" ],
    "multi_az_support_status" : "multi_az_ha"
  } ],
  "resource_requirement" : [ "privateIp:2" ],
  "constraints" : {
    "other" : { },
    "node_constraint" : {
      "other" : { },
      "master" : {
        "other" : { },
        "min_node_num" : 2,
        "max_node_num" : 9,
        "min_core_num" : null,
        "min_mem_size" : null,
        "min_disk_size" : 600,
        "max_node_group_num" : 1,
        "min_data_volume_total_size" : null,
        "disk_type_constraint" : null,
        "min_root_disk_size" : 480
      },
      "core" : {
        "other" : { },
        "min_node_num" : 3,
        "max_node_num" : 500,
        "min_core_num" : null,
        "min_mem_size" : null,
        "min_disk_size" : 600,
        "max_node_group_num" : null,
        "min_data_volume_total_size" : null,
        "disk_type_constraint" : null,
        "min_root_disk_size" : 480
      },
      "task" : null,
      "core_separate" : null,
      "core_combine" : null,
      "task_separate" : null,
      "task_combine" : null,
      "node_group_task" : {
        "other" : { },
        "min_node_num" : 2,
        "max_node_num" : 10000,
        "min_core_num" : null,
        "min_mem_size" : null,
        "min_disk_size" : 600,
        "max_node_group_num" : 9,
        "min_data_volume_total_size" : null,
        "disk_type_constraint" : null,
        "min_root_disk_size" : 480
      }
    },
    "safe_mode_kerberos_exclude_components" : [ "Presto", "Pulsar" ]
  },
  "flavors" : {
    "master" : [ "ac7.4xlarge.4", "ac7.8xlarge.4", "ac7.16xlarge.4", "ac7.32xlarge.4", "ac7.8xlarge.2", "ac7.16xlarge.2", "ac7.32xlarge.2", "am7.2xlarge.8", "am7.4xlarge.8", "am7.8xlarge.8", "c3ne.4xlarge.4", "c3ne.8xlarge.4", "c3ne.15xlarge.4" ],
    "core" : [ "ac7.4xlarge.4", "ac7.8xlarge.4", "ac7.16xlarge.4", "ac7.32xlarge.4", "ac7.8xlarge.2", "ac7.16xlarge.2", "ac7.32xlarge.2", "am7.2xlarge.8", "am7.4xlarge.8", "am7.8xlarge.8", "c3ne.4xlarge.4", "c3ne.8xlarge.4", "c3ne.15xlarge.4", "c6.4xlarge.4", "c6.8xlarge.2", "c6.8xlarge.4", "c6.16xlarge.2" ],
    "task" : [ "ac7.4xlarge.4", "ac7.8xlarge.4", "ac7.16xlarge.4", "ac7.32xlarge.4", "ac7.8xlarge.2", "ac7.16xlarge.2", "ac7.32xlarge.2", "am7.2xlarge.8", "am7.4xlarge.8", "am7.8xlarge.8", "c3ne.4xlarge.4", "c3ne.8xlarge.4", "c3ne.15xlarge.4" ]
  },
  "role_deploy_meta" : [ {
    "other" : { },
    "name" : "OMSServer",
    "code_name" : "OMS",
    "component" : "OMSServer",
    "node_preference" : "MASTER",
    "count" : "2",
    "affinity" : null,
    "affinity_target" : null,
    "multi_instance" : null,
    "role_kind" : null,
    "constraints" : null,
    "multi_az_placement" : "AT_LEAST_2",
    "arbitration_deployment" : false,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  }, {
    "other" : { },
    "name" : "NameNode",
    "code_name" : "NN",
    "component" : "HDFS",
    "node_preference" : "MASTER",
    "count" : "2",
    "affinity" : null,
    "affinity_target" : null,
    "multi_instance" : null,
    "role_kind" : null,
    "constraints" : null,
    "multi_az_placement" : "AT_LEAST_2",
    "arbitration_deployment" : false,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  }, {
    "other" : { },
    "name" : "Zkfc",
    "code_name" : "ZKFC",
    "component" : "HDFS",
    "node_preference" : null,
    "count" : null,
    "affinity" : "JUST_COLOCATE",
    "affinity_target" : "NameNode",
    "multi_instance" : null,
    "role_kind" : null,
    "constraints" : null,
    "multi_az_placement" : "AT_LEAST_2",
    "arbitration_deployment" : false,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  }, {
    "other" : { },
    "name" : "HttpFS",
    "code_name" : "HFS",
    "component" : "HDFS",
    "node_preference" : "MASTER",
    "count" : "[0-10]",
    "affinity" : null,
    "affinity_target" : null,
    "multi_instance" : null,
    "role_kind" : null,
    "constraints" : null,
    "multi_az_placement" : "AT_LEAST_2",
    "arbitration_deployment" : false,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  }, {
    "other" : { },
    "name" : "JournalNode",
    "code_name" : "JN",
    "component" : "HDFS",
    "node_preference" : "MASTER",
    "count" : "[3-60],step=2",
    "affinity" : null,
    "affinity_target" : null,
    "multi_instance" : null,
    "role_kind" : null,
    "constraints" : null,
    "multi_az_placement" : "QUORUM_LIKE",
    "arbitration_deployment" : true,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  }, {
    "other" : { },
    "name" : "DataNode",
    "code_name" : "DN",
    "component" : "HDFS",
    "node_preference" : "NO_LIMIT",
    "count" : "[3-10000]",
    "affinity" : null,
    "affinity_target" : null,
    "multi_instance" : null,
    "role_kind" : "stateful",
    "constraints" : null,
    "multi_az_placement" : "AT_LEAST_2",
    "arbitration_deployment" : false,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  }, {
    "other" : { },
    "name" : "ResourceManager",
    "code_name" : "RM",
    "component" : "Yarn",
    "node_preference" : "MASTER",
    "count" : "2",
    "affinity" : null,
    "affinity_target" : null,
    "multi_instance" : null,
    "role_kind" : null,
    "constraints" : null,
    "multi_az_placement" : "AT_LEAST_2",
    "arbitration_deployment" : false,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  }, {
    "other" : { },
    "name" : "NodeManager",
    "code_name" : "NM",
    "component" : "Yarn",
    "node_preference" : "NO_LIMIT",
    "count" : "[3-10000]",
    "affinity" : null,
    "affinity_target" : null,
    "multi_instance" : null,
    "role_kind" : "stateless",
    "constraints" : null,
    "multi_az_placement" : "AT_LEAST_2",
    "arbitration_deployment" : false,
    "support_elb" : false,
    "multi_affinity_group_enable" : false,
    "local_disks_anti_affinity" : false,
    "multi_instance_name_pattern" : null,
    "private_ip" : null,
    "weight" : null
  } ]
}

状态码

状态码请参见状态码

错误码

请参见错误码