مراقبة أداء نظام المجموعة في Azure HDInsight

يعد مراقبة أداء نظام مجموعة HDInsight وسلامتها أمرًا ضروريًا للحفاظ على الأداء الأمثل واستخدام الموارد. يمكن أن تساعدك المراقبة أيضًا في الكشف عن أخطاء تكوين نظام المجموعة ومشاكل رمز المستخدم ومعالجتها.

تصف المقاطع التالية كيفية مراقبة التحميل وتحسينه على مجموعاتك، وقوائم انتظار Apache Hadoop YARN، والكشف عن مشكلات تقييد التخزين.

مراقبة تحميل نظام المجموعة

يمكن أن تقدم مجموعات Hadoop الأداء الأمثل عند توزيع التحميل على نظام مجموعة بالتساوي عبر كافة العُقد. هذا يمكن مهام المعالجة من العمل دون أن تُقيدها موارد ذاكرة الوصول العشوائي أو وحدة المعالجة المركزية أو القرص على العُقد الفردية.

للحصول على نظرة عالية المستوى على عُقد مجموعتك وتحميلها، سجل الدخول إلى واجهة مستخدم ويب Ambari، ثم حدد علامة التبويب المضيفين. يتم سرد المضيفين بواسطة أسماء مجالاتهم المؤهلة بالكامل. تظهر حالة تشغيل كل مضيف بواسطة مؤشر سلامة ملون:

Color ‏‏الوصف
أحمر هناك مكون رئيسي واحد على الأقل مُعطل على المضيف. مرر مؤشر الماوس لرؤية تعريف الأدوات الذي يسرد المكونات المتأثرة.
Orange هناك مكون ثانوي واحد على الأقل مُعطل على المضيف. مرر مؤشر الماوس لرؤية تعريف الأدوات الذي يسرد المكونات المتأثرة.
أصفر لم يتلق خدام Ambari رسالة كشف أخطاء الاتصال من المضيف لأكثر من 3 دقائق.
أخضر حالة التشغيل العادية.

سترى أيضًا أعمدة توضح عدد النوى ومقدار ذاكرة الوصول العشوائي لكل مضيف، ومتوسط استخدام القرص وتحميله.

Apache Ambari hosts tab overview.

حدد أي من أسماء المضيفين لإلقاء نظرة تفصيلية على المكونات التي تعمل على ذلك المضيف ومقاييسها. تُعرض المقاييس كجدول زمني قابل للتحديد لاستخدام وحدة المعالجة المركزية، والتحميل، واستخدام القرص، واستخدام الذاكرة، واستخدام الشبكة، وأرقام العمليات.

Apache Ambari host details overview.

راجع إدارة مجموعات HDInsight باستخدام واجهة مستخدم ويب Apache Ambari للحصول على تفاصيل حول إعداد التنبيهات وعرض المقاييس.

تكوين قائمة انتظار YARN

لدى Hadoop خدمات مختلفة تعمل عبر منصتها المُوزعة. يُنسق YARN (مفاوض موارد آخر) هذه الخدمات ويُخصص موارد نظام المجموعة لضمان توزيع أي تحميل بالتساوي عبر نظام المجموعة.

يُقسم YARN كلا مسؤوليتيّ JobTracker، وإدارة الموارد وجدولة المهام / المراقبة، إلى برنامجين خلفيين: إدارة الموارد العالمية، وApplicationMaster لكل تطبيق (صباحًا).

إدارة الموارد هو برنامج جدولة خالص، ويفصل فقط الموارد المتاحة بين جميع التطبيقات المتنافسة. يضمن إدارة الموارد أن كافة الموارد قيد الاستخدام دائمًا، مع تحسين الثوابت المختلفة مثل اتفاقيات على مستوى الخدمة وضمانات السعة وما إلى ذلك. يتفاوض ApplicationMaster على الموارد من إدارة الموارد، ويعمل مع NodeManager(s) لتنفيذ ومراقبة الحاويات واستهلاك مواردها.

عندما يشترك العديد من المستأجرين في مجموعة كبيرة، فهناك منافسة على موارد نظام المجموعة. يعد "القدرة المجدول" برنامج جدولة قابل للتوصيل يساعد في مشاركة الموارد عن طريق وضع الطلبات في قائمة انتظار. يدعم برنامج "القدرة المجدول" أيضًا قوائم الانتظار الهرمية للتأكد من مشاركة الموارد بين القوائم الفرعية للمؤسسة، قبل السماح لقوائم انتظار التطبيقات الأخرى باستخدام الموارد الحرة.

يسمح YARN لنا بتخصيص الموارد لقوائم الانتظار هذه، ويُظهر لك ما إذا كان يتم تعيين كافة مواردك المتاحة. لعرض معلومات حول قوائم الانتظار الخاصة بك، سجّل الدخول إلى واجهة مستخدم ويب Ambari، ثم حدد مدير قائمة الانتظار YARN من القائمة العلوية.

Apache Ambari YARN Queue Manager.

تعرض صفحة إدارة قائمة انتظار YARN قائمة قوائم الانتظار على اليسار، بالإضافة إلى النسبة المئوية للقدرة المُعينة لكل قائمة.

YARN Queue Manager details page.

