إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا البرنامج التعليمي، ستتعلم كيفية إنشاء مجموعة ممكنة لوكيل Apache Kafka REST في Azure HDInsight باستخدام Azure CLI. Azure HDInsight هي خدمة تحليلات مدارة كاملة الطيف ومفتوحة المصدر للمؤسسات. Apache Kafka عبارة عن منصة بث موزعة مفتوحة المصدر. غالبا ما يتم استخدامه كوسيط رسائل، لأنه يوفر وظائف مشابهة لقائمة انتظار رسائل النشر والاشتراك. يمكنك Kafka REST Proxy من التفاعل مع مجموعة Kafka الخاصة بك عبر واجهة برمجة تطبيقات REST عبر HTTP. Azure CLI هو تجربة سطر الأوامر عبر النظام الأساسي من Microsoft لإدارة موارد Azure.
لا يمكن الوصول إلى واجهة برمجة تطبيقات Apache Kafka إلا من خلال الموارد داخل نفس الشبكة الظاهرية. يمكنك الوصول إلى نظام المجموعة مباشرة باستخدام SSH. لتوصيل خدمات أو شبكات أو أجهزة افتراضية أخرى ب Apache Kafka، يجب عليك أولا إنشاء شبكة ظاهرية ثم إنشاء الموارد داخل الشبكة. لمزيد من المعلومات، راجع الاتصال ب Apache Kafka باستخدام شبكة ظاهرية.
في هذا البرنامج التعليمي، تتعلم:
- المتطلبات الأساسية لوكيل Kafka REST
- إنشاء مجموعة Apache Kafka باستخدام Azure CLI
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
المتطلبات الأساسية
تطبيق مسجل بمعرف Microsoft Entra. ستستخدم تطبيقات العميل التي تكتبها للتفاعل مع وكيل Kafka REST معرف هذا التطبيق وسراحه للمصادقة على Azure. لمزيد من المعلومات، راجع تسجيل تطبيق باستخدام النظام الأساسي للهويات في Microsoft.
مجموعة أمان Microsoft Entra مع تطبيقك المسجل كعضو. سيتم استخدام مجموعة الأمان هذه للتحكم في التطبيقات المسموح لها بالتفاعل مع وكيل REST. لمزيد من المعلومات حول إنشاء مجموعات Microsoft Entra، راجع إنشاء مجموعة أساسية وإضافة أعضاء باستخدام معرف Microsoft Entra.
Azure CLI تأكد من أن لديك الإصدار 2.0.79 على الأقل. راجع Install the Azure CLI.
إنشاء مجموعة Apache Kafka
سجل الدخول إلى اشتراك Azure الخاص بك.
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"تعيين متغيرات البيئة. يعتمد استخدام المتغيرات في هذا البرنامج التعليمي على Bash. ستكون هناك حاجة إلى اختلافات طفيفة في البيئات الأخرى.
المتغير الوصف resourceGroupName استبدل RESOURCEGROUPNAME باسم مجموعة الموارد الجديدة. مكان استبدل LOCATION بمنطقة سيتم إنشاء نظام المجموعة فيها. للحصول على قائمة بالمواقع الصالحة، استخدم الأمر az account list-locationsاسم نظام المجموعة استبدل CLUSTERNAME باسم فريد عموما لنظام المجموعة الجديد. storageAccount استبدل STORAGEACCOUNTNAME باسم حساب التخزين الجديد. كلمة مرور http استبدل كلمة المرور بكلمة مرور لتسجيل الدخول إلى نظام المجموعة ، المسؤول. sshPassword استبدل كلمة المرور بكلمة مرور لاسم مستخدم الغلاف الآمن ، sshuser. securityGroupName استبدل SECURITYGROUPNAME باسم مجموعة أمان Microsoft Entra للعميل لوكيل Kafka REST. سيتم تمرير المتغير إلى --kafka-client-group-nameالمعلمة لaz-hdinsight-create.securityGroupID استبدل SECURITYGROUPID بمعرف مجموعة أمان Microsoft Entra للعميل لوكيل Kafka REST. سيتم تمرير المتغير إلى --kafka-client-group-idالمعلمة لaz-hdinsight-create.حاوية التخزين حاوية التخزين التي ستستخدمها نظام المجموعة، اترك as-is لهذا البرنامج التعليمي. سيتم تعيين هذا المتغير باسم نظام المجموعة. workernodeCount عدد العقد العاملة في نظام المجموعة، اترك as-is لهذا البرنامج التعليمي. لضمان التوافر العالي ، يتطلب كافكا ما لا يقل عن 3 عقد عاملة clusterType نوع نظام مجموعة HDInsight، اترك as-is لهذا البرنامج التعليمي. إصدار نظام المجموعة إصدار مجموعة HDInsight ، اترك as-is لهذا البرنامج التعليمي. يتطلب Kafka REST Proxy الحد الأدنى لإصدار نظام المجموعة 4.0. إصدار المكون إصدار كافكا ، اترك as-is لهذا البرنامج التعليمي. يتطلب Kafka REST Proxy إصدارا أدنى من المكون 2.1. قم بتحديث المتغيرات بالقيم المطلوبة. ثم أدخل أوامر CLI لتعيين متغيرات البيئة.
export resourceGroupName=RESOURCEGROUPNAME export location=LOCATION export clusterName=CLUSTERNAME export storageAccount=STORAGEACCOUNTNAME export httpPassword='PASSWORD' export sshPassword='PASSWORD' export securityGroupName=SECURITYGROUPNAME export securityGroupID=SECURITYGROUPID export storageContainer=$(echo $clusterName | tr "[:upper:]" "[:lower:]") export workernodeCount=3 export clusterType=kafka export clusterVersion=4.0 export componentVersion=kafka=2.1قم بإنشاء مجموعة الموارد عن طريق إدخال الأمر أدناه:
az group create \ --location $location \ --name $resourceGroupNameقم بإنشاء حساب Azure Storage عن طريق إدخال الأمر أدناه:
# Note: kind BlobStorage is not available as the default storage account. az storage account create \ --name $storageAccount \ --resource-group $resourceGroupName \ --https-only true \ --kind StorageV2 \ --location $location \ --sku Standard_LRSاستخرج المفتاح الأساسي من حساب Azure Storage وقم بتخزينه في متغير عن طريق إدخال الأمر أدناه:
export storageAccountKey=$(az storage account keys list \ --account-name $storageAccount \ --resource-group $resourceGroupName \ --query [0].value -o tsv)قم بإنشاء حاوية تخزين Azure عن طريق إدخال الأمر أدناه:
az storage container create \ --name $storageContainer \ --account-key $storageAccountKey \ --account-name $storageAccountقم بإنشاء مجموعة HDInsight. قبل إدخال الأمر ، لاحظ المعلمات التالية:
المعلمات المطلوبة لمجموعات كافكا:
المعلمة الوصف --نوع يجب أن تكون القيمة كافكا. --workernode-data-disks-per-node عدد أقراص البيانات المراد استخدامها لكل عقدة عامل. HDInsight Kafka مدعوم فقط مع أقراص البيانات. يستخدم هذا البرنامج التعليمي قيمة 2. المعلمات المطلوبة لوكيل Kafka REST:
المعلمة الوصف - كافكا إدارة حجم العقدة حجم العقدة. يستخدم هذا البرنامج التعليمي قيمة Standard_D4_v2. --kafka-client-group-id معرف مجموعة أمان Microsoft Entra للعميل لوكيل Kafka REST. يتم تمرير القيمة من المتغير $securityGroupID. --kafka-client-group-name اسم مجموعة أمان Microsoft Entra للعميل لوكيل Kafka REST. يتم تمرير القيمة من المتغير $securityGroupName. --الإصدار يجب أن يكون إصدار نظام مجموعة HDInsight 4.0 على الأقل. يتم تمرير القيمة من المتغير $clusterVersion. - إصدار مكون يجب أن يكون إصدار كافكا 2.1 على الأقل. يتم تمرير القيمة من المتغير $componentVersion. إذا كنت ترغب في إنشاء نظام المجموعة بدون وكيل REST، فقم بإزالة
--kafka-management-node-size،--kafka-client-group-idومن--kafka-client-group-nameالأمرaz hdinsight create.إذا كانت لديك شبكة ظاهرية موجودة، فقم بإضافة المعلمات
--vnet-nameو--subnet، وقيمها.
أدخل الأمر التالي لإنشاء نظام المجموعة:
az hdinsight create \ --name $clusterName \ --resource-group $resourceGroupName \ --type $clusterType \ --component-version $componentVersion \ --http-password $httpPassword \ --http-user admin \ --location $location \ --ssh-password $sshPassword \ --ssh-user sshuser \ --storage-account $storageAccount \ --storage-account-key $storageAccountKey \ --storage-container $storageContainer \ --version $clusterVersion \ --workernode-count $workernodeCount \ --workernode-data-disks-per-node 2 \ --kafka-management-node-size "Standard_D4_v2" \ --kafka-client-group-id $securityGroupID \ --kafka-client-group-name "$securityGroupName"قد يستغرق إكمال عملية إنشاء نظام المجموعة عدة دقائق. عادة حوالي 15.
تنظيف الموارد
بعد إكمال المقالة، قد ترغب في حذف نظام المجموعة. من خلال HDInsight، يتم تخزين البيانات الخاصة بك في Azure Storage؛ لذا يمكنك حذف المجموعة بأمان عندما لا تكون قيد الاستخدام. يتم محاسبتك أيضاً على نظام مجموعة HDInsight، حتى عندما لا تكون قيد الاستخدام. نظراً لأن رسوم نظام المجموعة تزيد عدة مرات عن رسوم التخزين، فمن المنطقي اقتصادياً حذف أنظمة المجموعات عندما لا تكون قيد الاستخدام.
أدخِل كل الأوامر التالية أو بعضها لحذف الموارد:
# Remove cluster
az hdinsight delete \
--name $clusterName \
--resource-group $resourceGroupName
# Remove storage container
az storage container delete \
--account-name $storageAccount \
--name $storageContainer
# Remove storage account
az storage account delete \
--name $storageAccount \
--resource-group $resourceGroupName
# Remove resource group
az group delete \
--name $resourceGroupName
الخطوات التالية
الآن بعد أن نجحت في إنشاء مجموعة ممكنة لوكيل Apache Kafka REST في Azure HDInsight باستخدام Azure CLI، استخدم التعليمات البرمجية Python للتفاعل مع وكيل REST: