النقاط الرئيسية
- JupyterHub هي أداة مجانية تتيح لك استخدام Jupyter Notebook مع الآخرين في نفس الوقت.
- فبها يصبح العمل معًا في مشاريع علوم البيانات أسهل ويمكنك توسيع هذه المشاريع دون متاعب كبيرة.
- لإعداده، تحتاج إلى إعداد مساحة كمبيوتر افتراضية وتعديل JupyterHub ليعمل بالطريقة التي تريدها.
- هناك عدة طرق لتثبيت JupyterHub؛ استخدام Docker أو Conda أو Pip هي بعض منها.
- أثناء استخدام JupyterHub، غالبًا ما تكون وحدات معالجة الرسوميات (GPUs) مطلوبة لتحسين الأداء.
مقدمة
JupyterHub هي أداة مفيدة لعلماء البيانات وعشاق التعلم الآلي. فهي تسهّل العمل التعاوني على Jupyter Notebooks عبر الإنترنت، مما يتيح الوصول إلى دفاتر الملاحظات المشتركة عبر متصفح ويب دون الحاجة إلى تثبيتات محلية. تتيح هذه المنصة المركزية للفرق التعاون بكفاءة في مشاريع علوم البيانات من خلال مشاركة الكود والأدوات. بالإضافة إلى ذلك، يعمل JupyterHub على تبسيط توسيع نطاق المشاريع من خلال استيعاب المزيد من المستخدمين والمتطلبات الحسابية المتزايدة بسلاسة. يقدم دليلنا إرشادات خطوة بخطوة لإعداد JupyterHub على جهازك المحلي، ويغطي التثبيت والتكوين والتحسين لمختلف مستويات المستخدمين، من المبتدئين إلى الخبراء في علوم البيانات. علاوة على ذلك، يمكنك أيضًا استخدام Novita AI GPU Pods لتشغيل إطار عمل Jupyter للحصول على أداء أعلى.
فهم JupyterHub
قبل أن نتعمق في إعداد JupyterHub، دعنا نفهم آليته. JupyterHub هي أداة مجانية تنشئ مساحة مشتركة لـ Jupyter Notebooks، وتعمل كمركز رئيسي يدير خوادم دفاتر الملاحظات الفردية لعدة مستخدمين. تعمل كتطبيق عبر الإنترنت يمكن الوصول إليه عبر متصفح ويب أو سطر أوامر، وتتعامل مع تسجيلات دخول المستخدمين، وإعداد الخادم، والتواصل بين المستخدمين ودفاتر ملاحظاتهم.
عندما يقوم مستخدم بتسجيل الدخول إلى JupyterHub عبر متصفحه، يتحقق خادم المركز منه وينشئ خادم دفاتر ملاحظات شخصيًا. يتيح ذلك للمستخدمين تشغيل نصوص Python أو تحليل البيانات في واجهة مألوفة، مما يسهل مواصلة العمل بسلاسة، تمامًا كما لو كانوا يشغلون Jupyter محليًا.

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

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

بينما يوفر JupyterHub البنية التحتية وقدرات الإدارة لعدة مستخدمين، فإن JupyterLab وJupyter Notebook هما الواجهتان اللتان يتفاعل معهما المستخدمون لكتابة وتنفيذ الكود.
لماذا تستخدم JupyterHub؟
يجلب JupyterHub الكثير من المزايا للأشخاص الذين يعملون معًا في مشاريع علوم البيانات أو التعلم الآلي، خاصة عندما يتعلق الأمر بتوسيع عملياتهم. إليك لماذا قد ترغب في التفكير في استخدام JupyterHub:
سير عمل علوم البيانات التعاوني المبسط
العمل معًا في مشاريع علوم البيانات أمر مهم للغاية، و JupyterHub يجعله أسهل بكثير من خلال السماح للجميع باستخدام نفس خادم المركز. بهذه الطريقة، عندما يسجل الأشخاص الدخول عبر متصفح الويب الخاص بهم، يحصل كل منهم على العمل على الجزء الخاص به من المشروع باستخدام Jupyter Notebook.
مع هذا الإعداد، يمكن لأعضاء الفريق مشاركة ما يعملون عليه بسهولة مع الآخرين والمساعدة في تحليل البيانات أو إصلاح الكود دون انتظار. نظرًا لأن JupyterHub يعتني بمن يمكنه الوصول إلى ماذا وكيف يتم تقسيم الموارد بين المستخدمين، يظل عمل الجميع آمنًا ويعمل بسلاسة.
من المزايا الكبيرة أنك لست بحاجة إلى المرور بمتاعب إعداد Jupyter Notebook لكل شخص. بدلاً من ذلك، يمكن لأي شخص القفز مباشرة إلى مشاريعه من أي مكان فقط عن طريق تسجيل الدخول إلى خادم المركز ببضع نقرات — بغض النظر عن نوع الكمبيوتر أو نظام التشغيل الذي يستخدمونه.
توسيع نطاق مشاريع علوم البيانات الخاصة بك
قد يصبح توسيع مشاريع علوم البيانات الخاصة بك أمرًا صعبًا، خاصة عندما تتعامل مع مجموعات بيانات كبيرة أو مهام معقدة تتطلب الكثير من القدرة الحاسوبية. مع JupyterHub، تصبح هذه العملية أكثر سلاسة لأنه يعمل كخادم مركزي مصمم لدعم العديد من المستخدمين واحتياجاتهم الحسابية الكبيرة.
بالنسبة لتلك المشاريع الكبيرة حقًا، يتعاون JupyterHub مع Kubernetes. تعني هذه الشراكة أنه يمكنك تخصيص الموارد اللازمة لمشاريع علوم البيانات والإشراف عليها بشكل أفضل. بفضل Kubernetes، يساعد استخدام الحاويات في الحفاظ على بيئة كل مستخدم منفصلة حتى يعمل كل شيء بكفاءة أكبر.

مع الجمع بين JupyterHub و Kubernetes في صفك، يصبح التوسع بناءً على ما تتطلبه مشروعك أمرًا مباشرًا. لا يهم إذا كان فريقك ينمو أو كنت تعمل مع أجزاء أكبر من البيانات؛ هذه الأدوات تمنحك المرونة والقوة اللازمة للحفاظ على سير كل شيء بسلاسة في إدارة جميع جوانب عملك في علوم البيانات.
التحضير لتثبيت JupyterHub
قبل أن تبدأ في إعداد JupyterHub، من الضروري التحقق مما إذا كان جهاز الكمبيوتر الخاص بك جاهزًا لذلك. إليك ما تحتاج إلى معرفته لتحضير نظامك:
متطلبات النظام وال prerequisites
قبل أن تبدأ في إعداد JupyterHub، هناك بعض الأشياء التي يجب أن يمتلكها جهاز الكمبيوتر الخاص بك. دعنا نستعرض ما تحتاجه:
- نظام التشغيل: ستحتاج إلى نظام قائم على Linux أو Unix لأن JupyterHub يعمل بشكل أفضل على هذه الأنظمة. قبل أي شيء آخر، تحقق مما إذا كان نظام التشغيل الخاص بك مناسبًا لهذا الإعداد.
- سطر الأوامر: إعداد JupyterHub يعني أنك ستستخدم واجهة سطر الأوامر كثيرًا. إذا لم تكن مرتاحًا لها بعد، فهذا هو الوقت المناسب للتعرف عليها لأن جميع خطوات التثبيت تتم هنا.
- إصدار JupyterHub: من الضروري تنزيل أحدث إصدار من JupyterHub قبل البدء. بهذه الطريقة، لن تفوت أي ميزات جديدة وستتجنب مواجهة المشكلات المعروفة التي تم إصلاحها في الإصدارات الأحدث.
- الجهاز المحلي: سواء قمت بتثبيته لنفسك فقط على جهاز الكمبيوتر الخاص بك أو إعداده على خادم لعدة مستخدمين يعتمد كليًا على ما يناسب حالتك. فقط تأكد من أن الجهاز الذي تختاره يلبي جميع المتطلبات اللازمة لتشغيل JupyterHub بسلاسة.
اختيار طريقة التثبيت المناسبة
اعتمادًا على ما تفضله وما يمكن لجهاز الكمبيوتر الخاص بك التعامل معه، هناك ثلاث طرق رئيسية لتشغيل JupyterHub وإعداده:
- مع Docker، أنت تنظر إلى أداة رائعة تسمح بتشغيل JupyterHub في مساحته الخاصة. إنه سهل الإعداد بشكل مباشر ومثالي إذا كنت بحاجة إلى إبقاء مشاريع Jupyter Notebook المختلفة منفصلة عن بعضها البعض.
- عبر Conda، والذي يهدف إلى تسهيل تجهيز البرامج. تستخدمه لإنشاء مكان خاص لـ JupyterHub على جهاز الكمبيوتر الخاص بك حيث يمكن العثور على كل ما يحتاجه دون العبث بأي شيء آخر.
- استخدام Pip يعني تثبيت JupyterHub مباشرة على نظامك بالطريقة التقليدية. إذا كنت شخصًا يحب تتبع أشياء Python الخاصة به عبر Pip، فقد يكون هذا هو الطريق المناسب لك.
دليل المبتدئين لتثبيت JupyterHub
للبدء، ابدأ بإنشاء بيئة افتراضية على جهازك المحلي. بعد ذلك، داخل هذه البيئة، استخدم pip أو conda لتثبيت JupyterHub وجميع الأجزاء والقطع المطلوبة. بعد الانتهاء من ذلك، انطلق في تعديل JupyterHub من خلال العبث بالخيارات في ملف التكوين. بعد ذلك، قم بتشغيل خادم JupyterHub الخاص بك عن طريق كتابة بعض الأوامر في سطر الأوامر. أخيرًا، من خلال واجهة الإدارة، يمكنك إضافة مستخدمين جدد ومراقبة من يمكنه فعل ماذا.
هذه الطريقة السهلة تجعل إعداد JupyterHub لمشاريع علوم البيانات الخاصة بك أمرًا سهلاً.
الخطوة 1: إعداد بيئة افتراضية
قبل أن تبدأ مع JupyterHub، من الجيد إنشاء بيئة افتراضية. بهذه الطريقة، تحافظ على كل شيء مرتبًا وتتجنب إفساد أي أشياء Python قمت بها بالفعل على جهاز الكمبيوتر الخاص بك. فكر في البيئة الافتراضية كمساحتك الصغيرة الخاصة حيث يمكن لـ JupyterHub العيش دون الاصطدام بأي شيء آخر.
لإنشاء هذه المساحة الخاصة، فإن أدوات مثل Conda أو virtualenv هي ما يختاره معظم الناس. مع Conda، يكون إعداد الأشياء مباشرًا إلى حد ما — فهو يساعد في إدارة هذه البيئات بسهولة. من ناحية أخرى، إذا كنت تميل أكثر لاستخدام شيء موجود وموثوق به من قبل الكثيرين، فإن virtualenv يقوم بالمهمة لإنشاء هذه المساحات المعزولة.
إذا كان الذهاب في طريق Conda يبدو مناسبًا لك، إليك كيفية البدء من سطر الأوامر:
conda create --name myenv
فقط استبدل “myenv” بالاسم الذي يبدو مناسبًا لقاعدتك الجديدة. بعد إعدادها، أحضرها إلى الحياة مع:
conda activate myenv
ولكن إذا كان virtualenv يبدو أكثر على ذوقك فلا تقلق! ابدأ بكتابة هذا:
python -m venv myenv
مرة أخرى، غير “myenv” إلى أي اسم يناسب ذوقك. للقفز إلى العمل بعد إعداد كل شيء استخدم:
source myenv/bin/activate
من خلال اتخاذ هذه الخطوات أولاً قبل الغوص في تثبيت JupyterHub، يضمن ذلك أن كل شيء يعمل بسلاسة في زاويته المرتبة الخاصة.
الخطوة 2: تثبيت JupyterHub والتبعيات الضرورية
بمجرد أن تكون بيئتك الافتراضية جاهزة، فإن الخطوة التالية هي تثبيت JupyterHub وكل الأشياء التي يحتاجها. يمكنك القيام بذلك باستخدام أدوات مثل Pip أو Conda.
مع Pip، اكتب فقط:
pip install jupyter
في بيئتك الافتراضية. هذا الأمر يحصل لك على أحدث إصدار من JupyterHub مع أي شيء آخر يحتاجه للعمل.
من ناحية أخرى، إذا كانت Conda تشعرك براحة أكبر، استخدم هذا الأمر بدلاً من ذلك:
conda install -c conda-forge jupyterhub
هذا يفعل نفس الشيء إلى حد كبير ولكنه يجلب JupyterHub من مكان يسمى قناة conda-forge.
بالإضافة إلى تثبيت JupyterHub نفسه، هناك بعض القطع والإضافات مثل npm و Node.js التي ستحتاجها أيضًا. هذه مهمة لأنها تساعد في تشغيل شيء يسمى configurable HTTP proxy وهو جزء من كيفية عمل JupyterHub. يساعد npm في إدارة حزم JavaScript بينما يسمح Node.js بتشغيل تلك الحزم كما هو مقصود.
لتثبيت npm و Node.js على نظامك، اتبع ما تخبرك به مواقعها الرسمية.
بعد إعداد كل شيء بما في ذلك هذه التبعيات الإضافية، فهذا يعني أن الوقت قد حان للبدء في الغوص في تكوين كيفية عمل JupyterHub بالطريقة التي تريدها.
الخطوة 3: تكوين JupyterHub
إعداد JupyterHub يسمح لك بتعديل كيفية عمله لتناسب ما تحتاجه. يوجد ملف تكوين لـ JupyterHub يسمح لك باختيار خيارات مختلفة.
للبدء، قم بإنشاء ملف تكوين يسمى jupyterhub_config.py. يجب وضع هذا الملف في مكان يمكن لـ JupyterHub العثور عليه، مثل المجلد الذي تعمل فيه أو مجلد خاص للتكوينات.
يستخدم ملف التكوين هذا لغة Python. لذلك، باستخدام طرق Python في القيام بالأشياء، يمكنك تحديد أشياء مثل كيفية تسجيل دخول المستخدمين، ووضع حدود على الموارد التي يمكنهم استخدامها، والتحكم في من يمكنه الوصول إلى ماذا، وإعداد البيئة لتشغيل خوادم Jupyter Notebook.
بعد أن يصبح ملف التكوين جاهزًا للاستخدام:
jupyterhub --config jupyterhub_config.py
قم بتشغيل هذا الأمر أعلاه من المحطة الطرفية الخاصة بك. إنه يشغل JupyterHub مع جميع الإعدادات التي اخترتها في ملف التكوين الخاص بك. ثم توجه إلى متصفح الويب الخاص بك؛ الآن، ستتمكن من تسجيل الدخول إلى JupyterHub باستخدام طريقة تسجيل الدخول التي اخترتها.
من خلال إعداد JupyterHub بطريقتك، يمكنك جعله يفعل بالضبط ما تحتاجه.
الخطوة 4: بدء تشغيل خادم JupyterHub الخاص بك
بمجرد الانتهاء من إعداد كل شيء، حان الوقت لتشغيل خادم JupyterHub الخاص بك. للقيام بذلك، توجه إلى محطة طرفية أو سطر أوامر واكتب الأمر اللازم الذي يبدأ تشغيل الخادم. سيتعين عليك تضمين عنوان IP أو اسم المضيف لمكان وجود JupyterHub على شبكتك. بعد تشغيل الخادم، افتح متصفح ويب واكتب إما عنوان IP أو اسم المضيف مع رقم المنفذ المعطى. سينقلك هذا الإجراء إلى شاشة تسجيل الدخول الخاصة بـ JupyterHub. هنا، عن طريق إدخال اسم المستخدم وكلمة المرور، ستكون جاهزًا للغوص في ما يقدمه JupyterHub لك.
الخطوة 5: إضافة المستخدمين وإدارة الأذونات
لإعداد خادم JupyterHub الخاص بك حتى تتمكن من إضافة أشخاص وتحديد ما يمكنهم فعله، ستحتاج إلى العمل مع شيء يسمى أداة المصادقة. الأداة القياسية هي PAM (Pluggable Authentication Module). مع هذه الوحدة، يتم استخدام الحسابات الموجودة بالفعل على الخادم حيث يتم تشغيل JupyterHub لتسجيل الدخول. هذا يعني أن كل شخص سيكون له اسم مستخدم وكلمة مرور خاصة به للدخول إلى خادم JupyterHub. هناك أيضًا طرق أخرى لتسجيل الدخول دون استخدام كلمات مرور متعددة، مثل OAuth و GitHub، والتي تتيح للمستخدمين تسجيل الدخول مرة واحدة فقط للوصول إلى خدمات مختلفة. من خلال التعامل مع من يحصل على أي مستوى من الأذونات أو الوصول، فأنت تحدد بشكل أساسي من يمكنه فعل ماذا على خادم JupyterHub الخاص بك واستخدام ميزاته.
تشغيل JupyterHub على سحابة GPU
يمكن أن يؤدي تشغيل JupyterHub على خادم سحابة GPU مثل Novita AI GPU Pods إلى تعزيز قدرات سير عمل علوم البيانات والتعلم الآلي بشكل كبير. مع Novita AI GPU Pods، يحصل المستخدمون على إمكانية الوصول إلى موارد GPU قوية في السحابة، والتي يمكن استخدامها لتشغيل مثيلات JupyterHub للمشاريع التعاونية. تسمح الطبيعة الفعالة من حيث التكلفة والمرنة لخدمات سحابة GPU هذه للفرق بتوسيع ابتكاراتهم في الذكاء الاصطناعي دون تكبد تكاليف أولية ضخمة.
باستخدام Novita AI GPU Pods، يمكنك الدفع مقابل ما تستخدمه، بدءًا من سعر الساعة المنخفض الذي يصل إلى 0.35 دولار، مما يجعله خيارًا ميسور التكلفة لميزانيات مختلفة. توفر المنصة وصولاً فوريًا إلى Jupyter، مثبتًا مسبقًا مع أطر التعلم الآلي الشائعة، مما يضمن أن المستخدمين يمكنهم الغوص مباشرة في عملهم مع الحد الأدنى من وقت الإعداد. بالإضافة إلى ذلك، توفر Novita AI GPU Pods تخزينًا مجانيًا بسعة كبيرة بدون رسوم نقل، مما يسمح بتخزين كميات كبيرة من البيانات والنماذج، مثل نماذج Llama-3–13b.

