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,
    "DeletionProtection": Boolean
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

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时,需要填写此参数。

DeletionProtection

Boolean

开启或者关闭删除保护。

取值:

  • true:开启删除保护,开启后不能直接释放该实例,需要关闭删除保护后重新释放。

  • false:关闭删除保护。

返回值

Fn::GetAtt

  • UiProxyConnAddrInfo:WebUI连接信息列表。

  • ClusterId:实例ID

  • ServiceConnAddrs:子服务地址列表。

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

  • SlbConnAddrs:Slb连接信息列表。

  • ZkConnAddrs:Zookeeper连接信息列表。

示例

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
                        
{
  "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"
        ]
      }
    }
  }
}