Help Center/ MapReduce Service/ API Reference (Ankara Region)/ API V1.1/ Version Metadata/ Querying the Metadata of a Cluster Version
Updated on 2024-11-29 GMT+08:00

Querying the Metadata of a Cluster Version

Function

This API is used to query the metadata of a cluster version. If the cluster ID is specified, the latest metadata of the cluster that has been patched can be queried.

URI

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

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Explanation

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

Constraints

N/A

Value range

The value must consist of 1 to 64 characters. Only letters and digits are allowed.

Default value

N/A

version_name

Yes

String

Explanation

The cluster version, for example: MRS 3.3.1-LTS. If the request client does not support automatic escape, escape the space to %20, for example, MRS %203.3.1-LTS.

Constraints

N/A

Value range

The value can contain 1 to 64 characters.

Default value

N/A

Table 2 Query parameters

Parameter

Mandatory

Type

Description

cluster_id

No

String

Explanation

Cluster ID. If this parameter is specified, the latest metadata of the cluster that has been patched will be obtained. For details about how to obtain the cluster ID, see Obtaining a Cluster ID.

Constraints

N/A

Value range

The value can contain 1 to 64 characters, including only letters, digits, underscores (_), and hyphens (-).

Default value

N/A

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameter

Parameter

Type

Description

other

Map<String,Object>

Explanation

Other

name

String

Explanation

Image version name

Value range

N/A

template_type

String

Explanation

Template type

Value range

N/A

image_id

String

Explanation

Image ID.

Value range

N/A

status

String

Explanation

Version status.

Value range

N/A

features

Array of strings

Explanation

Feature list.

cluster_types

Array of strings

Explanation

Cluster types.

version_type

String

Explanation

Version type

Value range

N/A

components

Array of VersionComponent objects

Explanation

Components. For details, see Table 4.

resource_requirement

Array of strings

Explanation

Description of required resources, such as IP addresses

constraints

VersionConstraint object

Explanation

Version restrictions. For details about the parameters, see Table 6.

flavors

FlavorLists object

Explanation

Specifications. For details, see Table 9.

role_deploy_meta

Array of RoleDeployMeta objects

Explanation

Role deployment policy of component instances. For details, see Table 10.

Table 4 VersionComponent

Parameter

Type

Description

other

Map<String,Object>

Explanation

Other

name

String

Explanation

Component name.

Value range

N/A

version

String

Explanation

Supported versions.

Value range

N/A

depend_on

Array of strings

Explanation

Component dependencies.

description

String

Explanation

Component description.

Value range

N/A

available_cluster_types

Array of strings

Explanation

Cluster types that support the component.

external_datasources

Array of ComponentExternalDatasource objects

Explanation

External data source. For details, see Table 5.

resource_requirement

Array of strings

Explanation

Description of required resources, such as IP addresses.

valid_roles

Array of strings

Explanation

Valid roles.

visible

Boolean

Explanation

Visible or not.

Value range

  • True: visible
  • False: invisible

children_components

Array of strings

Explanation

Sub-components

multi_az_support_status

String

Explanation

Whether multi-AZ is supported.

Value range

N/A

Table 5 ComponentExternalDatasource

Parameter

Type

Description

name

String

Explanation

Name of the external data source.

Value range

N/A

types

Array of strings

Explanation

Type of the external data source.

Table 6 VersionConstraint

Parameter

Type

Description

other

Map<String,Object>

Explanation

Other restrictions

node_constraint

NodeConstraints object

Explanation

Node restrictions. For details, see Table 7.

safe_mode_kerberos_exclude_components

Array of strings

Explanation

Components excluded from clusters in security mode (Kerberos authentication enabled)

Table 7 NodeConstraints

Parameter

Type

Description

other

Map<String,Object>

Explanation

Restrictions on other nodes, including the number of nodes and disks

master

NodeConstraint object

Explanation

Restrictions on Master nodes, including the number of nodes and disks. For details, see Table 8.

core

NodeConstraint object

Explanation

Restrictions on Core nodes, including the number of nodes and disks. For details, see Table 8.

task

NodeConstraint object

Explanation

Restrictions on Task nodes, including the number of nodes and disks. For details, see Table 8.

core_separate

NodeConstraint object

Explanation

Core node restrictions when management and control nodes are different nodes, including the number of nodes and disks. For details, see Table 8.

core_combine

NodeConstraint object

Explanation

Core node restrictions when management and control nodes are the same nodes, including the number of nodes and disks. For details, see Table 8.

task_separate

NodeConstraint object

Explanation

Task node restrictions when management and control nodes are different nodes, including the number of nodes and disks. For details, see Table 8.

task_combine

NodeConstraint object

Explanation

Task node restrictions when management and control nodes are the same nodes, including the number of nodes and disks. For details, see Table 8.

node_group_task

NodeConstraint object

Explanation

Restrictions on task node groups,including the number of nodes and disks. For details, see Table 8.

Table 8 NodeConstraint

Parameter

Type

Description

other

Map<String,Object>

Explanation

Other restrictions.

min_node_num

Integer

Explanation

Minimum number of nodes.

Value range

N/A

max_node_num

Integer

Explanation

Maximum number of nodes.

Value range

N/A

min_core_num

Map<String,Integer>

Explanation

Minimum number of cores.

min_mem_size

Map<String,Integer>

Explanation

Minimum memory.

min_disk_size

Integer

Explanation

Minimum disk capacity.

Value range

N/A

max_node_group_num

Integer

Explanation

Maximum number of nodes.

Value range

N/A

min_data_volume_total_size

Map<String,Integer>

Explanation

Minimum data volume capacity.

disk_type_constraint

Map<String,String>

Explanation

Disk type restrictions, including the types supported by the current node group.

min_root_disk_size

Integer

Explanation

Minimum system disk size.

Value range

N/A

Table 9 FlavorLists

Parameter

Type

Description

master

Array of strings

Explanation

Specifications supported by Master nodes.

core

Array of strings

Explanation

Specifications supported by Core nodes.

task

Array of strings

Explanation

Specifications supported by Task nodes.

Table 10 RoleDeployMeta

Parameter

Type

Description

other

Map<String,Object>

Explanation

Other properties.

name

String

Explanation

Role name.

Value range

N/A

code_name

String

Explanation

Short name of the role.

Value range

N/A

component

String

Explanation

Component to which the role belongs.

Value range

N/A

node_preference

String

Explanation

Node deployment preference.

Value range

N/A

count

String

Explanation

Maximum number of roles.

Value range

N/A

affinity

String

Explanation

Affinity.

Value range

N/A

affinity_target

String

Explanation

Target in the affinity relationship.

Value range

N/A

multi_instance

Integer

Explanation

Multi-instance.

Value range

N/A

role_kind

String

Explanation

Role type.

Value range

N/A

constraints

Array of strings

Explanation

Role restrictions, including function restrictions of the current component role, for example, "no_scale_in".

multi_az_placement

String

Explanation

Multi-AZ deployment.

Value range

N/A

arbitration_deployment

Boolean

Explanation

Whether to use arbitration deployment.

Value range

  • true: Use arbitration deployment.
  • false: Do not use arbitration deployment.

support_elb

Boolean

Explanation

Whether ELB is supported.

Value range

  • true: ELB is supported.
  • false: ELB is not supported.

multi_affinity_group_enable

Boolean

Explanation

Whether to enable the multi-affinity groups.

Value range

  • true: Enable multi-affinity groups.
  • false: Disable multi-affinity groups.

local_disks_anti_affinity

Boolean

Explanation

Whether to enable local disk anti-affinity.

Value range

  • true: Enable local disk anti-affinity.
  • false: Disable local disk anti-affinity.

multi_instance_name_pattern

String

Explanation

Multi-instance name pattern.

Value range

N/A

private_ip

String

Explanation

Private IP addresses.

Value range

N/A

weight

String

Explanation

Weight.

Value range

N/A

Example Request

Obtain the metadata of MRS 3.3.1-LTS.

GET /v1.1/{project_id}/metadata/versions/MRS%203.3.1-LTS

Example Response

Status code: 200

Version metadata details. Some contents are omitted in this example. For details, call the API.

{
  "other" : { },
  "name" : "MRS 3.3.1-LTS",
  "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
  } ]
}

Status Codes

For details, see Status Codes.

Error Codes

For details, see Error Codes.