اباتشي ابيكس - مقدمة
نشرت: 2015-12-29أصبح Apache Hadoop إطارًا برمجيًا بحكم الواقع لحوسبة موثوقة وقابلة للتطوير وموزعة وواسعة النطاق. منذ إنشائها ، كان Hadoop هو الخيار الأول لإطار العمل لمعالجة الدُفعات. من البنوك الكبيرة إلى عمالقة البيع بالتجزئة عبر الإنترنت ، يستخدم الجميع Hadoop لإنشاء التقارير الدورية والحسابات والعديد من حالات الاستخدام الأخرى. عادةً ما تكون حالات الاستخدام هذه عمليات موجهة نحو الدُفعات وتتطلب بضع ساعات قبل أن نحصل على المعنى من البيانات. يتطلب عالم اليوم السريع معنى أو إجراءات من البيانات الأولية تقريبًا في وقت إنشائها. وقد أدى هذا إلى مفهوم معالجة التدفق. على الرغم من أن Hadoop لا يعتبر في الأصل مناسبًا لمعالجة التدفق ، إلا أن اختراع YARN (Hadoop 2.0) جعله مرشحًا جيدًا له. يوجد حاليًا العديد من أطر معالجة الدفق في نظام Hadoop البيئي ، وتعد Apex واحدة جديدة تمامًا تدخل في هذا السوق المزدحم.
ما هو اباتشي ابيكس؟
Apache Apex هو نظام أساسي قائم على YARN يساعد مطور التطبيقات على كتابة تطبيقات موجهة نحو الدفق بالإضافة إلى تطبيقات مجمعة. إنه مصمم لمعالجة البيانات أثناء الحركة ، بطريقة موزعة وعالية الأداء ومتسامحة مع الأخطاء. إن التثليج فوق هذا هو واجهة برمجة التطبيقات السهلة ، والتي تمكن المستخدمين من كتابة كود جافا الخاص بهم بمعرفة محدودة بمعالجة الدفق.
يعتمد Apex على مواصفات وظيفية وتشغيلية منفصلة بدلاً من تجميعها معًا. هذا يجعل مطوري التطبيقات يركزون على كتابة وظائف محددة من قبل المستخدم دون الحاجة إلى التفكير في كيفية عملهم في بيئة موزعة.
يحتوي Apache Apex على مكتبة غنية من الوظائف شائعة الاستخدام. تمت إضافتها كجزء من مكتبة Apache Apex-Malhar. تحتوي هذه المكتبة على مشغلين للوصول إلى أنظمة ملفات وقواعد بيانات وقوائم انتظار مختلفة. يضيف المجتمع للمشغلين يومًا بعد يوم مما يجعل حياة مطوري التطبيقات أكثر سهولة.
ما هي اللبنات الأساسية لأباتشي أبيكس؟
بنية Apex بسيطة للغاية. Apex لديها Malhar ، مكتبة مشغل ومحرك أساسي للعمل معها. يمكن تصوير Core of Apex على النحو التالي ، وغالبًا ما يشار إليها على أنها كتل رئيسية من Apache Apex.
يمكنك فصل الطبقات بوضوح والحصول على نظرة عامة في المكان المناسب. دعونا نرى معلومات حول هذه الكتل.
- سترام ( Str eam A pplication M aster)
StrAM هو ماجستير في تطبيق YARN. تشمل مسؤوليتها إطلاق تطبيق الدفق ، وتخصيص الموارد ، وجدولة DAG المنطقية. جنبًا إلى جنب مع عمليات YARN هذه ، يقوم StrAM بتهيئة المشغلين ، التدفقات. تجمع StrAM أيضًا إحصاءات من أطفالها. - لقطة الدولة
لا يمكن لأطر معالجة التدفق تحمل فقدان النتائج المعالجة. بالإضافة إلى ذلك ، يجب أن يعرفوا مقدار المعالجة التي قاموا بها من أجل معالجة السجلات بشكل صحيح بعد تعافيها من الفشل. لذلك بشكل دوري ، تحقق التأشير مهم في معالجة التدفق. في Apex ، يتتبع StrAM توجيه الفحص وعند حدود المشغل ، يتم إجراء فحص دوري على HDFS. - REST API
StrAM هي نقطة وصول لـ REST API. يمكن للأدوات الخارجية الوصول إلى REST API والتكامل مع أي تطبيق خارجي. - أدوات
يوفر Apex CLI لتشغيل تطبيقات Apex ومراقبتها. حتى يمكننا بناء منطقتنا بمساعدة REST API. إلى جانب واجهة سطر الأوامر (CLI) ، يمكن للتطبيق التهيئة باستخدام نصوص تكوين ثابتة للتشغيل الآلي. - التقسيم
- تعديلات ديناميكية
- تحليل جيش تحرير السودان
يقوم Apache Apex بتحليل SLA من تلقاء نفسه بشكل دوري. إنه يقوم بتحليل زمن الوصول والاختناق والإنتاجية ويضيف المزيد من الموارد لتلبية اتفاقية مستوى الخدمة التي تم تكوينها. - حماية
- توافر عالية
يستخدم Apache Apex وظائف إعادة التشغيل الخاصة بـ YARN ويعيد التشغيل من آخر حالة تحقق مدببة. - ملهار
Apache Apex –Malhar هي مكتبة مشغل بها العديد من المشغلين. يتم تصنيف هذه العوامل إلى - عوامل الإدخال / الإخراج -
تحت هذه الفئة ، لدى Malhar حاليًا عوامل للقراءة / الكتابة منها - نظام الملفات
- RDBMS
- متاجر NoSQL
- قوائم انتظار الرسائل
- قواعد البيانات في الذاكرة
- وسائل التواصل الاجتماعي
- عوامل حسابية -
- نمط مطابقة
- الإحصائيات والرياضيات
- التعلم الالي
- موزعي
- وسائل التواصل الاجتماعي
- خوادم عازلة
يوفر Apex التقسيم بناءً على المفاتيح وموازنة الحمل الديناميكية. حتى يمكن للمستخدم تحديد مخطط التقسيم الخاص به.
يحتوي Apache Apex على هذه الميزة المفيدة للغاية والفريدة من نوعها. وهو يدعم تغيير DAG المنطقي ، وتغيير خطة التنفيذ المادي.
يدعم Apex Kerberos. بفضل مجموعة Hadoop المؤمنة ، يمكنها الوصول من خلال تكامل Kerberos المتأصل.
لدى Malhar العديد من المشغلين الذين سيساعدون في تنفيذ منطق الأعمال الفعلي. هذه المكتبة لديها
تقع الخوادم العازلة عند حدود كل عامل. في حالة البيانات ، يمكن أن تكون خوادم المخزن المؤقت للمشغل المحلي بعد سلاسل المشغلين. الغرض الرئيسي منها هو الاحتفاظ بالبيانات مؤقتًا عند الحواف قبل إعادة التوجيه إلى التالي. هم دور مهم عندما يتم استرداد العقدة من الفشل. تقوم خوادم المخزن المؤقت بتحميل البيانات من آخر حالة تم التحقق منها لإعادة التشغيل
ما هو نموذج برمجة تطبيقات Apex؟
يتميز هذا بإطار عمل غني ومكتبة Malhar مما يعني أن مطوري التطبيقات يحتاجون فقط إلى توصيل المشغلين وتشغيل التطبيق. لذلك ، فإن تطبيقك ليس سوى سلسلة من العوامل.
هذه هي الطريقة التي يسهل بها إطار العمل الثري حياة المطور. لذلك دعونا نرى كيف يعمل هذا التطبيق التجريبي
اباتشي ابيكس التجريبي
لذلك لنبدأ بـ " Hello World of Big Data J" ، وهو عرض توضيحي صغير لعدد الكلمات باستخدام Apache Apex.
إعداد Apache Apex
لتشغيل هذا العرض التوضيحي ، نحتاج إلى تكوين Apex. يمكنك تثبيت Apache Apex على مجموعتك الحالية أو هناك طريقة بسيطة للتجربة ، يمكنك تنزيل sandbox VM مسبقًا من موقع DataTorrent من هنا. بالنسبة لهذا العرض التوضيحي ، سنستخدم VM المثبت مسبقًا.
تجول Apex UI Console
يأتي Apex مزودًا بوحدة تحكم UI ذات تصميم حدسي وجميل للغاية يمكنك استخدامها لتشغيل التطبيقات ومراقبتها وإدارتها. يتضمن إحصائيات مختلفة بخصوص المكونات المختلفة التي يتم نشرها.
بعد ذلك ، قمت بتنزيل sandbox VM و UnTar وتحميله في مشغل VM المفضل لديك (أستخدم مشغل VMWare VM). تم تكوين جميع البرامج والأدوات المطلوبة لتشغيل Apex بالفعل في هذا الجهاز الظاهري وتم تكوين جميع البرامج النصية لبدء التشغيل للتنفيذ عند تمهيد نظام التشغيل. لذلك ، عندما يعمل جهاز VM الخاص بك ، سيكون لديك مثيل Apache Apex قيد التشغيل. الآن ، لعرض وحدة التحكم ، ما عليك سوى النقر على http: // locahost: 9090 في متصفح الويب المفضل لديك وتسجيل الدخول إلى وحدة التحكم. اسم المستخدم الافتراضي: كلمة المرور الخاصة بـ sandbox VM هي dtadmin: dtadmin. سترى وحدة التحكم على النحو التالي
تعطينا هذه الصفحة نظرة عامة كاملة على جميع الأنظمة مثل استخدام وحدة المعالجة المركزية والذاكرة والتطبيقات والأداء والمشكلات وما إلى ذلك.
لنشر تطبيق ، انتقل إلى علامة التبويب "تطوير" في أعلى الصفحة.
هنا يمكنك نشر حزم التطبيق الخاصة بك وإدارة مخططات المجموعة للبيانات داخل Apex.
يوفر لك Apex عددًا من التطبيقات الجاهزة ، والتي يمكنك رؤيتها مدرجة أدناه:
WordCount التجريبي
الآن ، دعنا نطلق تطبيق wordcount. يمكنك القيام بذلك عن طريق النقر فوق خيار تشغيل التطبيق بجوار DataTorrent Wordcount Demo. بعد ذلك ، يمكنك تقديم تطبيق مختلف وتعديل تفاصيل التكوين إذا لزم الأمر (لن نفعل ذلك لأن معظم الإعدادات الافتراضية تعمل بشكل جيد ، دعنا فقط نعدل اسم التطبيق إلى "MyWordCountDemo"). سترى رسالة تفيد بأنه تم نشر التطبيق بنجاح مع ارتباط إلى التطبيق. اضغط على هذا الرابط.
هذا يفتح صفحة جديدة. انتظر بضع ثوان حتى تتغير حالة التطبيق من مقبول إلى قيد التشغيل. سترى الآن صفحة مليئة بالإحصائيات والمعلومات المختلفة. قطة الثانية التالية تصورهم.
تعرض لنا هذه الصفحات معلومات مختلفة مثل العرض المنطقي والمادي والمتري للتطبيق ، إلى جانب إحصائيات المجموعات / السجلات المختلفة التي تتم معالجتها بواسطة التطبيق كل ثانية. يعرض تمثيلًا رسوميًا لمجموعات tuple المنبعثة ووقت الاستجابة وما إلى ذلك.
يمكنك النقر فوق أي عامل منطقي ، وفحص سجلاته ، وحتى تسجيل عينة. لنفعل ذلك لمشغل وحدة التحكم. انقر فوق مشغل وحدة التحكم وستحصل على معلومات مفصلة حول المشغل على النحو التالي:
بعد ذلك ، حدد أحد الأقسام وانقر على تسجيل عينة.
بعد بضع ثوانٍ ، سترى tuple يتم ملؤها ، انقر فوق tuple لعرض محتواها. كما ترى من المحتوى ، أجرى التطبيق عدد الكلمات استنادًا إلى البيانات المستندة إلى النوافذ وكان هناك 2 "إلى" و 4 "في" و 4 "أ" وما إلى ذلك في مجموعة الإدخال 0 لهذه النافذة. يمكنك الآن إيقاف التطبيق بالنقر فوق "إيقاف التشغيل" أو "القتل" في الصفحة الرئيسية للتطبيق.
هذا كل شيء ، لقد نجحنا في نشر وتشغيل تطبيق wordcount.
خاتمة
كانت هذه مقدمة لأداة دفق جديدة - Apache Apex والتشغيل الناجح لأحد التطبيقات في Apache Apex. يحتوي Apache Apex على العديد من الميزات البارزة التي تمنحه ميزة على إطار العمل الحالي الآخر الذي سأقوم بتغطيته في المنشورات اللاحقة.