إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
Azure Managed Instance ل Apache Cassandra هي خدمة مدارة بالكامل لمجموعات Apache Cassandra مفتوحة المصدر فقط. تسمح الخدمة أيضا بتجاوز التكوينات، اعتمادا على الاحتياجات المحددة لكل حمل عمل، للحصول على أقصى قدر من المرونة والتحكم.
يوضح هذا التشغيل السريع كيفية استخدام أوامر Azure CLI لإنشاء نظام مجموعة باستخدام Azure Managed Instance ل Apache Cassandra. كما يوضح كيفية إنشاء مركز بيانات وتوسيع نطاق العقد لأعلى أو لأسفل داخل مركز البيانات.
Prerequisites
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع بدء استخدام Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات تسجيل الدخول الأخرى، راجع المصادقة على Azure باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات حول الملحقات، راجع استخدام الملحقات وإدارتها باستخدام Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
- استخدم شبكة Azure الظاهرية مع الاتصال بالبيئة المستضافة ذاتيا أو المحلية. لمزيد من المعلومات حول كيفية توصيل البيئات المحلية ب Azure، راجع توصيل شبكة محلية ب Azure.
- في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
Important
تتطلب هذه المقالة الإصدار 2.30.0 من Azure CLI أو أحدث. إذا كنت تستخدم Azure Cloud Shell، فإن أحدث إصدار مثبت بالفعل.
إنشاء نظام مجموعة مثيل مدار
قم بتسجيل الدخول إلى بوابة Azure.
تعيين معرف الاشتراك الخاص بك في Azure CLI:
az account set --subscription <Subscription_ID>إنشاء شبكة ظاهرية باستخدام شبكة فرعية مخصصة في مجموعة الموارد الخاصة بك:
az network vnet create --name <VNet_Name> --location eastus2 \ --resource-group <Resource_Group_Name> --subnet-name <Subnet Name>يتطلب نشر مثيل Azure Managed Instance ل Apache Cassandra الوصول إلى الإنترنت. يفشل التثبيت في البيئات التي يكون فيها الوصول إلى الإنترنت مقيدًا. تأكد من عدم حظر الوصول في شبكتك الظاهرية إلى خدمات Azure التالية المطلوبة لمثيل Azure المدار لكي يعمل Apache Cassandra بشكل صحيح:
- Azure Storage
- Azure Key Vault
- مجموعات توسعة الأجهزة الظاهرية في Azure
- Azure Monitor
- معرف Microsoft Entra
- Microsoft Defender للسحابة
تطبيق هذه الأذونات المحددة على الشبكة الظاهرية. يتطلب المثيل المدار ذلك.
az role assignment createاستخدم الأمر واستبدل<subscriptionID><resourceGroupName>و و<vnetName>بالقيم المناسبة:az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>assigneeالقيمتان وroleقيمتان ثابتتان. أدخل هذه القيم تماما كما هو مذكور في الأمر . يؤدي عدم القيام بذلك إلى حدوث أخطاء عند إنشاء نظام المجموعة. إذا واجهت أي أخطاء عند تشغيل هذا الأمر، فقد لا يكون لديك أذونات لتشغيله. اتصل بمسؤول Azure للحصول على الأذونات.إنشاء نظام المجموعة في الشبكة الظاهرية التي تم إنشاؤها حديثا باستخدام الأمر az managed-cassandra cluster create . قم بتشغيل الأمر التالي بقيمة
delegatedManagementSubnetIdالمتغير . (قيمةdelegatedManagementSubnetIdهي نفس اسم الشبكة الظاهرية التي تم تطبيق الأذونات لها.)resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster_Name>' location='eastus2' delegatedManagementSubnetId='/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/<VNet name>/subnets/<subnet name>' initialCassandraAdminPassword='myPassword' cassandraVersion='5.0' # set to 4.0 for a Cassandra 4.0 cluster az managed-cassandra cluster create \ --cluster-name $clusterName \ --resource-group $resourceGroupName \ --location $location \ --delegated-management-subnet-id $delegatedManagementSubnetId \ --initial-cassandra-admin-password $initialCassandraAdminPassword \ --cassandra-version $cassandraVersion \ --debugإنشاء مركز بيانات للمجموعة مع ثلاثة أجهزة ظاهرية (VMs). استخدم التكوين التالي:
- حجم الجهاز الظاهري: E8s v5 قياسي
- أقراص البيانات: 4 أقراص P30 مرفقة بكل جهاز من الأجهزة الظاهرية المنشورة
بعد أن تكون جميع المعلومات في مكانها، استخدم الأمر az managed-cassandra datacenter create :
dataCenterName='dc1' dataCenterLocation='eastus2' virtualMachineSKU='Standard_D8s_v4' noOfDisksPerNode=4 az managed-cassandra datacenter create \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --data-center-location $dataCenterLocation \ --delegated-subnet-id $delegatedManagementSubnetId \ --node-count 3 \ --sku $virtualMachineSKU \ --disk-capacity $noOfDisksPerNode \ --availability-zone falseاختر قيمة
--skuمن أحجام الأجهزة الظاهرية المتوفرة التالية:- Standard_E8s_v5
- Standard_E16s_v5
- Standard_E20s_v5
- Standard_E32s_v5
بشكل افتراضي، يتم تعيين
--availability-zoneإلىfalse. لتمكين مناطق التوفر، قم بتعيينها إلىtrue. تساعد مناطق التوفر على زيادة توفر الخدمة. لمعرفة المزيد من المعلومات، راجع اتفاقيات مستوى الخدمة للخدمات عبر الإنترنت.مناطق التوفر غير مدعومة في جميع مناطق Azure. تفشل عمليات النشر إذا حددت منطقة لا يتم فيها دعم مناطق التوفر. بالنسبة للمناطق المدعومة، راجع قائمة مناطق Azure.
يخضع النشر الناجح لمناطق التوفر لتوفر موارد الحوسبة في جميع المناطق في المنطقة التي حددتها. تفشل عمليات النشر إذا لم يكن حجم الجهاز الظاهري الذي اخترته متوفرا في المنطقة التي حددتها.
بعد إنشاء مركز البيانات، يمكنك تشغيل الأمر az managed-cassandra datacenter update لتوسيع نطاق نظام المجموعة أو توسيع نطاقه. غير قيمة المعلمة
node-countإلى القيمة التي تريدها:resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster Name>' dataCenterName='dc1' dataCenterLocation='eastus2' az managed-cassandra datacenter update \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --node-count 9
تواصل مع مجموعتك
لا ينشئ مثيل Azure المدار ل Apache Cassandra عقدا بعناوين IP عامة. للاتصال بمجموعة Cassandra الجديدة، يجب إنشاء مورد آخر داخل نفس الشبكة الظاهرية. يمكن أن يكون هذا المورد تطبيقا أو جهازا ظاهريا مع Cassandra Query Language Shell (CQLSH) مثبتا. CQLSH هي أداة استعلام Apache مفتوحة المصدر.
يمكنك استخدام قالب Azure Resource Manager لنشر جهاز Ubuntu ظاهري.
نظرا لبعض المشكلات المعروفة في إصدارات Python ، نوصي باستخدام صورة Ubuntu 22.04 التي تأتي مع Python3.10.12 أو بيئة Python الظاهرية لتشغيل CQLSH.
الاتصال من CQLSH
بعد نشر الجهاز الظاهري، استخدم Secure Shell للاتصال بالجهاز وتثبيت CQLSH. استخدم الأوامر التالية:
# Install default-jre and default-jdk
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
تحقق من إصدارات Cassandra التي لا تزال مدعومة وحدد الإصدار الذي تحتاجه. نوصي باستخدام إصدار ثابت.
قم بتثبيت مكتبات Cassandra للحصول على CQLSH. اتبع الخطوات الرسمية من وثائق كاساندرا.
الاتصال من تطبيق
كما هو الحال مع CQLSH، عند استخدام أحد برامج تشغيل عميل Apache Cassandra المدعومة للاتصال من أحد التطبيقات، يجب تمكين تشفير بروتوكول أمان طبقة النقل/طبقة مآخذ التوصيل الآمنة (TLS/SSL) ويجب تعطيل التحقق من الشهادة. للحصول على عينات، راجع Javaو.NET و Node.jsوPython.
نوصي بتعطيل التحقق من الشهادة لأنه لا يعمل إلا إذا قمت بتعيين عناوين IP لعقد نظام المجموعة إلى المجال المناسب. إذا كان نهج داخلي ينص على إجراء التحقق من شهادة TLS/SSL لأي تطبيق، أضف إدخالات مثل 10.0.1.5 host1.managedcassandra.cosmos.azure.com في ملف المضيفين لكل عقدة لتسهيل هذا الإعداد. إذا اتبعت هذا النهج، فستحتاج أيضا إلى إضافة إدخالات جديدة كلما قمت بتوسيع نطاق العقد.
بالنسبة إلى Java، نوصي بتمكين نهج التنفيذ التخميني حيث تكون التطبيقات حساسة لزمن انتقال الاستجابة. للحصول على عرض توضيحي يوضح كيفية عمل هذا النهج ومعرفة كيفية تمكين النهج، راجع تنفيذ نهج التنفيذ التخميني.
لا تحتاج عادة إلى تكوين الشهادات (مثل rootCAأو nodeclienttruststore) للاتصال بمثيل Azure المدار ل Apache Cassandra. يستخدم تشفير TLS/SSL مخزن الثقة الافتراضي وكلمة مرور وقت التشغيل التي اختارها العميل. للحصول على نموذج التعليمات البرمجية، راجع Javaو.NET و Node.jsوPython). الشهادات موثوق بها بشكل افتراضي. إذا لم يكن الأمر كما هو، فستضيفها إلى مخزن الثقة.
تكوين شهادات العميل (اختياري)
تكوين شهادات العميل اختياري. يمكن لتطبيق العميل الاتصال بمثيل Azure المدار ل Apache Cassandra بعد اتباع الخطوات السابقة. إذا كنت تفضل ذلك، يمكنك أيضا إنشاء وتكوين شهادات العميل للمصادقة. بشكل عام، هناك طريقتان لإنشاء الشهادات:
- الشهادات الموقعة ذاتيا: الشهادات الخاصة والعامة التي لا تحتوي على مرجع مصدق (CA) لكل عقدة. في هذه الحالة، جميع الشهادات العامة مطلوبة.
- الشهادات الموقعة من قبل المرجع المصدق: الشهادات الصادرة عن مرجع مصدق موقع ذاتيا أو مرجع مصدق عام. لهذا الإعداد، تحتاج إلى شهادة المرجع المصدق الجذر وجميع الشهادات الوسيطة، إذا كان ذلك ممكنا. لمزيد من المعلومات، راجع إعداد شهادات SSL للإنتاج.
لتنفيذ مصادقة شهادة العميل إلى العقدة أو أمان طبقة النقل المتبادل، قم بتوفير الشهادات باستخدام Azure CLI. يقوم الأمر التالي بتحميل شهادات العميل وتطبيقها على مخزن الثقة لمثيل Azure المدار لنظام مجموعة Apache Cassandra. لا تحتاج إلى تعديل cassandra.yaml الإعدادات. بعد تطبيق الشهادات، يتطلب نظام المجموعة من Cassandra التحقق من الشهادات أثناء اتصالات العميل. لمزيد من المعلومات ، انظر require_client_auth: true في Cassandra client_encryption_options.
resourceGroupName='<Resource_Group_Name>'
clusterName='<Cluster Name>'
az managed-cassandra cluster update \
--resource-group $resourceGroupName \
--cluster-name $clusterName \
--client-certificates /usr/csuser/clouddrive/rootCert.pem /usr/csuser/clouddrive/intermediateCert.pem
Troubleshooting
إذا واجهت خطأ عند تطبيق الأذونات على شبكتك الظاهرية باستخدام Azure CLI، يمكنك تطبيق نفس الإذن يدويا من مدخل Microsoft Azure. مثال على مثل هذا الخطأ هو "لا يمكن العثور على المستخدم أو كيان الخدمة في قاعدة بيانات الرسم البياني ل e5007d2c-4b13-4a74-9b6a-605d99f03501." لمزيد من المعلومات، راجع استخدام مدخل Microsoft Azure لإضافة كيان خدمة Azure Cosmos DB.
يتم استخدام تعيين دور Azure Cosmos DB لأغراض التثبيت فقط. لا يحتوي Azure Managed Instanced ل Apache Cassandra على تبعيات خلفية على Azure Cosmos DB.
تنظيف الموارد
عندما لم تعد هناك حاجة إلى المورد الخاص بك، استخدم az group delete الأمر لإزالة مجموعة الموارد والمثيل المدار وجميع الموارد ذات الصلة:
az group delete --name <Resource_Group_Name>
الخطوة التالية
في هذا التشغيل السريع، تعلمت كيفية إنشاء مثيل مدار من Azure لمجموعة Apache Cassandra باستخدام Azure CLI. يمكنك الآن بدء العمل مع نظام المجموعة: