Mulai cepat: Membuat kluster Apache HBase di Azure HDInsight menggunakan templat ARM
Dalam mulai cepat ini, Anda menggunakan templat Azure Resource Manager (templat ARM) untuk membuat kluster Apache HBase di Azure HDInsight. HBase adalah database NoSQL sumber terbuka yang dibuat di Apache Hadoop dan dimodelkan setelah Google BigTable.
Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.
Jika lingkungan Anda telah memenuhi prasyarat dan Anda terbiasa menggunakan templat ARM, pilih tombol Sebarkan ke Azure. Templat terbuka di portal Azure.
Prasyarat
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Meninjau templat
Templat yang digunakan di mulai cepat ini berasal dari Templat Mulai Cepat Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "854691950715104244"
}
},
"parameters": {
"clusterName": {
"type": "string",
"metadata": {
"description": "The name of the HDInsight cluster to create."
}
},
"clusterLoginUserName": {
"type": "string",
"metadata": {
"description": "These credentials can be used to submit jobs to the cluster and to log into cluster dashboards."
}
},
"clusterLoginPassword": {
"type": "secureString",
"minLength": 10,
"metadata": {
"description": "The password must be at least 10 characters in length and must contain at least one digit, one upper case letter, one lower case letter, and one non-alphanumeric character except (single-quote, double-quote, backslash, right-bracket, full-stop). Also, the password must not contain 3 consecutive characters from the cluster username or SSH username."
}
},
"sshUserName": {
"type": "string",
"metadata": {
"description": "These credentials can be used to remotely access the cluster."
}
},
"sshPassword": {
"type": "secureString",
"maxLength": 72,
"minLength": 6,
"metadata": {
"description": "SSH password must be 6-72 characters long and must contain at least one digit, one upper case letter, and one lower case letter. It must not contain any 3 consecutive characters from the cluster login name"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"HeadNodeVirtualMachineSize": {
"type": "string",
"defaultValue": "Standard_E4_v3",
"allowedValues": [
"Standard_A4_v2",
"Standard_A8_v2",
"Standard_E2_v3",
"Standard_E4_v3",
"Standard_E8_v3",
"Standard_E16_v3",
"Standard_E20_v3",
"Standard_E32_v3",
"Standard_E48_v3"
],
"metadata": {
"description": "This is the headnode Azure Virtual Machine size, and will affect the cost. If you don't know, just leave the default value."
}
},
"WorkerNodeVirtualMachineSize": {
"type": "string",
"defaultValue": "Standard_E4_v3",
"allowedValues": [
"Standard_A4_v2",
"Standard_A8_v2",
"Standard_E2_v3",
"Standard_E4_v3",
"Standard_E8_v3",
"Standard_E16_v3",
"Standard_E20_v3",
"Standard_E32_v3",
"Standard_E48_v3"
],
"metadata": {
"description": "This is the worerdnode Azure Virtual Machine size, and will affect the cost. If you don't know, just leave the default value."
}
},
"ZookeeperNodeVirtualMachineSize": {
"type": "string",
"defaultValue": "Standard_E4_v3",
"allowedValues": [
"Standard_A4_v2",
"Standard_A8_v2",
"Standard_E2_v3",
"Standard_E4_v3",
"Standard_E8_v3",
"Standard_E16_v3",
"Standard_E20_v3",
"Standard_E32_v3",
"Standard_E48_v3"
],
"metadata": {
"description": "This is the Zookeepernode Azure Virtual Machine size, and will affect the cost. If you don't know, just leave the default value."
}
}
},
"variables": {
"defaultStorageAccount": {
"name": "[uniqueString(resourceGroup().id)]",
"type": "Standard_LRS"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-08-01",
"name": "[variables('defaultStorageAccount').name]",
"location": "[parameters('location')]",
"sku": {
"name": "[variables('defaultStorageAccount').type]"
},
"kind": "Storage",
"properties": {}
},
{
"type": "Microsoft.HDInsight/clusters",
"apiVersion": "2021-06-01",
"name": "[parameters('clusterName')]",
"location": "[parameters('location')]",
"properties": {
"clusterVersion": "4.0",
"osType": "Linux",
"clusterDefinition": {
"kind": "hbase",
"configurations": {
"gateway": {
"restAuthCredential.isEnabled": true,
"restAuthCredential.username": "[parameters('clusterLoginUserName')]",
"restAuthCredential.password": "[parameters('clusterLoginPassword')]"
}
}
},
"storageProfile": {
"storageaccounts": [
{
"name": "[replace(replace(reference(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2021-08-01').primaryEndpoints.blob, 'https://', ''), '/', '')]",
"isDefault": true,
"container": "[parameters('clusterName')]",
"key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2021-08-01').keys[0].value]"
}
]
},
"computeProfile": {
"roles": [
{
"name": "headnode",
"targetInstanceCount": 2,
"hardwareProfile": {
"vmSize": "[parameters('HeadNodeVirtualMachineSize')]"
},
"osProfile": {
"linuxOperatingSystemProfile": {
"username": "[parameters('sshUserName')]",
"password": "[parameters('sshPassword')]"
}
}
},
{
"name": "workernode",
"targetInstanceCount": 2,
"hardwareProfile": {
"vmSize": "[parameters('WorkerNodeVirtualMachineSize')]"
},
"osProfile": {
"linuxOperatingSystemProfile": {
"username": "[parameters('sshUserName')]",
"password": "[parameters('sshPassword')]"
}
}
},
{
"name": "zookeepernode",
"targetInstanceCount": 3,
"hardwareProfile": {
"vmSize": "[parameters('ZookeeperNodeVirtualMachineSize')]"
},
"osProfile": {
"linuxOperatingSystemProfile": {
"username": "[parameters('sshUserName')]",
"password": "[parameters('sshPassword')]"
}
}
}
]
}
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name)]"
]
}
],
"outputs": {
"cluster": {
"type": "object",
"value": "[reference(resourceId('Microsoft.HDInsight/clusters', parameters('clusterName')))]"
}
}
}
Dua sumber daya Azure yang ditentukan dalam templat:
- Microsoft.Storage/storageAccounts: Buat Akun Azure Storage.
- Microsoft.HDInsight/cluster: Buat kluster HDInsight.
Menyebarkan templat
Pilih tombol Sebarkan ke Azure di bawah ini untuk masuk ke Azure dan membuka templat ARM.
Masukkan atau pilih nilai berikut:
Properti Deskripsi Langganan Dari daftar dropdown, pilih langganan Azure yang digunakan untuk kluster. Grup sumber daya Dari daftar dorp-down, pilih grup sumber daya yang sudah ada, atau pilih Buat baru. Lokasi Nilai terisi otomatis dengan lokasi yang digunakan untuk grup sumber daya. Nama kluster Masukkan nama yang unik secara global. Untuk templat ini, gunakan hanya huruf kecil dan angka. Nama Pengguna masuk kluster Berikan nama pengguna, defaultnya adalah admin
.Kata Sandi masuk kluster Berikan kata sandi. Panjang kata sandi harus minimal 10 karakter dan harus berisi setidaknya satu digit, satu huruf besar, dan satu huruf kecil, satu karakter non-nufanumerik (kecuali karakter ' ` "
).Nama Pengguna Ssh Berikan nama pengguna, defaultnya adalah sshuser
.Kata Sandi Ssh Berikan kata sandi. Lakukan ulasan SYARAT DAN KETENTUAN. Lalu pilih Saya menyetujui syarat dan ketentuan yang dinyatakan di atas, lalu Beli. Anda menerima pemberitahuan bahwa penyebaran Anda sedang berlangsung. Dibutuhkan sekitar 20 menit untuk membuat kluster.
Meninjau sumber daya yang disebarkan
Setelah kluster dibuat, Anda menerima pemberitahuan Penyebaran berhasil dengan tautan Buka sumber daya . Halaman Grup sumber daya Anda mencantumkan kluster HDInsight baru Dan penyimpanan default yang terkait dengan kluster. Setiap kluster dependensi Azure Data Lake Storage Gen2
. Hal ini disebut sebagai akun penyimpanan default. Kluster HDInsight dan akun penyimpanan defaultnya harus berada di lokasi yang sama di wilayah Azure yang sama. Menghapus kluster tidak menghapus akun penyimpanan.
Membersihkan sumber daya
Setelah Anda menyelesaikan mulai cepat, Anda dapat menghapus kluster. Dengan HDInsight, data Anda disimpan di Azure Storage, sehingga Anda dapat menghapus kluster dengan aman saat tidak digunakan. Anda juga dikenakan biaya untuk klaster HDInsight, bahkan saat tidak digunakan. Karena biaya untuk kluster berkali-kali lebih banyak daripada biaya untuk penyimpanan, masuk akal secara ekonomis untuk menghapus kluster saat tidak digunakan.
Dari portal Microsoft Azure, navigasi ke kluster Anda, lalu pilih Hapus.
Anda juga dapat memilih nama grup sumber daya untuk membuka halaman grup sumber daya, lalu memilih Hapus grup sumber daya. Dengan menghapus grup sumber daya, Anda menghapus kluster HDInsight dan akun penyimpanan default.
Langkah berikutnya
Dalam mulai cepat ini, Anda belajar cara membuat kluster Apache HBase di HDInsight menggunakan templat ARM. Di artikel berikutnya, Anda mempelajari cara membuat kueri HBase di HDInsight dengan HBase Shell.