ALIYUN::EMR::Cluster digunakan untuk membuat klaster E-MapReduce (EMR).
ALIYUN::EMR::Cluster mendukung API EMR versi sebelumnya dan tersedia untuk klaster tipe HADOOP, KAFKA, DRUID, ZOOKEEPER, DATA_SCIENCE, dan GATEWAY. ALIYUN::EMR::Cluster2 mendukung API EMR versi baru (2021-03-20) dan tersedia untuk klaster tipe DATALAKE, OLAP, DATAFLOW, dan DATASERVING. Kami merekomendasikan Anda menggunakan ALIYUN::EMR::Cluster2 untuk membuat klaster dari tipe-tipe ini.
Sintaksis
{
"Type": "ALIYUN::EMR::Cluster",
"Properties": {
"SshEnable": Boolean,
"EasEnable": Boolean,
"WhiteListType": String,
"InitCustomHiveMetaDB": Boolean,
"IoOptimized": Boolean,
"HostGroup": List,
"Config": List,
"KeyPairName": String,
"VpcId": String,
"AutoRenew": Boolean,
"RelatedClusterId": String,
"BootstrapAction": List,
"InstanceGeneration": String,
"DepositType": String,
"VSwitchId": String,
"NetType": String,
"UserDefinedEmrEcsRole": String,
"Name": String,
"ClusterType": String,
"ZoneId": String,
"IsOpenPublicIp": Boolean,
"OptionSoftWareList": List,
"Configurations": String,
"MasterPwd": String,
"MachineType": String,
"EmrVer": String,
"SecurityGroupName": String,
"MetaStoreConf": String,
"SecurityGroupId": String,
"LogPath": String,
"Period": Integer,
"HighAvailabilityEnable": Boolean,
"UseCustomHiveMetaDB": Boolean,
"UserInfo": List,
"ChargeType": String,
"MetaStoreType": String,
"AuthorizeContent": String,
"UseLocalMetaDb": Boolean,
"ClickHouseConf": Map,
"ResourceGroupId": String,
"Tags": List
}
}Properti
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
SshEnable | Boolean | Tidak | Tidak | Menentukan apakah akan mengaktifkan SSH. | Nilai yang valid:
|
EasEnable | Boolean | Tidak | Tidak | Menentukan apakah klaster merupakan klaster dengan keamanan tinggi. | Nilai yang valid:
|
WhiteListType | String | Tidak | Tidak | Jenis daftar putih. | Nilai yang valid:
|
InitCustomHiveMetaDB | Boolean | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
IoOptimized | Boolean | Tidak | Tidak | Menentukan apakah akan mengaktifkan optimasi I/O. | Nilai yang valid:
|
HostGroup | List | Ya | Tidak | Grup node dalam klaster. | Untuk informasi lebih lanjut, lihat properti HostGroup. |
Config | List | Tidak | Tidak | Rincian item konfigurasi kustom. | Untuk informasi lebih lanjut, lihat properti Config. |
KeyPairName | String | Tidak | Tidak | Nama pasangan kunci. | Tidak ada. |
VpcId | String | Tidak | Tidak | ID dari virtual private cloud (VPC). | Tidak ada. |
AutoRenew | Boolean | Tidak | Tidak | Menentukan apakah akan mengaktifkan perpanjangan otomatis untuk klaster langganan. | Nilai yang valid:
|
RelatedClusterId | String | Tidak | Tidak | ID klaster EMR yang terkait dengan klaster gateway. | Properti ini berlaku ketika ClusterType diatur ke GATEWAY. |
BootstrapAction | List | Tidak | Tidak | Rincian tindakan bootstrap yang ingin Anda konfigurasikan untuk klaster. | Untuk informasi lebih lanjut, lihat properti BootstrapAction. |
InstanceGeneration | String | Tidak | Tidak | Keluarga instance Elastic Compute Service (ECS). | Tidak ada. |
VSwitchId | String | Tidak | Tidak | ID vSwitch. | Tidak ada. |
NetType | String | Ya | Tidak | Jenis jaringan. | Atur nilainya ke VPC. |
UserDefinedEmrEcsRole | String | Tidak | Tidak | Peran aplikasi ECS yang memungkinkan akses internal dari ECS ke layanan Alibaba Cloud lainnya, seperti Object Storage Service (OSS). | Tidak ada. |
Name | String | Ya | Ya | Nama klaster. | Nama harus memiliki panjang 1 hingga 64 karakter, dan dapat berisi huruf, angka, tanda hubung (-), dan garis bawah (_). |
ClusterType | String | Ya | Tidak | Jenis klaster. | Nilai yang valid:
|
ZoneId | String | Ya | Tidak | ID zona. | Tidak ada. |
IsOpenPublicIp | Boolean | Tidak | Tidak | Menentukan apakah akan menggunakan alamat IP publik. | Nilai yang valid:
|
OptionSoftWareList | List | Tidak | Tidak | Daftar perangkat lunak yang tersedia. | Tidak ada. |
Configurations | String | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
MasterPwd | String | Tidak | Tidak | Password SSH yang digunakan untuk mengakses node master. | Password harus memiliki panjang 8 hingga 30 karakter. Password harus berisi setidaknya tiga dari jenis karakter berikut: huruf besar, huruf kecil, angka, dan karakter khusus. |
MachineType | String | Tidak | Tidak | Jenis node. | Tidak ada. |
EmrVer | String | Ya | Tidak | Versi EMR. | Tidak ada. |
SecurityGroupName | String | Tidak | Tidak | Nama grup keamanan. | Jika Anda tidak menentukan SecurityGroupId, sistem akan membuat grup keamanan baru berdasarkan nilai SecurityGroupName. Setelah klaster dibuat, Anda dapat memeriksa ID grup keamanan pada halaman detail klaster. Kebijakan grup keamanan default diterapkan pada grup keamanan. Kebijakan default hanya mengizinkan lalu lintas masuk pada port 22 dan lalu lintas keluar pada semua port. |
DepositType | String | Tidak | Tidak | Jenis hosting klaster. | Tidak ada. |
SecurityGroupId | String | Tidak | Tidak | ID grup keamanan. | Jika Anda ingin menggunakan grup keamanan yang sudah ada, kebijakan grup keamanan default diterapkan pada grup keamanan. Kebijakan default hanya mengizinkan lalu lintas masuk pada port 22 dan lalu lintas keluar pada semua port. |
LogPath | String | Tidak | Tidak | Jalur OSS tempat Anda ingin menyimpan log EMR. | Tidak ada. |
Period | Integer | Tidak | Tidak | Durasi langganan klaster. | Properti ini harus ditentukan ketika ChargeType diatur ke PrePaid. Nilai yang valid: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, dan 36. Satuan: bulan. |
HighAvailabilityEnable | Boolean | Tidak | Tidak | Menentukan apakah akan mengaktifkan ketersediaan tinggi untuk klaster. | Nilai yang valid:
|
UseCustomHiveMetaDB | Boolean | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
UserInfo | List | Tidak | Tidak | Informasi akun Knox. | Untuk informasi lebih lanjut, lihat properti UserInfo. |
ChargeType | String | Ya | Tidak | Metode penagihan klaster. | Nilai yang valid:
|
AuthorizeContent | String | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
UseLocalMetaDb | Boolean | Ya | Tidak | Menentukan apakah akan menggunakan database MySQL bawaan klaster sebagai metadatabase Hive. | Nilai yang valid:
|
MetaStoreConf | String | Tidak | Tidak | Konfigurasi metadata. | Properti ini harus ditentukan ketika MetaStoreType diatur ke user_rds. Tentukan MetaStoreConf dalam format berikut: |
MetaStoreType | String | Tidak | Tidak | Jenis metadata. | Nilai yang valid:
|
ClickHouseConf | Map | Tidak | Tidak | Konfigurasi klaster ApsaraDB for ClickHouse. | Tidak ada. |
ResourceGroupId | String | Tidak | Ya | ID grup sumber daya. | Tidak ada. |
Tags | List | Tidak | Ya | Tag yang ingin Anda tambahkan ke klaster. | Untuk informasi lebih lanjut, lihat properti Tags. |
Sintaksis Tags
"Tags": [
{
"Value": String,
"Key": String
}
]Properti Tags
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
Key | String | Ya | Tidak | Kunci tag. | Kunci tag harus memiliki panjang 1 hingga 128 karakter, dan tidak boleh mengandung |
Value | String | Tidak | Tidak | Nilai tag. | Nilai tag dapat memiliki panjang hingga 128 karakter, dan tidak boleh mengandung |
Sintaksis HostGroup
"HostGroup": [
{
"Comment": String,
"SysDiskType": String,
"DiskCapacity": Integer,
"NodeCount": Integer,
"ClusterId": String,
"DiskCount": Integer,
"CreateType": String,
"DiskType": String,
"AutoRenew": Boolean,
"HostGroupType": String,
"SysDiskCapacity": Integer,
"VSwitchId": String,
"ChargeType": String,
"Period": Integer,
"HostKeyPairName": String,
"HostPassword": String,
"HostGroupId": String,
"InstanceType": String,
"GpuDriver": String,
"HostGroupName": String
}
]Properti HostGroup
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
Comment | String | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
SysDiskType | String | Ya | Tidak | Kategori disk sistem grup node. | Nilai yang valid:
|
DiskCapacity | Integer | Ya | Tidak | Kapasitas disk data grup node. | Satuan: GB. |
NodeCount | Integer | Ya | Tidak | Jumlah node dalam grup node. | Tidak ada. |
ClusterId | String | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
DiskCount | Integer | Ya | Tidak | Jumlah disk data yang ingin Anda pasang pada grup node. | Tidak ada. |
CreateType | String | Tidak | Tidak | Mode berdasarkan mana grup node dibuat. | Nilai yang valid:
|
DiskType | String | Ya | Tidak | Kategori disk data grup node. | Nilai yang valid:
|
AutoRenew | Boolean | Tidak | Tidak | Menentukan apakah akan mengaktifkan perpanjangan otomatis untuk klaster langganan. | Nilai yang valid:
|
HostGroupType | String | Ya | Tidak | Jenis grup node. | Nilai yang valid:
|
SysDiskCapacity | Integer | Ya | Tidak | Kapasitas disk sistem grup node. | Satuan: GB. |
VSwitchId | String | Tidak | Tidak | ID vSwitch. | Tidak ada. |
ChargeType | String | Ya | Tidak | Metode penagihan. | Nilai yang valid:
|
Period | Integer | Tidak | Tidak | Durasi langganan. | Properti ini harus ditentukan ketika ChargeType diatur ke PrePaid. Nilai yang valid: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, dan 36. Satuan: bulan. |
HostKeyPairName | String | Tidak | Tidak | Nama pasangan kunci yang digunakan untuk mengakses grup node. | Properti ini berlaku ketika ClusterType diatur ke GATEWAY. |
HostPassword | String | Tidak | Tidak | Password yang digunakan untuk mengakses node. | Properti ini berlaku ketika ClusterType diatur ke GATEWAY. |
HostGroupId | String | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
InstanceType | String | Ya | Tidak | Tipe instance. | Tidak ada. |
GpuDriver | String | Tidak | Tidak | Driver GPU. | Tidak ada. |
HostGroupName | String | Tidak | Tidak | Nama grup node. | Tidak ada. |
Sintaksis Config
"Config": [
{
"Encrypt": String,
"ConfigKey": String,
"FileName": String,
"ServiceName": String,
"Replace": String,
"ConfigValue": String
}
]Properti Config
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
Encrypt | String | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
ConfigKey | String | Tidak | Tidak | Nama item konfigurasi kustom. | Tidak ada. |
FileName | String | Tidak | Tidak | Nama file yang berisi item konfigurasi kustom. | Tidak ada. |
ServiceName | String | Tidak | Tidak | Nama layanan tempat item konfigurasi kustom milik. | Tidak ada. |
Replace | String | Tidak | Tidak | Properti cadangan. Anda tidak perlu menentukan properti ini. | Tidak ada. |
ConfigValue | String | Tidak | Tidak | Nilai item konfigurasi kustom. | Tidak ada. |
Sintaksis BootstrapAction
"BootstrapAction": [
{
"Path": String,
"Name": String,
"Arg": String
}
]Properti BootstrapAction
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
Path | String | Tidak | Tidak | Jalur OSS tempat Anda ingin menyimpan skrip tindakan bootstrap. | Tidak ada. |
Name | String | Tidak | Tidak | Nama tindakan bootstrap. | Tidak ada. |
Arg | String | Tidak | Tidak | Parameter tindakan bootstrap. | Tidak ada. |
Sintaksis UserInfo
"UserInfo": [
{
"UserName": String,
"Password": String,
"UserId": String
}
]Properti UserInfo
Properti | Tipe | Diperlukan | Dapat Diedit | Deskripsi | Kendala |
UserName | String | Tidak | Tidak | Nama pengguna akun Knox. | Tidak ada. |
Password | String | Tidak | Tidak | Password akun Knox. | Tidak ada. |
UserId | String | Tidak | Tidak | ID pengguna RAM akun Knox. | Tidak ada. |
Nilai Kembali
Fn::GetAtt
ClusterId: ID klaster.
HostGroups: Grup node dalam klaster.
MasterNodePubIps: Alamat IP publik node master dalam klaster.
MasterNodeInnerIps: Alamat IP pribadi node master dalam klaster.
Arn: Nama Sumber Daya Alibaba Cloud (ARN).
Contoh
ROSTemplateFormatVersion: '2015-09-01'
Description: Test EMR Cluster
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Label:
en: Existing VPC Instance ID
ZoneId:
AssociationProperty: ALIYUN::ECS::ZoneId
Type: String
Label:
en: VSwitch Zone ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Label:
en: VSwitch ID
SecurityGroupId:
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Type: String
Description:
Label:
en: Business Security Group 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.
Value:
Fn::GetAtt:
- EmrCluster
- ClusterId{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test EMR Cluster",
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Label": {
"en": "Existing VPC Instance ID"
}
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::ZoneId",
"Type": "String",
"Label": {
"en": "VSwitch Zone ID"
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Label": {
"en": "VSwitch ID"
}
},
"SecurityGroupId": {
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
},
"Type": "String",
"Description": {
"Label": {
"en": "Business Security Group 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.",
"Value": {
"Fn::GetAtt": [
"EmrCluster",
"ClusterId"
]
}
}
}
}