تتميز الخدمة أيضًا بالإرفاق السريع وتوسيع نطاق وحدات التخزين، من 5 جيجابايت إلى بيتابايت، مما يسهل الانتقالات السلسة بين الحاويات والأجهزة الافتراضية. مع خيارات النشر العالمية والقدرة على إدارة الموارد من خلال واجهات برمجة تطبيقات سهلة الاستخدام، تجعل Novita AI GPU Pods من السهل إطلاق وإنهاء وإعادة تشغيل المثيلات، مما يوفر حل سحابة GPU موثوقًا وصديقًا للمطورين لتشغيل JupyterHub.
انضم إلى المجتمع لرؤية أحدث التغييرات في المنتج!
الخلاصة
لتلخيص الأمر، JupyterHub هي أداة رائعة للعمل معًا في مشاريع علوم البيانات وجعل سير عملك يتعامل مع المزيد من المهام. فهم كيفية عمله وكيفية إعداده بشكل صحيح هو مفتاح استخدامه جيدًا. يمكنك جعل الأمور أفضل من خلال إعداد مساحات المستخدمين بالطريقة التي تريدها وإضافة أدوات أخرى في المزيج. إصلاح أي مشاكل شائعة يساعد في تشغيل كل شيء دون عوائق. انغمس في ما يمكن لـ JupyterHub فعله لأعمال علوم البيانات الخاصة بك بدءًا من الآن!
Novita AI، المنصة الشاملة للإبداع غير المحدود التي تمنحك الوصول إلى أكثر من 100 واجهة برمجة تطبيقات. من إنشاء الصور ومعالجة اللغة إلى تحسين الصوت ومعالجة الفيديو، الدفع حسب الاستخدام الرخيص، يحررك من متاعب صيانة GPU أثناء بناء منتجاتك الخاصة. جربها مجانًا.
قراءة موصى بها:
