تخطي إلى المحتوى الرئيسي

المجموعات والمخازن

نظره عامه

إدارة المجموعات

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

علاوة على ذلك، عند الانتقال إلى بنية تحتية متعددة المجموعات، غالبا ما تحتاج هذه المهام إلى التكرار لكل مجموعة إضافية، مما يؤدي إلى ارتفاع التكاليف. بالإضافة إلى ذلك ، تتطلب نفقات الصيانة زيادة خطية مع كل مجموعة إضافية.

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

باستخدام Ilum ، يمكنك إدارة البنية متعددة المجموعات من خلال مستوى التحكم المركزي . كل شيء يمكن القيام به ضمن تطبيق Ilum.

إدارة المخازن

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

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

على سبيل المثال، عند استخدام تخزين MinIO المضمن، ستكون كل وظيفة Ilum مسبقا باستخدام معلمات الشرارة هذه:

إيلوم

ستتم إضافة معلمات مماثلة لكل تخزين في نظام المجموعة.

في Ilum ، يمكنك الاستفادة من 4 أنواع من التخزين: GCS ، S3 ، WASBS ، HDFS .

لمعرفة المزيد حول كيفية إضافة وحدات تخزين إلى المجموعات، تفضل بزيارة دليل إضافة المخازن .

إدارة الوظائف المركزية

مشكلة

دعونا نلقي نظرة على مثال. لدينا 10 مجموعات في مناطق مختلفة ونريد نشر وظيفة في إحداها. كيف ستبدو بدون إيلوم؟

سنحتاج إلى التحديث تكوين kubectl لتعيين سياق نظام المجموعة المختار على أنه حالي.

kubectl config use-context cluster_i_context 

هذا يعني أننا سنحتاج إلى احتواء ملف kubeconfig ضخم مع كل مجموعة مكتوبة هناك كسياق:

apiVersion : الإصدار 1 
العناقيد :
- عنقود :
شهادة السلطة : /المسار/إلى/كاليفورنيا - 1. CRT
ملقم : https : < المجموعة - 1 - الملكية الفكرية > : 6443
اسم : عنقود - 1
...
- عنقود :
شهادة السلطة : /المسار/إلى/كاليفورنيا - ن.كرت
ملقم : https : < المجموعة - n - الملكية الفكرية > : 6443
اسم : عنقود - n

السياقات :
- سياق :
عنقود : عنقود - 1
Namespace : افتراضي
مستخدم : مستخدم - 1
اسم : عنقود - 1 - سياق
...
- سياق :
عنقود : عنقود - n
Namespace : افتراضي
مستخدم : مستخدم - n
اسم : عنقود - n - سياق

السياق الحالي : عنقود - أنا

نوع : التكوين
التفضيلات : { }
المستعملون :
- اسم : مستخدم - 1
مستخدم :
شهادة العميل : /المسار/إلى/العميل/الشهادة - 1. CRT
مفتاح العميل : /المسار/إلى/العميل/المفتاح - 1.key
...
- اسم : مستخدم - n
مستخدم :
شهادة العميل : /المسار/إلى/العميل/الشهادة - ن.كرت
مفتاح العميل : /المسار/إلى/العميل/المفتاح - n.key

ومثل هذا النهج يطرح العديد من التحديات. ضع في اعتبارك السيناريوهات التالية:

  1. فقدت Kubeconfig ماذا يحدث إذا فقدت ملف kubeconfig الخاص بك؟: سيؤدي ذلك إلى تعطيل وصولك إلى نظام المجموعة ، مما يتطلب الاسترداد اليدوي أو التجديد.

  2. تبعية الشهادة ماذا لو اعتمد kubeconfig على شهادة مخزنة محليا على جهاز الكمبيوتر الخاص بك، وفقدتها؟: ستصبح استعادة الوصول مرهقة.

  3. وصول متعدد المستخدمين إذا كنت ترغب في منح حق الوصول إلى نظام المجموعة لعدة أشخاص، فهل ستحتاج إلى توزيع ملف وشهادات kubeconfig على الجميع؟: هذه العملية ليست غير فعالة فحسب ، بل تنطوي أيضا على مخاطر أمنية.

  4. تحديثات الشهادات ماذا يحدث عند انتهاء صلاحية الشهادات أو تحتاج إلى تحديث؟: سيتعين عليك تحديث ملف وشهادات kubeconfig لكل مستخدم ، مما يضيف مزيدا من التعقيد.

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

شرارة تقديم \ 
--master k8s://https://<kubernetes-api-server>:6443 \
--نشر نظام المجموعة \
--اسم شرارة التطبيق \
--class com.example.MyApp \
--conf spark.executor.instances=5 \
--conf spark.kubernetes.container.image=<spark-image> \
/المسار/إلى/application.jar

وستحتاج إلى تشغيل هذا الأمر في كل مرة تقوم فيها بإعادة تغيير حجم المهمة أو تحديث التكوينات ، مما يؤدي إلى الكثير من الجهد غير الضروري وعدم الكفاءة.

حل

تقضي Ilum على كل هذه المشاكل بنهجها المبسط:

  • الإعداد لمرة واحدة : Simply add the cluster’s certificates once to connect Ilum to your cluster, and you're done. No need to manage lengthy kubeconfig files or track multiple certificates and keys.
  • لا يوجد تكوين من جانب المهندس : Your engineers won’t have to configure cluster connections manually or deal with kubeconfig files.
  • الإدارة المستندة إلى واجهة المستخدم نسيان استخدام kubectl لنشر وظائف Spark.: مع Ilum ، يتم التعامل مع كل شيء من خلال واجهة مستخدم سهلة الاستخدام.

للبدء ، ما عليك سوى إضافة مجموعة باتباع الدليل المناسب / ل

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

Note: Jobs launched with Ilum require access to the centralized control plane. To ensure this, you’ll need to expose Ilum services to the outside world and create external services in your remote cluster.

بمجرد توصيل نظام المجموعة الخاص بك، انتقل إلى قائمة نظام المجموعة وحدد نظام المجموعة حيث تريد نشر وظيفة Spark. من هنا يمكنك نشر وظائف Ilum باتباع الأدلة التالية:

With Ilum’s وظائف تفاعلية يمكنك تكوين معلمات Spark وتحميل الملفات ونشر جراب Spark مرة واحدة وتشغيل تطبيقات Spark عدة مرات دون إعادة النشر. علاوة على ذلك ، فإن مجموعات التعليمات البرمجية التفاعلية تتيح لك الميزة تنفيذ كود Spark مباشرة داخل واجهة مستخدم Ilum.

في أي وقت، يمكنك:

  • حرر your job’s Spark parameters or assigned resources.
  • إعادة القياس الوظيفة حسب الحاجة.
  • إعادة التشغيل أو الحذف الوظائف مباشرة من واجهة المستخدم دون استخدام وحدة التحكم.

يبسط Ilum إدارة وظائف Cluster و Spark ، مما يوفر الوقت ويقلل من التعقيد التشغيلي.

المراقبة المركزية

في إيلوم يمكنك مراقبة جميع المعلومات الحيوية حول البنية التحتية لبياناتك من مستوى التحكم المركزي

خادم التاريخ

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

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

إيلوم

إيلوم

The Event Log is stored on the default Ilum Storage. To collect data from Spark jobs running on remote clusters, you’ll need to expose the storage. Detailed instructions for this process can be found on the دليل إضافة GKE

لمزيد من المعلومات حول خادم المحفوظات وكيفية مراقبة وظائفك، تفضل بزيارة صفحة المراقبة

الجرافيت

الجرافيت هي أداة لجمع المقاييس مشابهة لبروميثيوس ولكنها تعمل على نموذج قائم على الدفع ، مما يجعلها مناسبة بشكل خاص للاستخدام في بيئة متعددة المجموعات.

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

لتمكين الجرافيت، اتبع الإرشادات الواردة في صفحة المراقبة . بمجرد التمكين، قم بتكوين مجموعاتك للتكامل مع الجرافيت من خلال الرجوع إلى صفحة إضافة GKS .

نسب البيانات

Lineage هي ميزة Ilum تتيح لك تصور العلاقات بين مجموعات البيانات والوظائف داخل مشاريعك.

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

إيلوم

يتم إنشاء هذه التصورات تلقائيا بواسطة Ilum بفضل قاعدة بيانات البيانات الوصفية: يتم تكوين كل وظيفة Ilum مسبقا لإرسال بيانات التعريف حول الوظائف إلى قاعدة البيانات. تستخدم واجهة مستخدم Ilum هذه البيانات لتقديم العلاقات بين الوظائف ومجموعات البيانات.

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

لمعرفة المزيد حول Data Lineage ، قم بزيارة نسب البيانات صفحة.

مستكشف الملفات

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

إيلوم

لمعرفة المزيد حول هذا الموضوع ، قم بزيارة مستكشف الملفات صفحة

تحليلات البيانات المركزية

يتيح لك Ilum دمج جميع الأدوات لتمكين إجراء تحليلات البيانات من خلال Ilum UI

Metastore

A metastore is a tool that allows you to save information about your data, such as its schema, location, and other metadata on a central, persistent server. To learn more about it, visit the Data catalogs documentation page.

However, you need to expose Hive Metastore Server to remote clusters. You can do this following instructions from دليل إضافة GKE .

مستكشف الجدول

مستكشف الجدول

The Table Explorer lets you explore the contents of your metastores and view samples of your data with the أداة استكشاف البيانات .

To learn more about it, visit the مستكشف الجدول صفحة.

إيلوم SQL

Similar to the Data Exploration Tool, you can access small portions of data by applying SQL operations. However, Ilum SQL provides greater flexibility by enabling you to run complex SQL queries on tables from the Hive Metastore, allowing for more advanced data exploration and analysis.

To learn more about it, visit صفحة Ilum SQL