ALIYUN::EMR::Cluster は、E-MapReduce (EMR) クラスタを作成するために使用されます。
ALIYUN::EMR::Cluster は、以前のバージョンの EMR API をサポートしており、HADOOP、KAFKA、DRUID、ZOOKEEPER、DATA_SCIENCE、および GATEWAY タイプのクラスタで使用できます。 ALIYUN::EMR::Cluster2 は、新しいバージョン (2021-03-20) の EMR API をサポートしており、DATALAKE、OLAP、DATAFLOW、および DATASERVING タイプのクラスタで使用できます。 ALIYUN::EMR::Cluster2 を使用してこれらのタイプのクラスタを作成することをお勧めします。
構文
{
"Type": "ALIYUN::EMR::Cluster",
"Properties": {
"SshEnable": Boolean, // SSH を有効にするかどうか
"EasEnable": Boolean, // クラスタが高セキュリティクラスタかどうか
"WhiteListType": String, // ホワイトリストのタイプ
"InitCustomHiveMetaDB": Boolean, // 予約済みプロパティ。このプロパティを指定する必要はありません。
"IoOptimized": Boolean, // I/O 最適化を有効にするかどうか
"HostGroup": List, // クラスタ内のノードグループ
"Config": List, // カスタム設定項目の詳細
"KeyPairName": String, // キーペアの名前
"VpcId": String, // 仮想プライベートクラウド (VPC) の ID
"AutoRenew": Boolean, // サブスクリプションクラスタの自動更新を有効にするかどうか
"RelatedClusterId": String, // ゲートウェイクラスタに関連付けられている EMR クラスタの ID
"BootstrapAction": List, // クラスタに構成するブートストラップアクションの詳細
"InstanceGeneration": String, // Elastic Compute Service (ECS) インスタンスファミリ
"DepositType": String, // クラスタのホスティングタイプ
"VSwitchId": String, // vSwitch の ID
"NetType": String, // ネットワークのタイプ
"UserDefinedEmrEcsRole": String, // ECS から Object Storage Service (OSS) などの他の Alibaba Cloud サービスへの内部アクセスを許可する ECS アプリケーションロール
"Name": String, // クラスタの名前
"ClusterType": String, // クラスタのタイプ
"ZoneId": String, // ゾーンの ID
"IsOpenPublicIp": Boolean, // パブリック IP アドレスを使用するかどうか
"OptionSoftWareList": List, // 利用可能なソフトウェアのリスト
"Configurations": String, // 予約済みプロパティ。このプロパティを指定する必要はありません。
"MasterPwd": String, // マスターノードにアクセスするために使用される SSH パスワード
"MachineType": String, // ノードのタイプ
"EmrVer": String, // EMR のバージョン
"SecurityGroupName": String, // セキュリティグループの名前
"MetaStoreConf": String, // メタデータの構成
"SecurityGroupId": String, // セキュリティグループの ID
"LogPath": String, // EMR ログを保存する OSS パス
"Period": Integer, // クラスタのサブスクリプション期間
"HighAvailabilityEnable": Boolean, // クラスタの高可用性を有効にするかどうか
"UseCustomHiveMetaDB": Boolean, // 予約済みプロパティ。このプロパティを指定する必要はありません。
"UserInfo": List, // Knox アカウントの情報
"ChargeType": String, // クラスタの課金方法
"MetaStoreType": String, // メタデータのタイプ
"AuthorizeContent": String, // 予約済みプロパティ。このプロパティを指定する必要はありません。
"UseLocalMetaDb": Boolean, // クラスタの組み込み MySQL データベースを Hive メタデータベースとして使用するかどか
"ClickHouseConf": Map, // ApsaraDB for ClickHouse クラスタの構成
"ResourceGroupId": String, // リソースグループの ID
"Tags": List // クラスタに追加するタグ
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
SshEnable | ブール値 | いいえ | いいえ | SSH を有効にするかどうかを指定します。 | 有効な値:
|
EasEnable | ブール値 | いいえ | いいえ | クラスターが高セキュリティクラスターであるかどうかを指定します。 | 有効な値:
|
ホワイトリストの種類 | 文字列 | いいえ | いいえ | ホワイトリストの種別。 | 有効な値:
|
InitCustomHiveMetaDB | ブール値 | いいえ | いいえ | 予約済みのプロパティです。このプロパティを指定する必要はありません。 | なし。 |
I/O 最適化 | ブール値 | いいえ | いいえ | I/O 最適化を有効にするかどうかを指定します。 | 有効な値:
|
HostGroup | リスト | はい | いいえ | クラスタ内のノードグループ。 | 詳細については、「HostGroup プロパティ」をご参照ください。 |
構成 | リスト | いいえ | いいえ | カスタム構成項目の詳細。 | 詳細については、「構成プロパティ」をご参照ください。 |
KeyPairName | String | いいえ | いいえ | キーペアの名前。 | なし。 |
VpcId | 文字列 | いいえ | いいえ | 仮想プライベートクラウド (VPC) の ID です。 | なし。 |
自動更新 | ブール値 | いいえ | いいえ | サブスクリプション クラスターの自動更新を有効にするかどうかを指定します。 | 有効な値:
|
RelatedClusterId | String | いいえ | いいえ | ゲートウェイクラスタに関連付けられている EMR クラスタの ID です。 | このプロパティは、ClusterType が GATEWAY に設定されている場合に有効になります。 |
BootstrapAction | リスト | いいえ | いいえ | クラスターに構成するブートストラップ操作の詳細。 | 詳細については、「BootstrapAction プロパティ」をご参照ください。 |
InstanceGeneration | String | いいえ | いいえ | Elastic Compute Service (ECS) インスタンスファミリー。 | なし。 |
VSwitchId | String | いいえ | いいえ | vSwitch の ID。 | なし。 |
NetType | String | はい | いいえ | ネットワークのタイプ。 | 値を VPC に設定します。 |
UserDefinedEmrEcsRole | String | いいえ | いいえ | Object Storage Service (OSS) などの他の Alibaba Cloud サービスへの ECS からの内部アクセスを許可する ECS アプリケーションロールです。 | なし。 |
名前 | 文字列 | はい | はい | クラスターの名前。 | 名前は 1 ~ 64 文字で、英字、数字、ハイフン(-)、およびアンダースコア(_)を含めることができます。 |
クラスタタイプ | 文字列 | はい | いいえ | クラスタのタイプ。 | 有効な値:
|
ゾーン ID | 文字列 | はい | いいえ | ゾーンの ID です。 | なし。 |
IsOpenPublicIp | ブール値 | いいえ | いいえ | パブリック IP アドレスを使用するかどうかを指定します。 | 有効な値:
|
OptionSoftWareList | リスト | いいえ | いいえ | 利用可能なソフトウェアのリスト。 | なし。 |
構成 | 文字列 | いいえ | いいえ | 予約済みのプロパティです。このプロパティを指定する必要はありません。 | なし。 |
MasterPwd | 文字列 | いいえ | いいえ | マスターノードへのアクセスに使用する SSH パスワード。 | パスワードは 8 ~ 30 文字である必要があります。 パスワードには、大文字、小文字、数字、特殊文字のうち、少なくとも 3 種類の文字を含める必要があります。 |
MachineType | String | いいえ | いいえ | ノードのタイプ。 | なし。 |
EmrVer | String | はい | いいえ | EMR のバージョン。 | なし。 |
SecurityGroupName | String | いいえ | いいえ | セキュリティグループの名前。 | SecurityGroupId を指定しない場合、システムは SecurityGroupName の値に基づいて新しいセキュリティグループを作成します。 クラスタの作成後、クラスタの詳細ページでセキュリティグループの ID をクエリできます。 デフォルトのセキュリティグループポリシーがセキュリティグループに適用されます。 デフォルトのポリシーでは、ポート 22 でのインバウンドトラフィックのみ、およびすべてのポートでのアウトバウンドトラフィックが許可されます。 |
DepositType | String | いいえ | いいえ | クラスタのホスティングタイプ。 | なし。 |
SecurityGroupId | String | いいえ | いいえ | セキュリティグループの ID です。 | 既存のセキュリティグループを使用する場合、デフォルトのセキュリティグループポリシーがセキュリティグループに適用されます。 デフォルトのポリシーでは、ポート 22 でのインバウンドトラフィックのみと、すべてのポートでのアウトバウンドトラフィックが許可されます。 |
LogPath | String | いいえ | いいえ | EMR ログを保存する OSS パス。 | なし。 |
期間 | 整数 | いいえ | いいえ | クラスターのサブスクリプション期間。 | ChargeType が PrePaid に設定されている場合は、このプロパティを指定する必要があります。 有効な値:1、2、3、4、5、6、7、8、9、12、24、および 36。 単位:月。 |
HighAvailabilityEnable | ブール値 | いいえ | いいえ | クラスターの高可用性を有効にするかどうかを指定します。 | 有効な値:
|
UseCustomHiveMetaDB | ブール値 | いいえ | いいえ | 予約済みのプロパティです。このプロパティを指定する必要はありません。 | なし。 |
ユーザー情報 | リスト | いいえ | いいえ | Knox アカウントに関する情報。 | 詳細については、「UserInfo プロパティ」をご参照ください。 |
ChargeType | String | はい | いいえ | クラスターの課金方法。 | 有効な値:
|
AuthorizeContent | String | いいえ | いいえ | 予約済みのプロパティです。このプロパティを指定する必要はありません。 | なし。 |
UseLocalMetaDb | ブール値 | はい | いいえ | クラスターの組み込み MySQL データベースを Hive メタデータベースとして使用するかどうかを指定します。 | 有効な値:
|
MetaStoreConf | 文字列 | いいえ | いいえ | メタデータ構成。 | このプロパティは、MetaStoreType が user_rds に設定されている場合に指定する必要があります。 MetaStoreConf は、次のフォーマットで指定します: |
MetaStore の種類 | 文字列 | いいえ | いいえ | メタデータのタイプ。 | 有効な値:
|
ClickHouseConf | マップ | いいえ | いいえ | ApsaraDB for ClickHouse クラスターの構成。 | なし。 |
リソースグループ ID | 文字列 | いいえ | はい | リソースグループの ID です。 | なし。 |
タグ | リスト | いいえ | はい | クラスターに追加するタグ。 | 詳細については、「タグのプロパティ」をご参照ください。 |
タグの構文
"Tags": [
{
"Value": String, // 値
"Key": String // キー
}
]タグのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
キー | 文字列 | はい | いいえ | タグのキー。 | タグキーは 1 ~ 128 文字でなければならず、
|
値 | 文字列 | いいえ | いいえ | タグの値。 | タグ値は最大 128 文字で、
|
HostGroup 構文
"HostGroup": [
{
"Comment": String, // コメント
"SysDiskType": String, // システムディスクの種類
"DiskCapacity": Integer, // ディスク容量
"NodeCount": Integer, // ノード数
"ClusterId": String, // クラスタ ID
"DiskCount": Integer, // ディスク数
"CreateType": String, // 作成タイプ
"DiskType": String, // ディスクの種類
"AutoRenew": Boolean, // 自動更新
"HostGroupType": String, // ホストグループの種類
"SysDiskCapacity": Integer, // システムディスク容量
"VSwitchId": String, // 仮想スイッチ ID
"ChargeType": String, // 課金タイプ
"Period": Integer, // 期間
"HostKeyPairName": String, // ホストキーペア名
"HostPassword": String, // ホストパスワード
"HostGroupId": String, // ホストグループ ID
"InstanceType": String, // インスタンスタイプ
"GpuDriver": String, // GPU ドライバ
"HostGroupName": String // ホストグループ名
}
]HostGroup プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Comment | String | いいえ | いいえ | 予約済みプロパティです。このプロパティを指定する必要はありません。 | なし。 |
SysDiskType | String | はい | いいえ | ノードグループのシステムディスクカテゴリ。 | 有効な値:
|
DiskCapacity | Integer | はい | いいえ | ノードグループのデータディスク容量。 | 単位:GB。 |
NodeCount | Integer | はい | いいえ | ノードグループのノード数。 | なし。 |
ClusterId | String | いいえ | いいえ | 予約済みプロパティです。このプロパティを指定する必要はありません。 | なし。 |
DiskCount | Integer | はい | いいえ | ノードグループにアタッチするデータディスクの数。 | なし。 |
CreateType | String | いいえ | いいえ | ノードグループが作成されるモード。 | 有効な値:
|
DiskType | String | はい | いいえ | ノードグループのデータディスクカテゴリ。 | 有効な値:
|
AutoRenew | Boolean | いいえ | いいえ | サブスクリプションクラスターの自動更新を有効にするかどうかを指定します。 | 有効な値:
|
HostGroupType | String | はい | いいえ | ノードグループのタイプ。 | 有効な値:
|
SysDiskCapacity | Integer | はい | いいえ | ノードグループのシステムディスク容量。 | 単位:GB。 |
VSwitchId | String | いいえ | いいえ | vSwitch の ID。 | なし。 |
ChargeType | String | はい | いいえ | 課金方法。 | 有効な値:
|
Period | Integer | いいえ | いいえ | サブスクリプション期間。 | ChargeType が PrePaid に設定されている場合は、このプロパティを指定する必要があります。 有効な値: 1、2、3、4、5、6、7、8、9、12、24、および 36。 単位:月。 |
HostKeyPairName | String | いいえ | いいえ | ノードグループへのアクセスに使用されるキーペアの名前。 | このプロパティは、ClusterType が GATEWAY に設定されている場合に有効になります。 |
HostPassword | String | いいえ | いいえ | ノードへのアクセスに使用されるパスワード。 | このプロパティは、ClusterType が GATEWAY に設定されている場合に有効になります。 |
HostGroupId | String | いいえ | いいえ | 予約済みプロパティです。このプロパティを指定する必要はありません。 | なし。 |
InstanceType | String | はい | いいえ | インスタンスタイプ。 | なし。 |
GpuDriver | String | いいえ | いいえ | GPU ドライバー。 | なし。 |
HostGroupName | String | いいえ | いいえ | ノードグループの名前。 | なし。 |
構成構文
"Config": [
{
"Encrypt": String, // 暗号化
"ConfigKey": String, // 構成キー
"FileName": String, // ファイル名
"ServiceName": String, // サービス名
"Replace": String, // 置換
"ConfigValue": String // 構成値
}
]構成プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Encrypt | String | いいえ | いいえ | 予約済みのプロパティです。このプロパティを指定する必要はありません。 | なし。 |
ConfigKey | String | いいえ | いいえ | カスタム設定項目の名前。 | なし。 |
FileName | String | いいえ | いいえ | カスタム設定項目を含むファイルの名前。 | なし。 |
ServiceName | String | いいえ | いいえ | カスタム設定項目が属するサービスの名前。 | なし。 |
Replace | String | いいえ | いいえ | 予約済みのプロパティです。このプロパティを指定する必要はありません。 | なし。 |
ConfigValue | String | いいえ | いいえ | カスタム設定項目の値。 | なし。 |
BootstrapAction 構文
"BootstrapAction": [
{
"Path": String, // パス
"Name": String, // 名前
"Arg": String // 引数
}
]BootstrapAction のプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
パス | String | いいえ | いいえ | Bootstrap Action スクリプトを保存する OSS パス。 | なし。 |
名前 | String | いいえ | いいえ | Bootstrap Action の名前。 | なし。 |
引数 | String | いいえ | いいえ | Bootstrap Action のパラメーター。 | なし。 |
UserInfo 構文
"UserInfo": [
{
"UserName": String, // ユーザー名
"Password": String, // パスワード
"UserId": String // ユーザーID
}
]UserInfo プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
UserName | String | いいえ | いいえ | Knox アカウントのユーザー名。 | なし。 |
Password | String | いいえ | いいえ | Knox アカウントのパスワード。 | なし。 |
UserId | String | いいえ | いいえ | Knox アカウントの RAM ユーザー ID。 | なし。 |
戻り値
Fn::GetAtt
ClusterId: クラスタの ID。
HostGroups: クラスタ内のノードグループ。
MasterNodePubIps: クラスタ内のマスターノードのパブリック IP アドレス。
MasterNodeInnerIps: クラスタ内のマスターノードのプライベート IP アドレス。
Arn: Alibaba Cloud リソースネーム (ARN)。
例
ROSTemplateFormatVersion: '2015-09-01'
Description: Test EMR Cluster # テスト EMR クラスタ
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Label:
en: Existing VPC Instance ID # 既存の VPC インスタンス ID
ZoneId:
AssociationProperty: ALIYUN::ECS::ZoneId
Type: String
Label:
en: VSwitch Zone ID # VSwitch ゾーン ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Label:
en: VSwitch ID # VSwitch ID
SecurityGroupId:
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Type: String
Description:
Label:
en: Business Security Group ID # ビジネスセキュリティグループ ID
ClusterDiskType:
Type: String
Default: CLOUD_SSD
Resources:
EmrCluster:
Type: ALIYUN::EMR::Cluster
Properties:
UseLocalMetaDb: false
IoOptimized: true
ZoneId:
Ref: ZoneId
VSwitchId:
Ref: VSwitchId
SecurityGroupId:
Ref: SecurityGroupId
HostGroup:
- DiskType: CLOUD_SSD
HostGroupType: MASTER
DiskCount: 1
DiskCapacity: 80
NodeCount: 1
SysDiskType: CLOUD_SSD
ChargeType: PostPaid
VSwitchId:
Ref: VSwitchId
AutoRenew: false
Period: 1
SysDiskCapacity: 120
InstanceType: ecs.g5.xlarge
- DiskType: CLOUD_SSD
HostGroupType: CORE
DiskCount: 4
DiskCapacity: 80
NodeCount: 2
SysDiskType: CLOUD_SSD
ChargeType: PostPaid
VSwitchId:
Ref: VSwitchId
AutoRenew: false
Period: 1
SysDiskCapacity: 120
InstanceType: ecs.g5.xlarge
EmrVer: EMR-3.22.4
ClusterType: HADOOP
Name:
Fn::Join:
- '-'
- - StackId
- Ref: ALIYUN::StackId
MasterPwd: Admin123!
VpcId:
Ref: VpcId
ChargeType: PostPaid
NetType: vpc
Outputs:
ClusterId:
Description: The ID of the cluster. # クラスタの ID
Value:
Fn::GetAtt:
- EmrCluster
- ClusterId{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test EMR Cluster", // テスト EMR クラスタ
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Label": {
"en": "Existing VPC Instance ID" // 既存の VPC インスタンス ID
}
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::ZoneId",
"Type": "String",
"Label": {
"en": "VSwitch Zone ID" // VSwitch ゾーン ID
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Label": {
"en": "VSwitch ID" // VSwitch ID
}
},
"SecurityGroupId": {
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
},
"Type": "String",
"Description": {
"Label": {
"en": "Business Security Group ID" // ビジネスセキュリティグループ ID
}
},
"ClusterDiskType": {
"Type": "String",
"Default": "CLOUD_SSD"
}
}
},
"Resources": {
"EmrCluster": {
"Type": "ALIYUN::EMR::Cluster",
"Properties": {
"UseLocalMetaDb": false,
"IoOptimized": true,
"ZoneId": {
"Ref": "ZoneId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"SecurityGroupId": {
"Ref": "SecurityGroupId"
},
"HostGroup": [
{
"DiskType": "CLOUD_SSD",
"HostGroupType": "MASTER",
"DiskCount": 1,
"DiskCapacity": 80,
"NodeCount": 1,
"SysDiskType": "CLOUD_SSD",
"ChargeType": "PostPaid",
"VSwitchId": {
"Ref": "VSwitchId"
},
"AutoRenew": false,
"Period": 1,
"SysDiskCapacity": 120,
"InstanceType": "ecs.g5.xlarge"
},
{
"DiskType": "CLOUD_SSD",
"HostGroupType": "CORE",
"DiskCount": 4,
"DiskCapacity": 80,
"NodeCount": 2,
"SysDiskType": "CLOUD_SSD",
"ChargeType": "PostPaid",
"VSwitchId": {
"Ref": "VSwitchId"
},
"AutoRenew": false,
"Period": 1,
"SysDiskCapacity": 120,
"InstanceType": "ecs.g5.xlarge"
}
],
"EmrVer": "EMR-3.22.4",
"ClusterType": "HADOOP",
"Name": {
"Fn::Join": [
"-",
[
"StackId",
{
"Ref": "ALIYUN::StackId"
}
]
]
},
"MasterPwd": "Admin123!",
"VpcId": {
"Ref": "VpcId"
},
"ChargeType": "PostPaid",
"NetType": "vpc"
}
}
},
"Outputs": {
"ClusterId": {
"Description": "The ID of the cluster.", // クラスタの ID
"Value": {
"Fn::GetAtt": [
"EmrCluster",
"ClusterId"
]
}
}
}
}