لإلقاء نظرة أكثر تفصيلًا على قوائم انتظارك، من لوحة معلومات Ambari، حدد خدمة YARN من القائمة على اليسار. ثم ضمن القائمة المنسدلة ارتباطات سريعة، حدد واجهة مستخدم إدارة الموارد أسفل العُقدة النشطة.

Resource Manager UI menu links.

في واجهة مستخدم إدارة الموارد حدد جدولة من القائمة اليسرى. يمكنك مشاهدة قائمة قوائم انتظارك أسفل قوائم انتظار التطبيق. هنا يمكنك مشاهدة السعة المُستخدمة لكل قائمة انتظار، ومدى جودة توزيع الوظائف بينها، وما إذا كانت أي وظائف مُقيدة بالموارد.

Apache HAdoop Resource Manager UI menu.

تقييد التخزين

يمكن أن يحدث ازدحام أداء نظام المجموعة على مستوى التخزين. هذا النوع من الازدحام هو في معظم الأحيان بسبب حظر عمليات الإدخال /الإخراج (IO)، والتي تحدث عندما ترسل مهام تشغيلك عددًا من عمليات الإدخال والإخراج (IO) أكثر مما يمكن أن تعالجه خدمة التخزين. يؤدي هذا الحظر إلى إنشاء قائمة انتظار لطلبات الإدخال والإخراج (IO) التي تنتظر المعالجة حتى تتم معالجة المدخلات والمخرجات الحالية. تحدث عمليات الحظر بسبب تقييد التخزين، وهو ليس حدًا ماديًا، بل هو حد تفرضه خدمة التخزين بموجب اتفاقية على مستوى الخدمة (SLA). يضمن هذا الحد أنه لا يمكن لأى عميل أو مستأجر واحد احتكار الخدمة. تحد اتفاقية على مستوى الخدمة (SLA) من عدد عمليات الإدخال والإخراج في الثانية (IOPS) لتخزين Azure - للحصول على التفاصيل، راجع أهداف قابلية التوسع والأداء لحسابات التخزين القياسية.

إذا كنت تستخدم تخزين Azure، للحصول على معلومات حول مراقبة المشكلات المتعلقة بالتخزين بما في ذلك التقييد، راجع استكشاف أخطاء تخزين Microsoft Azure ومراقبتها وتشخيصها وإصلاحها.

إذا كان التخزين المساعد لنظام المجموعة هو Azure Data Lake Storage (ADLS)، فمن المُرجح أن يكون التقييد الخاص بك بسبب حدود النطاق الترددي. يمكن التعرف على التقييد في هذه الحالة عن طريق مراقبة أخطاء التقييد في سجلات المهام. للحصول على Azure Data Lake Storage (ADLS)، راجع قسم التقييد للخدمة المناسبة في هذه المقالات:

استكشاف أخطاء أداء العقد البطيئة وإصلاحها

في بعض الحالات، يمكن أن يحدث البُطْء بسبب انخفاض مساحة القرص على نظام المجموعة. تحقيق بالخطوات التالية:

  1. استخدم الأمر ssh للاتصال بكل عُقدة.

  2. تحقق من استخدام القرص عن طريق تشغيل أحد الأوامر التالية:

    df -h
    du -h --max-depth=1 / | sort -h
    
  3. راجع النتاج، وتحقق من وجود أي ملفات كبيرة في المجلد mnt أو أي مجلدات أخرى. عادة، تحتوي usercache، وappcache (mnt/resource/hadoop/yarn/local/usercache/hive/appcache/) على ملفات كبيرة.

  4. إذا كان هناك ملفات كبيرة، إما الوظيفة الحالية هي سبب زيادة حجم الملف أو وظيفة سابقة فاشلة تكون قد ساهمت في هذه المشكلة. للتحقق ما إذا كان هذا السلوك بسبب الوظيفة الحالية، شغّل الأمر التالي:

    sudo du -h --max-depth=1 /mnt/resource/hadoop/yarn/local/usercache/hive/appcache/
    
  5. إذا كان هذا الأمر يشير إلى وظيفة معينة، يمكنك اختيار إنهاء الوظيفة باستخدام أمر مشابه لما يلي:

    yarn application -kill -applicationId <application_id>
    

    استبدل application_id بمعرّف التطبيق. إذا لم تتم الإشارة إلى وظائف محددة، انتقل إلى الخطوة التالية.

  6. بعد اكتمال الأمر أعلاه، أو إذا لم تتم الإشارة إلى أي وظائف معينة، احذف الملفات الكبيرة التي قمت بتعريفها عن طريق تشغيل أمر مُشابه لما يلي:

    rm -rf filecache usercache
    

لمزيد من المعلومات حول مشاكل مساحة القرص، راجع نفاد مساحة القرص.

إشعار

إذا كان لديك ملفات كبيرة تريد الاحتفاظ بها ولكن تساهم في مشكلة انخفاض مساحة القرص، يجب أن تقوم بزيادة نظام مجموعة HDInsight وإعادة تشغيل خدماتك. بعد إكمال هذا الإجراء والانتظار لبضع دقائق ستلاحظ أن مساحة التخزين أصبحت فارغة وتمت استعادة الأداء المعتاد للعقدة.

الخطوات التالية

قم بزيارة الارتباطات التالية لمزيد من المعلومات حول استكشاف الأخطاء وإصلاحها ومراقبة المجموعات: