التشغيل السريع: إنشاء كتلة Apache HBase في Azure HDInsight باستخدام قالب ARM
في هذا التشغيل السريع، يمكنك استخدام قالب إدارة موارد Azure (قالب ARM) لإنشاء كتلة Apache HBase في Azure HDInsight. HBase هي قاعدة بيانات NoSQL مفتوحة المصدر تعتمد على Apache Hadoop وصُممت على غرار Google BigTable.
قالب Azure Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. يستخدم القالب عبارات توضيحية. يمكنك وصف النشر المقصود دون كتابة تسلسل أوامر البرمجة لإنشاء النشر.
إذا كانت بيئتك تلبي المتطلبات الأساسية وكنت معتاداً على استخدام قوالب "ARM"، فحدد زر "Deploy to Azure". سيتم فتح القالب في مدخل Azure.
المتطلبات الأساسية
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
مراجعة القالب
يُعدّ النموذج المستخدم في هذا التشغيل السريع مأخوذاً من قوالب التشغيل السريع من 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')))]"
}
}
}
يتم تعريف موردين لـ Azure في القالب:
- Microsoft.Storage/storageAccounts: أنشئ حساب تخزين في Azure.
- Microsoft.HDInsight/cluster: إنشاء نظام مجموعة HDInsight.
نشر القالب
حدد زر النشر إلى Azure أدناه لتسجيل الدخول إلى Azure وافتح قالب ARM.
أدخل أو حدد القيم التالية:
الخاصية الوصف الاشتراك من القائمة المنسدلة، قم بتحديد اشتراك Azure المستخدم في نظام المجموعة. مجموعة الموارد من القائمة المنسدلة، حدد مجموعة الموارد الموجودة، أو تحديد إنشاء جديد. الموقع تملء القيمة تلقائيا بالموقع المستخدم لمجموعة الموارد. اسم المجموعة أدخل اسمًا فريدًا عالميًا. بالنسبة إلى هذا القالب، استخدم الأحرف الصغيرة والأرقام فقط. تسجيل الدخول إلى نظام المجموعة اسم المستخدم أدخل اسم المستخدم، الافتراضي هو admin
.كلمة مرور تسجيل الدخول إلى نظام المجموعة أدخل كلمة مرور. يجب أن يكون طول كلمة المرور 10 أحرف على الأقل ويجب أن تحتوي على رقم واحد على الأقل، وأحرف كبيرة واحدة، وحرف صغير واحد، وحرف واحد غير رقمي (باستثناء الأحرف ' ` "
).اسم مستخدم Ssh أدخل اسم المستخدم، الافتراضي هو sshuser
.كلمة مرور Ssh أدخل كلمة المرور. قم بمراجعة الشروط والأحكام. ثم حدد أوافق على الشروط والأحكام المذكورة أعلاه، وحدد شراء. تتلقى إعلاما بأن عملية النشر قيد التقدم. يستغرق إنشاء نظام المجموعة نحو 20 دقيقة.
مراجعة الموارد الموزعة
بمجرد إنشاء نظام المجموعة، تتلقى إعلاما بنجاح النشر مع ارتباط Go to resource . تسرد صفحة مجموعة الموارد مجموعة HDInsight الجديدة والتخزين الافتراضي المقترن بالمجموعة. كل نظام مجموعة Azure Data Lake Storage Gen2
تبعية. يشار إليه باسم حساب التخزين الافتراضي. يجب أن يتم وضع مجموعة HDInsight وحساب التخزين الافتراضي المخصص لها في نفس منطقة Azure. حذف الكتل لا يؤدي إلى حذف حساب التخزين.
تنظيف الموارد
بعد إكمال التشغيل السريع، قد تحتاج إلى حذف المجموعة. من خلال HDInsight، يتم تخزين البيانات الخاصة بك في Azure Storage؛ لذا يمكنك حذف المجموعة بأمان عندما لا تكون قيد الاستخدام. كما يتم تحصيل رسوم منك مقابل مجموعة HDInsight، حتى عندما لا تكون قيد الاستخدام. نظراً لأن رسوم نظام المجموعة تزيد عدة مرات عن رسوم التخزين، فمن المنطقي اقتصادياً حذف أنظمة المجموعات عندما لا تكون قيد الاستخدام.
من مدخل Azure، انتقل إلى نظام المجموعة، وحدد حذف.
يمكنك أيضًا تحديد اسم مجموعة الموارد لفتح صفحة مجموعة الموارد، ثم حدد حذف مجموعة الموارد. إذا قمت بحذف مجموعة الموارد، سيتم حذف كل من نظام المجموعة HDInsight وحساب التخزين الافتراضي.
الخطوات التالية
في هذا التشغيل السريع، تعلمت كيفية إنشاء كتلة Apache HBase في HDInsight باستخدام أحد قوالب ARM. في المقالة التالية، ستتعلم كيفية الاستعلام عن HBase في HDInsight باستخدام HBase Shell.