تتبع أخطاء تطبيقات Apache Spark على نظام مجموعة HDInsight مع مجموعة أدوات Azure لـ Intelj من خلال SSH
تقدم هذه المقالة إرشادات خطوة بخطوة حول كيفية استخدام أدوات HDInsight في مجموعة أدوات Azure لـ IntelliJ لتتبع أخطاء التطبيقات عن بعد على نظام مجموعة HDInsight.
المتطلبات الأساسية
مجموعة Apache Spark على HDInsight. راجع إنشاء مجموعة Apache Spark .
بالنسبة إلى مستخدمي Windows: أثناء تشغيل تطبيق Spark Scala المحلي على كمبيوتر Windows، قد تحصل على استثناء، كما هو موضح في SPARK-2356. يحدث الاستثناء لأن WinUtils.exe مفقود في Windows.
لحل هذا الخطأ، قم بتنزيل Winutils.exe إلى موقع مثل C:\WinUtils\bin. ثم قم بإضافة متغير البيئة HADOOP_HOMEثم تعيين قيمة المتغير إلى C:\WinUtils.
IntelliJ IDEA (طبعة المجتمع مجانية).
عميل SSH. لمزيد من المعلومات، يرجى الرجوع إلى الاتصال بـ HDInsight (Apache Hadoop) باستخدام SSH .
إنشاء تطبيق Spark Scala
ابدأ تشغيل IntelliJ IDEA، وحدد "Create New Project" لفتح نافذة "New Project".
حدد Apache Spark/HDInsight من الجزء الأيمن.
حدد مشروع Spark مع عينات (Scala) من النافذة الرئيسية.
من القائمة المنسدلة إنشاء أداة حدد أيًا مما يلي:
- Maven لدعم معالج إنشاء مشروع Scala.
- SBT لإدارة التبعيات والبناء لمشروع project.
حدد التالي.
في نافذة المشروع الجديد التالية، وفر المعلومات التالية:
الخاصية الوصف اسم المشروع أدخل اسمًا. تستخدم هذه الجولة myApp
.موقع المشروع أدخل الموقع المطلوب لحفظ المشروع. مشروع SDK إذا كان فارغا، فحدد جديد... وانتقل إلى JDK. إصدار Spark يدمج معالج الإنشاء الإصدار المناسب لـSpark SDK و Scala SDK. إذا كان إصدار مجموعة Spark أقدم من 2.0، فحدد Spark 1.x. بخلاف ذلك، حدد Spark 2.x.. يستخدم هذا المثال Spark 2.3.0 (Scala 2.11.8). حدد إنهاء. قد يستغرق الأمر بضع دقائق قبل أن يصبح المشروع متاحًا. شاهد الزاوية اليمنى السفلية للتقدم.
قم بتوسيع مشروعك، وانتقل إلى عينة src>main>scala>. انقر نقرا مزدوجا فوق SparkCore_WasbIOTest.
تنفيذ التشغيل المحلي
من البرنامج النصي SparkCore_WasbIOTest، انقر بزر الماوس الأيمن فوق محرر البرنامج النصي، ثم حدد الخيار تشغيل 'SparkCore_WasbIOTest' لتنفيذ التشغيل المحلي.
بمجرد الانتهاء من التشغيل المحلي، يمكنك الاطلاع على حفظ ملف الإخراج إلى الإعداد الافتراضي لبياناتمستكشف المشروع الحالي>الخاص بك.
لقد قامت أدواتنا بتعيين تكوين التشغيل المحلي الافتراضي تلقائيًا عند إجراء التشغيل المحلي وتتبع الأخطاء المحلي. افتح التكوين [Spark on HDInsight] XXX في الزاوية اليمنى العليا، يمكنك أن ترى [Spark on HDInsight]XXX المنشأة بالفعل ضمن Apache Spark on HDInsight. التبديل إلى علامة التبويب تشغيل محليًا.
- متغيرات البيئة: إذا قمت بتعيين متغير بيئة النظام HADOOP_HOME بالفعل على C:\WinUtils، فإنه يمكن الكشف التلقائي عن عدم الحاجة إلى الإضافة يدويًا.
- موقع WinUtils.exe: إذا لم تقم بتعيين متغير بيئة النظام، يمكنك العثور على الموقع بالنقر فوق الزر الخاص به.
- اختر فقط أيًا من الخيارين، ولن تكون هناك حاجة إليه في نظامي MacOS وLinux.
يمكنك أيضًا تعيين التكوين يدويًا قبل تنفيذ التشغيل المحلي وتتبع الأخطاء المحلي. في لقطة الشاشة السابقة، حدد علامة الجمع (+). ثم حدد خيار Apache Spark on HDInsight. أدخل معلومات عن الاسمواسم الفئة الرئيسية لحفظها، ثم انقر فوق زر التشغيل المحلي.
تنفيذ تتبع الأخطاء المحلي
افتح البرنامج النصي SparkCore_wasbloTest، مع تعيين نقاط التوقف.
انقر بزر الماوس الأيمن فوق محرر البرنامج النصي، ثم حدد الخيار تتبع الأخطاء '[Spark on HDInsight]XXX' لإجراء تتبع الأخطاء المحلي.
تنفيذ التشغيل عن بعد
انتقل إلى تشغيل>تكوينات التعديل.... من هذه القائمة، يمكنك إنشاء أو تحرير التكوينات لتتبع الأخطاء عن بعد.
في مربع الحوار تشغيل/تتبع أخطاء التكوينات حدد علامة الجمع (+). ثم حدد خيار Apache Spark on HDInsight.
التبديل إلى التشغيل عن بعد في علامة تبويب نظام المجموعة. أدخل معلومات عن الاسم ونظام مجموعة Spark، واسم الفئة الرئيسية. ثم انقر فوق تكوين متقدم (تتبع الأخطاء عن بعد). أدواتنا تدعم تتبع الأخطاء مع المنفذين. numExectors، القيمة الافتراضية هي 5. من الأفضل ألا تكون أعلى من 3.
في الجزء التكوين المتقدم (تتبع الأخطاء عن بعد)، حدد تمكين تتبع أخطاء Spark عن بعد. أدخل اسم المستخدم SSH، ثم أدخل كلمة مرور أو استخدم ملف مفتاح خاص. إذا كنت تريد إجراء التتبع عن بعد، عليك تعيينه. ليست هناك حاجة لتعيينه إذا كنت ترغب فقط في استخدام التشغيل عن بعد.
يتم الآن حفظ التكوين بالاسم الذي قمت بتوفيره. لعرض تفاصيل التكوين، حدد اسم التكوين. لإجراء تغييرات، حدد تحرير التكوينات.
بعد إكمال إعدادات التكوينات، يمكنك تشغيل المشروع مقابل نظام المجموعة البعيدة أو تنفيذ تتبع الأخطاء عن بعد.
انقر فوق الزر قطع الاتصال الذي لا يظهر سجلات الإرسال في اللوحة اليمنى. ومع ذلك، فإنه لا يزال يعمل على الخلفية.
تنفيذ تتبع الأخطاء عن بعد
قم بإعداد نقاط الكسر، ثم انقر فوق رمز تتبع الأخطاء عن بعد. الفرق مع الإرسال عن بعد هو أن اسم مستخدم/كلمة مرور SSH بحاجة إلى التكوين.
عند وصول تنفيذ البرنامج إلى نقطة التوقف، سترى علامة تبويب برنامج التشغيل وعلامتي تبويب المنفذ في جزء مصحح الأخطاء. حدد رمز استئناف البرنامج لمتابعة تشغيل التعليمات البرمجية، والتي تصل بعد ذلك إلى نقطة التوقف التالية. تحتاج إلى التبديل إلى علامة التبويب المنفذ الصحيحة للعثور على المنفذ الهدف لتتبع الأخطاء. يمكنك عرض سجلات التنفيذ في علامة التبويب وحدة التحكم المطابقة.
تنفيذ تتبع الأخطاء عن بعد وإصلاح الأخطاء
قم بإعداد نقطتي توقف ثم حدد رمز تتبع الأخطاء لبدء عملية تتبع الأخطاء عن بعد.
تتوقف التعليمة البرمجية عند نقطة التوقف الأولى، وتظهر المعلمة والمعلومات المتغيرة في جزء المتغيرات.
حدد رمز استئناف البرنامج للمتابعة. تتوقف التعليمة البرمجية عند النقطة الثانية. يتم اكتشاف الاستثناء كما هو متوقع.
حدد رمز استئناف البرنامج مرة أخرى. تعرض نافذة تقديم HDInsight Spark خطأ "فشل تشغيل المهمة".
لتحديث قيمة المتغير بشكل حيوي باستخدام إمكانية تتبع أخطاء IntelliJ، حدد تتبع الأخطاء مرة أخرى. يظهر جزء المتغيرات مرة أخرى.
انقر بزر الماوس الأيمن فوق الهدف في علامة التبويب تتبع الأخطاء ثم حدد تعيين قيمة. بعد ذلك، أدخل قيمة جديدة للمتغير. ثم حدد Enter لحفظ القيمة.
حدد رمز استئناف البرنامج لمتابعة تشغيل البرنامج. هذه المرة، لا يوجد استثناء. يمكنك أن ترى أن المشروع يعمل بنجاح دون أي استثناءات.
الخطوات التالية
السيناريوهات
- Apache Spark مع المعلومات المهنية: إجراء تحليل تفاعلي للبيانات باستخدام Spark في HDInsight باستخدام أدوات المعلومات المهنية
- Apache Spark مع التعلم الآلي: استخدام Spark في HDInsight لتحليل درجة حرارة المبنى باستخدام بيانات HVAC
- Apache Spark مع التعلم الآلي: استخدم Spark في HDInsight للتنبؤ بنتائج فحص الأغذية
- تحليل سجل موقع الويب باستخدام Apache Spark في HDInsight
إنشاء التطبيقات وتشغيلها
الأدوات والملحقات
- استخدام مجموعة أدوات Azure لـ IntelliJ لإنشاء تطبيقات Apache Spark لنظام مجموعة HDInsight
- استخدام مجموعة أدوات Azure لـ IntelliJ لتتبع أخطاء تطبيقات Apache Spark عن بُعد من خلال VPN
- استخدام أدوات HDInsight في مجموعة أدوات Azure لإنشاء تطبيقات Apache Spark
- استخدام دفاتر ملاحظات Apache Zeppelin مع نظام مجموعة Apache Spark على HDInsight
- وحدات Kernel المتاحة لدفتر ملاحظات Jupyter في نظام مجموعة Apache Spark لـ HDInsight
- استخدام الحزم الخارجية مع دفاتر ملاحظات Jupyter
- تثبيت Jupyter على جهاز الكمبيوتر الخاص بك، والاتصال بنظام مجموعة HDInsight Spark