إعادة تشغيل VMs للحصول على أنظمة مجموعات HDINSight
تحتوي مجموعات Azure HDInsight على مجموعات من الأجهزة الظاهرية (VMs) كعقد نظام المجموعة. بالنسبة لأنظمة المجموعات طويلة الأمد، قد تصبح هذه العقد غير مستجيبة لأسباب مختلفة. توضح هذه المقالة كيفية إعادة تشغيل VMs لا تستجيب في كتلة HDInsight.
متى يتم إعادة التشغيل
تحذير
عند إعادة تشغيل VMs في نظام مجموعة، لا تكون العقدة غير متوفرة للاستخدام ويجب إعادة تشغيل الخدمات على العقدة.
عند إعادة تشغيل العقدة قد تصبح غير صحية، وتبطئ المهام أو تتعطل. إذا كنت تحاول إعادة تشغيل عقدة الرأس النشطة، فستتوقف جميع الوظائف قيد التشغيل. لن تتمكن من إرسال مهام إلى نظام المجموعة حتى يتم تشغيل الخدمات مرة أخرى. لهذه الأسباب، يجب إعادة تشغيل VMs فقط عند الضرورة. خذ بعين الاعتبار إعادة تشغيل VMs عند:
- لا يمكنك استخدام SSH للوصول إلى العقدة، ولكنه يستجيب لأداة اختبار الاتصال.
- عقدة العامل متوقفة عن التشغيل بدون رسالة كشف أخطاء الاتصال في واجهة المستخدم Ambari.
- القرص المؤقت ممتلئ على العقدة.
- يحتوي جدول العملية على VM على العديد من الإدخالات حيث اكتملت العملية، ولكن يتم سردها مع "إنهاء الحالة".
ملاحظة
إذا كان يجب عليك إعادة تشغيل عقدة عاملة أو عقدة zookeeper في HBase أو مجموعة Kafka، فالرجاء توخي الحذر لأنها قد تتسبب في حدوث مشكلات في الاستقرار لبعض الوقت اعتماداً على حجم نظام المجموعة وضغط حمل العمل. يمكن أن تتسبب إعادة تشغيل العقدة العاملة في حركات تقسيم المنطقة/الموضوع غير الضرورية. حتى إعادة تشغيل عقدة ZooKeeper يمكن أن تتسبب في عدم الاستقرار في نظام مجموعة ZooKeper وبالتالي قد تتسبب في تعطل Region Server/Kafka broker.
من الناحية المثالية، كلما أمكن ذلك، يرجى إيقاف خدمة HBase/Kafka قبل إعادة التشغيل لتقليل تأثير البيانات الجديدة المكتوبة في نظام المجموعة.
استخدام PowerShell لإعادة تشغيل VMs
مطلوب خطوتان لاستخدام عملية إعادة تشغيل العقدة: إدراج العقد وإعادة تشغيل العقد.
قائمة العقد. يمكنك الحصول على قائمة عقدة نظام المجموعة في احصل على AzHDInsightHost.
Get-AzHDInsightHost -ClusterName myclustername
إعادة تشغيل المضيفين. بعد الحصول على أسماء العقد التي تريد إعادة تشغيلها، قم بإعادة تشغيل العقد باستخدام إعادة تشغيل-AzHDInsightHost.
Restart-AzHDInsightHost -ClusterName myclustername -Name wn0-myclus, wn1-myclus
ملاحظة
لا يتم دعم إعادة تشغيل العقد لأنواع نظام مجموعات HBase وKafka باستخدام PowerShell.
استخدام واجهة برمجة تطبيقات REST لإعادة تشغيل VMs
يمكنك استخدام ميزة جربه في وثيقة API لإرسال الطلبات إلى HDInsight. مطلوب خطوتان لاستخدام عملية إعادة تشغيل العقدة: إدراج العقد وإعادة تشغيل العقد.
قائمة العقد. يمكنك الحصول على قائمة عقدة نظام المجموعة من واجهة برمجة تطبيقات REST أو في Ambari. للحصول على مزيد من المعلومات، راجع قائمة HDInsight تستضيف عملية واجهة برمجة تطبيقات REST .
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/listHosts?api-version=2018-06-01-preview
إعادة تشغيل المضيفين. بعد الحصول على أسماء العقد التي تريد إعادة تشغيلها، قم بإعادة تشغيل نظام المجموعة باستخدام واجهة برمجة تطبيقات REST لإعادة تشغيل العقد. يتبع اسم العقدة نمط NodeType(wn/hn/zk/gw/ib) + x + أول ستة أحرف من اسم نظام المجموعة. للحصول على مزيد من المعلومات، راجع عملية HDInsight لإعادة تشغيل مضيفي واجهة برمجة تطبيقات REST .
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/restartHosts?api-version=2018-06-01-preview
يتم تحديد الأسماء الفعلية لنظام المجموعة الذي تريد إعادة تشغيله في صفيف JSON في نص الطلب.
[
"wn0-abcdef",
"zk1-abcdef"
]
ملاحظة
لا يتم دعم إعادة تشغيل العقد لأنواع نظام مجموعات HBase وKafka باستخدام REST API.