ALIYUN::HBase::MultiZoneCluster

ALIYUN::HBase::MultiZoneCluster类型用于创建多可用区集群。

语法

{
  "Type": "ALIYUN::HBase::MultiZoneCluster",
  "Properties": {
    "StandbyZoneId": String,
    "ResourceGroupId": String,
    "MasterInstanceType": String,
    "LogDiskSize": Integer,
    "StandbyVSwitchId": String,
    "SecurityIPList": String,
    "CoreInstanceType": String,
    "ClusterName": String,
    "Engine": String,
    "ArbiterZoneId": String,
    "AutoRenewPeriod": Integer,
    "PrimaryZoneId": String,
    "EngineVersion": String,
    "MultiZoneCombination": String,
    "CoreNodeCount": Integer,
    "ArchVersion": String,
    "Period": Integer,
    "LogInstanceType": String,
    "PayType": String,
    "PrimaryVSwitchId": String,
    "ArbiterVSwitchId": String,
    "VpcId": String,
    "CoreDiskType": String,
    "LogNodeCount": Integer,
    "LogDiskType": String,
    "CoreDiskSize": Integer,
    "PeriodUnit": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

StandbyZoneId

String

备可用区实例的可用区ID。

ResourceGroupId

String

资源组ID。

可通过资源组控制台查询,不填时放入默认资源组中。

MasterInstanceType

String

master节点规格。

LogDiskSize

Integer

log节点磁盘大小。

范围为400~64000 GB,步长为40 GB。

StandbyVSwitchId

String

备可用区实例的虚拟交换机ID。

必须在StandbyZoneId对应的可用区下。

SecurityIPList

String

添加实例的白名单IP 地址。

多个白名单IP地址之间使用半角逗号(,)分隔。

说明

如果IP地址设置为127.0.0.1,表示禁止所有地址访问该实例。例如IP地址为192.168.0.0/24表示允许所有192.168.0.XX的IP地址访问该实例。

CoreInstanceType

String

core节点规格。

ClusterName

String

实例名称。

设置规则如下:

  • 长度为2~128个字符。

  • 以大小写字母或中文开头。

  • 可包含数字或者特殊字符,特殊字符包括半角句号(.)、短横线(-)和下划线(_)。

Engine

String

服务类型。

目前仅支持HBase增强版,取值为hbaseue

ArbiterZoneId

String

仲裁可用区ID。

AutoRenewPeriod

Integer

自动续费周期。

单位:月。

说明

默认为0,表示不自动续费。

AutoRenewPeriod取值为2时,表示到期后自动续费2个月。

PrimaryZoneId

String

主可用区实例的可用区ID。

EngineVersion

String

引擎类型的版本号。

取值为2.0。

MultiZoneCombination

String

可用区组合。

CoreNodeCount

Integer

Core节点个数。

Core节点个数取值范围为2~20,且增量为2的倍数。

ArchVersion

String

部署架构的版本。

目前仅支持hbaseue引擎类型,取值为2.0

Period

Integer

包年包月实例的购买时长。

取值:

  • 当 PeriodUnit为year时,取值范围为1~3。

  • 当PeriodUnit为month时,取值范围为1~9。

说明

仅当实例的付费类型为Prepaid时,需要填写此参数。

LogInstanceType

String

log节点规格。

PayType

String

实例的付费类型。

取值:

  • Prepaid:预付费。

  • Postpaid:后付费。

PrimaryVSwitchId

String

主可用区实例的虚拟交换机ID。

必须在PrimaryZoneId对应的可用区下。

ArbiterVSwitchId

String

仲裁虚拟交换机ID。

交换机需位于ArbiterZoneId对应的可用区下。

VpcId

String

专有网络ID。

必须在RegionId所在的地域下。

CoreDiskType

String

core磁盘类型。

取值:

  • cloud_efficiency:高效云盘。

  • cloud_ssd:SSD云盘。

  • local_hdd_pro:吞吐密集型本地盘 。

  • local_ssd_pro:I/O密集型本地盘 。

LogNodeCount

Integer

log节点数量。

log节点个数取值范围为 4~400,且为4的倍数。

LogDiskType

String

log节点磁盘类型。

取值:

  • cloud_efficiency:高效云盘。

  • cloud_ssd:SSD云盘。

  • local_hdd_pro:吞吐密集型本地盘 。

  • local_ssd_pro:I/O密集型本地盘 。

CoreDiskSize

Integer

节点磁盘大小。

范围为400~64000 GB,步长为40 GB。

PeriodUnit

String

包年包月实例的购买单位。

取值:

  • year:年。

  • month:月。

说明

仅当实例的付费类型为Prepaid时,需要填写此参数。

返回值

Fn::GetAtt

  • UiProxyConnAddrInfo:WebUI连接信息列表。

  • ClusterId:实例ID

  • ServiceConnAddrs:子服务地址列表。

  • ThriftConn:Thrift连接地址信息列表。

  • SlbConnAddrs:Slb连接信息列表。

  • ZkConnAddrs:Zookeeper连接信息列表。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      ArbiterVSwitchId:
        Description:
          en: Arbitration virtual switch ID. The switch must be in the availability zone
            corresponding to ArbiterZoneId.
        Required: true
        Type: String
      ArbiterZoneId:
        Description:
          en: Arbiter zond id.
        Required: true
        Type: String
      ArchVersion:
        AllowedValues:
        - '2.0'
        Description:
          en: Version of the deployment architecture. Currently, only the hbaseue engine
            type is supported. The value can be 2.0.
        Required: true
        Type: String
      AutoRenewPeriod:
        Description:
          en: 'The auto-renewal period. Unit: month.
    
            The default value of this parameter is 0. This value indicates that auto-renewal
            is
    
            disabled.
    
            If this parameter is set to 2, the instance is automatically renewed for a
            two-month
    
            subscription after the instance expires.'
        Required: false
        Type: Number
      ClusterName:
        AllowedPattern: ^[a-zA-Z0-9_-]{2,30}$
        Description:
          en: 'The name of the instance.
    
            The name must be 2 to 128 characters in length, and can contain letters, digits,
            periods
    
            (.), underscores (_), and hyphens (-). It must start with a letter.'
        Required: false
        Type: String
      CoreDiskSize:
        Description:
          en: The value ranges from 400 GB to 64,000 GB. The step size is 40 GB.
        Required: true
        Type: Number
      CoreDiskType:
        Description:
          en: 'Core node disk type. Valid values:
    
            cloud_efficiency
    
            cloud_ssd
    
            local_hdd_pro
    
            local_ssd_pro'
        Required: true
        Type: String
      CoreInstanceType:
        Description:
          en: You can call the DescribeAvailableResource operation to obtain the value
            of this parameter.
        Required: true
        Type: String
      CoreNodeCount:
        Description:
          en: Number of Core nodes. The value of the number of Core nodes ranges from
            2 to 20, and the increment is a multiple of 2.
        Required: true
        Type: Number
      Engine:
        AllowedValues:
        - hbaseue
        Description:
          en: Service type. Currently, only HBase enhanced version is supported. The value
            can be hbaseue.
        Required: true
        Type: String
      EngineVersion:
        AllowedValues:
        - '2.0'
        Description:
          en: 'The version of the engine. Valid values:
    
            hbaseue:2.0'
        Required: true
        Type: String
      LogDiskSize:
        Description:
          en: log disk size. The value ranges from 400 GB to 64,000 GB. The step size
            is 40 GB.
        Required: true
        Type: Number
      LogDiskType:
        Description:
          en: 'Log node disk type. Valid values:
    
            cloud_efficiency
    
            cloud_ssd
    
            local_hdd_pro
    
            local_ssd_pro'
        Required: true
        Type: String
      LogInstanceType:
        Description:
          en: Log instance type.
        Required: true
        Type: String
      LogNodeCount:
        Description:
          en: Log number of nodes. The value of log nodes ranges from 4 to 400 and is
            a multiple of 4.
        Required: true
        Type: Number
      MasterInstanceType:
        Description:
          en: The instance type of the master node. You can call the DescribeAvailableResource
            operation to obtain the value of this parameter.
        Required: false
        Type: String
      MultiZoneCombination:
        Description:
          en: Availability zone combination.
        Required: true
        Type: String
      PayType:
        AllowedValues:
        - PayAsYouGo
        - Subscription
        Description:
          en: 'The billing method.
    
            Prepaid: The subscription billing method is used.
    
            Postpaid: The pay-as-you-go billing method is used.'
        Required: true
        Type: String
      Period:
        AssociationProperty: PayPeriod
        Description:
          en: 'The subscription period.
    
            This parameter only takes effect when the PayType parameter is set to Prepaid.
    
            When the PeriodUnit parameter is set to year, the value of the Period parameter
            ranges
    
            from 1 to 5.
    
            When the PeriodUnit parameter is set to month, the value of the Period parameter
            ranges
    
            from 1 to 9.'
        Required: false
        Type: Number
      PeriodUnit:
        AllowedValues:
        - Month
        - Year
        - month
        - year
        AssociationProperty: PayPeriodUnit
        Description:
          en: 'The unit of the subscription period. Valid values:
    
            year
    
            month'
        Required: false
        Type: String
      PrimaryVSwitchId:
        Description:
          en: The virtual switch ID of the instance in primary availability zone must
            be in the availability zone corresponding to PrimaryZoneId.
        Required: true
        Type: String
      PrimaryZoneId:
        Description:
          en: Availability zone ID of the primary availability zone instance.
        Required: true
        Type: String
      ResourceGroupId:
        AssociationProperty: ALIYUN::ECS::ResourceGroup::ResourceGroupId
        Description:
          en: 'The ID of the resource group. You can query the group ID in the resource
            group console.
    
            If you leave this parameter empty, the instance is allocated to the default
            resource
    
            group.'
        Required: false
        Type: String
      SecurityIPList:
        Description:
          en: 'The IP addresses in the whitelist. Example: 192.168.*.*/24. The 0.0.0.0/0
            value cannot
    
            be added to the whitelist. Separate multiple IP addresses with commas (,).'
        Required: false
        Type: String
      StandbyVSwitchId:
        Description:
          en: The virtual switch ID of the standby availability zone instance must be
            in the corresponding availability zone of StandbyZoneId.
        Required: true
        Type: String
      StandbyZoneId:
        Description:
          en: Standby zone id.
        Required: true
        Type: String
      VpcId:
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
        Description:
          en: 'The ID of the virtual private cloud (VPC). If you leave this parameter
            and the VSwitchId
    
            parameter empty, the classic network type is used. The VPC network type is
            preferred.'
        Required: false
        Type: String
    Resources:
      MultiZoneCluster:
        Properties:
          ArbiterVSwitchId:
            Ref: ArbiterVSwitchId
          ArbiterZoneId:
            Ref: ArbiterZoneId
          ArchVersion:
            Ref: ArchVersion
          AutoRenewPeriod:
            Ref: AutoRenewPeriod
          ClusterName:
            Ref: ClusterName
          CoreDiskSize:
            Ref: CoreDiskSize
          CoreDiskType:
            Ref: CoreDiskType
          CoreInstanceType:
            Ref: CoreInstanceType
          CoreNodeCount:
            Ref: CoreNodeCount
          Engine:
            Ref: Engine
          EngineVersion:
            Ref: EngineVersion
          LogDiskSize:
            Ref: LogDiskSize
          LogDiskType:
            Ref: LogDiskType
          LogInstanceType:
            Ref: LogInstanceType
          LogNodeCount:
            Ref: LogNodeCount
          MasterInstanceType:
            Ref: MasterInstanceType
          MultiZoneCombination:
            Ref: MultiZoneCombination
          PayType:
            Ref: PayType
          Period:
            Ref: Period
          PeriodUnit:
            Ref: PeriodUnit
          PrimaryVSwitchId:
            Ref: PrimaryVSwitchId
          PrimaryZoneId:
            Ref: PrimaryZoneId
          ResourceGroupId:
            Ref: ResourceGroupId
          SecurityIPList:
            Ref: SecurityIPList
          StandbyVSwitchId:
            Ref: StandbyVSwitchId
          StandbyZoneId:
            Ref: StandbyZoneId
          VpcId:
            Ref: VpcId
        Type: ALIYUN::HBase::MultiZoneCluster
    Outputs:
      ClusterId:
        Description: The ID of the instance.
        Value:
          Fn::GetAtt:
          - MultiZoneCluster
          - ClusterId
      ServiceConnAddrs:
        Description: LIST of ServiceConnAddr.
        Value:
          Fn::GetAtt:
          - MultiZoneCluster
          - ServiceConnAddrs
      SlbConnAddrs:
        Description: LIST of SlbConnAddr.
        Value:
          Fn::GetAtt:
          - MultiZoneCluster
          - SlbConnAddrs
      ThriftConn:
        Description: Thrift Connection address list.
        Value:
          Fn::GetAtt:
          - MultiZoneCluster
          - ThriftConn
      UiProxyConnAddrInfo:
        Description: WebUI connection information list.
        Value:
          Fn::GetAtt:
          - MultiZoneCluster
          - UiProxyConnAddrInfo
      ZkConnAddrs:
        Description: List of ZkConnAddr.
        Value:
          Fn::GetAtt:
          - MultiZoneCluster
          - ZkConnAddrs
                            
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "StandbyZoneId": {
          "Type": "String",
          "Description": {
            "en": "Standby zone id."
          },
          "Required": true
        },
        "ResourceGroupId": {
          "AssociationProperty": "ALIYUN::ECS::ResourceGroup::ResourceGroupId",
          "Type": "String",
          "Description": {
            "en": "The ID of the resource group. You can query the group ID in the resource group console.\nIf you leave this parameter empty, the instance is allocated to the default resource\ngroup."
          },
          "Required": false
        },
        "MasterInstanceType": {
          "Type": "String",
          "Description": {
            "en": "The instance type of the master node. You can call the DescribeAvailableResource operation to obtain the value of this parameter."
          },
          "Required": false
        },
        "LogDiskSize": {
          "Type": "Number",
          "Description": {
            "en": "log disk size. The value ranges from 400 GB to 64,000 GB. The step size is 40 GB."
          },
          "Required": true
        },
        "StandbyVSwitchId": {
          "Type": "String",
          "Description": {
            "en": "The virtual switch ID of the standby availability zone instance must be in the corresponding availability zone of StandbyZoneId."
          },
          "Required": true
        },
        "SecurityIPList": {
          "Type": "String",
          "Description": {
            "en": "The IP addresses in the whitelist. Example: 192.168.*.*/24. The 0.0.0.0/0 value cannot\nbe added to the whitelist. Separate multiple IP addresses with commas (,)."
          },
          "Required": false
        },
        "CoreInstanceType": {
          "Type": "String",
          "Description": {
            "en": "You can call the DescribeAvailableResource operation to obtain the value of this parameter."
          },
          "Required": true
        },
        "ClusterName": {
          "Type": "String",
          "Description": {
            "en": "The name of the instance.\nThe name must be 2 to 128 characters in length, and can contain letters, digits, periods\n(.), underscores (_), and hyphens (-). It must start with a letter."
          },
          "AllowedPattern": "^[a-zA-Z0-9_-]{2,30}$",
          "Required": false
        },
        "Engine": {
          "Type": "String",
          "Description": {
            "en": "Service type. Currently, only HBase enhanced version is supported. The value can be hbaseue."
          },
          "AllowedValues": [
            "hbaseue"
          ],
          "Required": true
        },
        "ArbiterZoneId": {
          "Type": "String",
          "Description": {
            "en": "Arbiter zond id."
          },
          "Required": true
        },
        "AutoRenewPeriod": {
          "Type": "Number",
          "Description": {
            "en": "The auto-renewal period. Unit: month.\nThe default value of this parameter is 0. This value indicates that auto-renewal is\ndisabled.\nIf this parameter is set to 2, the instance is automatically renewed for a two-month\nsubscription after the instance expires."
          },
          "Required": false
        },
        "PrimaryZoneId": {
          "Type": "String",
          "Description": {
            "en": "Availability zone ID of the primary availability zone instance."
          },
          "Required": true
        },
        "EngineVersion": {
          "Type": "String",
          "Description": {
            "en": "The version of the engine. Valid values:\nhbaseue:2.0"
          },
          "AllowedValues": [
            "2.0"
          ],
          "Required": true
        },
        "MultiZoneCombination": {
          "Type": "String",
          "Description": {
            "en": "Availability zone combination."
          },
          "Required": true
        },
        "CoreNodeCount": {
          "Type": "Number",
          "Description": {
            "en": "Number of Core nodes. The value of the number of Core nodes ranges from 2 to 20, and the increment is a multiple of 2."
          },
          "Required": true
        },
        "ArchVersion": {
          "Type": "String",
          "Description": {
            "en": "Version of the deployment architecture. Currently, only the hbaseue engine type is supported. The value can be 2.0."
          },
          "AllowedValues": [
            "2.0"
          ],
          "Required": true
        },
        "Period": {
          "AssociationProperty": "PayPeriod",
          "Type": "Number",
          "Description": {
            "en": "The subscription period.\nThis parameter only takes effect when the PayType parameter is set to Prepaid.\nWhen the PeriodUnit parameter is set to year, the value of the Period parameter ranges\nfrom 1 to 5.\nWhen the PeriodUnit parameter is set to month, the value of the Period parameter ranges\nfrom 1 to 9."
          },
          "Required": false
        },
        "LogInstanceType": {
          "Type": "String",
          "Description": {
            "en": "Log instance type."
          },
          "Required": true
        },
        "PayType": {
          "Type": "String",
          "Description": {
            "en": "The billing method.\nPrepaid: The subscription billing method is used.\nPostpaid: The pay-as-you-go billing method is used."
          },
          "AllowedValues": [
            "PayAsYouGo",
            "Subscription"
          ],
          "Required": true
        },
        "PrimaryVSwitchId": {
          "Type": "String",
          "Description": {
            "en": "The virtual switch ID of the instance in primary availability zone must be in the availability zone corresponding to PrimaryZoneId."
          },
          "Required": true
        },
        "ArbiterVSwitchId": {
          "Type": "String",
          "Description": {
            "en": "Arbitration virtual switch ID. The switch must be in the availability zone corresponding to ArbiterZoneId."
          },
          "Required": true
        },
        "VpcId": {
          "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
          "Type": "String",
          "Description": {
            "en": "The ID of the virtual private cloud (VPC). If you leave this parameter and the VSwitchId\nparameter empty, the classic network type is used. The VPC network type is preferred."
          },
          "Required": false
        },
        "CoreDiskType": {
          "Type": "String",
          "Description": {
            "en": "Core node disk type. Valid values:\ncloud_efficiency\ncloud_ssd\nlocal_hdd_pro\nlocal_ssd_pro"
          },
          "Required": true
        },
        "LogNodeCount": {
          "Type": "Number",
          "Description": {
            "en": "Log number of nodes. The value of log nodes ranges from 4 to 400 and is a multiple of 4."
          },
          "Required": true
        },
        "LogDiskType": {
          "Type": "String",
          "Description": {
            "en": "Log node disk type. Valid values:\ncloud_efficiency\ncloud_ssd\nlocal_hdd_pro\nlocal_ssd_pro"
          },
          "Required": true
        },
        "CoreDiskSize": {
          "Type": "Number",
          "Description": {
            "en": "The value ranges from 400 GB to 64,000 GB. The step size is 40 GB."
          },
          "Required": true
        },
        "PeriodUnit": {
          "AssociationProperty": "PayPeriodUnit",
          "Type": "String",
          "Description": {
            "en": "The unit of the subscription period. Valid values:\nyear\nmonth"
          },
          "AllowedValues": [
            "Month",
            "Year",
            "month",
            "year"
          ],
          "Required": false
        }
      },
      "Resources": {
        "MultiZoneCluster": {
          "Type": "ALIYUN::HBase::MultiZoneCluster",
          "Properties": {
            "StandbyZoneId": {
              "Ref": "StandbyZoneId"
            },
            "ResourceGroupId": {
              "Ref": "ResourceGroupId"
            },
            "MasterInstanceType": {
              "Ref": "MasterInstanceType"
            },
            "LogDiskSize": {
              "Ref": "LogDiskSize"
            },
            "StandbyVSwitchId": {
              "Ref": "StandbyVSwitchId"
            },
            "SecurityIPList": {
              "Ref": "SecurityIPList"
            },
            "CoreInstanceType": {
              "Ref": "CoreInstanceType"
            },
            "ClusterName": {
              "Ref": "ClusterName"
            },
            "Engine": {
              "Ref": "Engine"
            },
            "ArbiterZoneId": {
              "Ref": "ArbiterZoneId"
            },
            "AutoRenewPeriod": {
              "Ref": "AutoRenewPeriod"
            },
            "PrimaryZoneId": {
              "Ref": "PrimaryZoneId"
            },
            "EngineVersion": {
              "Ref": "EngineVersion"
            },
            "MultiZoneCombination": {
              "Ref": "MultiZoneCombination"
            },
            "CoreNodeCount": {
              "Ref": "CoreNodeCount"
            },
            "ArchVersion": {
              "Ref": "ArchVersion"
            },
            "Period": {
              "Ref": "Period"
            },
            "LogInstanceType": {
              "Ref": "LogInstanceType"
            },
            "PayType": {
              "Ref": "PayType"
            },
            "PrimaryVSwitchId": {
              "Ref": "PrimaryVSwitchId"
            },
            "ArbiterVSwitchId": {
              "Ref": "ArbiterVSwitchId"
            },
            "VpcId": {
              "Ref": "VpcId"
            },
            "CoreDiskType": {
              "Ref": "CoreDiskType"
            },
            "LogNodeCount": {
              "Ref": "LogNodeCount"
            },
            "LogDiskType": {
              "Ref": "LogDiskType"
            },
            "CoreDiskSize": {
              "Ref": "CoreDiskSize"
            },
            "PeriodUnit": {
              "Ref": "PeriodUnit"
            }
          }
        }
      },
      "Outputs": {
        "UiProxyConnAddrInfo": {
          "Description": "WebUI connection information list.",
          "Value": {
            "Fn::GetAtt": [
              "MultiZoneCluster",
              "UiProxyConnAddrInfo"
            ]
          }
        },
        "ClusterId": {
          "Description": "The ID of the instance.",
          "Value": {
            "Fn::GetAtt": [
              "MultiZoneCluster",
              "ClusterId"
            ]
          }
        },
        "ServiceConnAddrs": {
          "Description": "LIST of ServiceConnAddr.",
          "Value": {
            "Fn::GetAtt": [
              "MultiZoneCluster",
              "ServiceConnAddrs"
            ]
          }
        },
        "ThriftConn": {
          "Description": "Thrift Connection address list.",
          "Value": {
            "Fn::GetAtt": [
              "MultiZoneCluster",
              "ThriftConn"
            ]
          }
        },
        "SlbConnAddrs": {
          "Description": "LIST of SlbConnAddr.",
          "Value": {
            "Fn::GetAtt": [
              "MultiZoneCluster",
              "SlbConnAddrs"
            ]
          }
        },
        "ZkConnAddrs": {
          "Description": "List of ZkConnAddr.",
          "Value": {
            "Fn::GetAtt": [
              "MultiZoneCluster",
              "ZkConnAddrs"
            ]
          }
        }
      }
    }