السيناريو: BindException - العنوان قيد الاستخدام بالفعل في Azure HDInsight

توضح هذه المقالة خطوات استكشاف الأخطاء وإصلاحها، والحلول الممكنة للمشكلات التي تحدث عند التفاعل مع مجموعاتAzure HDInsight.

مشكلة

فشل عملية إعادة التشغيل على خادم منطقة HBase Apache للإكمال. من الدليل region-server.logفي/var/log/hbase العقد العاملة حيث فشل تشغيل ملقم المنطقة قد تشاهد رسالة خطأ مشابهة كما يلي:

Caused by: java.net.BindException: Problem binding to /10.2.0.4:16020 : Address already in use
...

Caused by: java.net.BindException: Address already in use
...

السبب

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

  1. يرسل عامل Ambari طلب إيقاف إلى خادم المنطقة.

  2. ينتظر عامل Ambari لمدة 30 ثانية لخادم المنطقة لإيقاف بأمان

  3. إذا استمر التطبيق الخاص بك في الاتصال بخادم المنطقة، فلن يتم إيقاف تشغيل الخادم على الفور. تنتهي مهلة 30 ثانية قبل حدوث إيقاف التشغيل.

  4. بعد 30 ثانية، يرسل عامل Ambari أمر قوة الإيقاف (kill -9) إلى خادم المنطقة.

  5. بسبب إيقاف التشغيل المفاجئ هذا، رغم أن يتم إيقاف عملية خادم المنطقة، قد لا يتم تحرير المنفذ المقترن بالعملية، مما يؤدي في النهاية إلى AddressBindException.

الدقة

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

بدلاً من ذلك، حاول إعادة تشغيل خوادم المنطقة يدويا على العقد العاملة باستخدام الأوامر التالية:

sudo su - hbase -c "/usr/hdp/current/hbase-regionserver/bin/hbase-daemon.sh stop regionserver"
sudo su - hbase -c "/usr/hdp/current/hbase-regionserver/bin/hbase-daemon.sh start regionserver"

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

إذا لم تتعرف على مشكلتك أو لم تتمكن من حلها، فتفضل بزيارة إحدى القنوات التالية للحصول على مزيد من الدعم:

  • احصل على إجابات من خبراء Azure عبر Azure Community Support.

  • تواصل مع AzureSupport - حساب Microsoft Azure الرسمي لتحسين تجربة العملاء. وصل مجتمع Azure بالموارد المناسبة: الإجابات، والدعم، والخبراء.

  • إذا كنت بحاجة لمزيد من المساعدة، فيمكنك إرسال طلب دعم من Azure portal. حدد "Support" من شريط القائمة أو افتح المحور "Help + support" . لمزيد من المعلومات التفصيلية، راجع كيفية إنشاء طلب دعم Azure. يتم تضمين الوصول إلى إدارة الاشتراك ودعم الفواتير في اشتراك Microsoft Azure، ويتم توفير الدعم الفني من خلال إحدى خطط دعم Azure.