يتضمن ArcGIS Notebook Server وقتي تشغيل دفتر الملاحظات (مجموعات من وحدات Python). يتم توفير أوقات التشغيل هذه لمستخدمي دفاتر الملاحظات من خلال صور الحاوية، التي يتم تطبيقها على كل حاوية يتم تشغيلها في موقع الخادم.
يتضمن كل من وقتي تشغيل دفاتر الملاحظات المتقدمة والقياسية ArcGIS API for Python ومجموعة متنوعة من وحدات Python التي يمكن استخدامها لعلوم البيانات والتحليل المكاني وإدارة المحتوى والإدارة. يتضمن وقت التشغيل المتقدم أيضًا ArcPy.
راجع قائمة مكتبات Python المتاحة
في بعض الحالات، قد يحتاج مؤلفو دفاتر الملاحظات إلى وحدات أو إصدارات محددة من الوحدات غير المضمنة في وقتي التشغيل هذين. يمكنك الوصول إلى وحدات Python في ArcGIS Notebook Server بالطرق التالية:
- قم بتثبيت وحدة Python نمطية أثناء جلسة دفتر الملاحظات. هذا يجعل الوحدة متاحة للاستخدام في دفتر الملاحظات هذا.
- قم بتمديد صورة حاوية Esri لتضمين مكتبات Python إضافية في وقت تشغيل مخصص. ستوفر صورة الحاوية التي تنشئها وقت التشغيل الممتد لجميع مؤلفي دفاتر الملاحظات في موقعك.
تثبيت الوحدات النمطية أثناء جلسة
يمكن لمؤلفي دفتر الملاحظات إجراء وحدات Python أو إصدارات الوحدات، غير المضمنة سواء في وقت التشغيل المتاح للاستخدام خلال جلسة دفتر ملاحظات باستخدام أنظمة إدارة حزمة conda أو pip. يوصى باستخدام conda، لأن ArcGIS Notebook Server يستخدمه لإدارة الوحدات؛ ومع ذلك تتوفر بعض وحدات Python فقط في pip.
يثبت هذا النهج الوحدة المطلوبة لمدة جلسة دفتر الملاحظات. بمجرد إغلاق دفتر الملاحظات أو إنهاء الحاوية التي تنتمي إلى المستخدم، فلن تصبح الوحدة متوفرة. لتثبيت الوحدات باستخدام هذه الطريقة، يجب أن يكون لدى المستخدمين اتصال بالإنترنت إلى قناة conda أو pip.
ملاحظة:
يتم تضمين كلاً من conda و pip في وقتي تشغيل دفاتر الملاحظات. لا تحتاج إلى تثبيتها.
لتثبيت حزمة scrapy أثناء جلسة، على سبيل المثال، قم بتشغيل خلية دفتر ملاحظات باستخدام أحد الأوامر التالية، على أساس نظام إدارة الحزمة الذي تستخدمه:
استخدام نظام إدارة حزمة conda
!conda install --yes scrapy
استخدام نظام إدارة حزمة pip
!pip install scrapy
لاستخدام إصدار مختلف من وحدة Python في وقت تشغيل دفتر الملاحظات الذي تعمل عليه، فحدد رقم الإصدار في الأمر.
يجب أن تعيد تشغيل kernel بعد تشغيل أمر conda أو pip لكي تتوفر حزمتك الجديدة.
على سبيل المثال، تتوفر حزمة معينة في كلا وقتي تشغيل دفتر الملاحظات في الإصدار 1.5، لكنك تريد استخدام أداة مقدمة في الإصدار 1.6. لتوفير الإصدار 1.6 من الحزمة أثناء جلسة دفتر الملاحظات، قم بتشغيل خلية دفتر ملاحظات باستخدام أحد الأوامر التالية، على أساس نظام إدارة الحزمة الذي تستخدمه:
استخدام نظام إدارة حزمة conda
!conda install --yes <package name>==1.6
استخدام نظام إدارة حزمة pip
!pip install <package name>==1.6
بناء صورة حاوية مخصصة
لإجراء تغييرات دائمة على وقت تشغيل دفتر الملاحظات، يمكنك إنشاء صورة حاوية مخصصة للاستخدام في موقع. ينشئ سير العمل التالي، الذي يتطلب امتيازات إدارية، صورة مخصصة ويكوِّن ArcGIS Notebook Server لاستخدامه.
استخدم أيًا من وقتي تشغيل دفتر الملاحظات (القياسي أو المتقدم) كنقطة بداية. بمجرد إنشاء وقت التشغيل المخصص، يمكنك تسجيله باعتباره وقت تشغيل جديد في موقعك.
- تثبيت وتكوين ArcGIS Notebook Server.
- سجل الدخول إلى دليل مسؤول ArcGIS Notebook Server كمسؤول.
يتم تنسيق عنوان URL كـ https://notebookserver.domain.com:11443/arcgis/admin/.
- انقر على أوقات تشغيل > دفاتر الملاحظات، ثم حدد وقت تشغيل دفتر الملاحظات الذي تريد تمديده لصورتك المخصصة.
في صفحة مورد وقت التشغيل، لاحظ قيمة imageId لوقت التشغيل هذا. ستقوم بتضمين هذه القيمة في الخطوة التالية.
- أنشئ Dockerfile الذي يضيف وحدات Python المطلوبة إلى الصورة المخصصة.
Dockerfile عبارة عن ملف نصي بسيط من التعليمات لبناء صورة حاوية Docker. اتبع مستندات Dockerfile للحصول على المعلومات وأفضل الممارسات.
في هذا المثال، ستضيف حزمة Python لتصور البيانات graphviz إلى وقت تشغيل دفتر الملاحظات المتقدم. تعمل كتلة التعليمة البرمجية التالية في Dockerfile على توجيه Docker للوصول إلى وقت التشغيل المتقدم باستخدام قيمة imageId الخاصة به، ولتثبيت graphviz في نطاق وقت التشغيل. يعد أمر conda clean أفضل ممارسة لتقليل حجم الملف.
# Specify the existing notebook runtime imageId as FROM FROM aa7a1a346e5b # Use RUN to issue a command to install, then clean RUN conda install graphviz \ && conda clean -y -a
في هذا المثال، ستقوم بإنشاء وقت تشغيل مخصص يتضمن مكتبات عميل Oracle.
## Using a Dockerfile to build a custom notebook runtime that includes Oracle client FROM <replace with imageId of standard or advanced container image> ## Switch to root user for installing OS level packages. USER root ## Combine OS level statements for Docker image efficiency RUN apt-get update && \ apt-get install -y alien ## Update the url below to the desired version of Oracle client. RUN wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm RUN alien -i oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm ## Installing libaio1 is required only for Notebook runtimes version 5 (10.9) or earlier. RUN apt-get install -y libaio1 ## Switch back to arcgis user at end of the Dockerfile USER arcgis
- احفظ Dockerfile الخاص بك على الجهاز، في مجلد جديد يحتوي فقط على Dockerfile.
- قم ببناء صورة حاوية مخصصة جديدة باستخدام أمر Docker.
سوف تحتوي هذه الصورة على وقت تشغيل جديد كما هو محدد في Dockerfile. افتح نافذة موجه الأوامر وقم بتشغيل أمر باستخدام بناء الجملة التالي:
docker build -t <name of my new runtime>:v1.0 -f <path to my Dockerfile> .
ملاحظة:
تأكد من تضمين النقطة في نهاية الأمر.
عند تنفيذ الأمر، سيقوم Docker ببناء صورة حاويتك الجديدة. سيكون السطر الأخير في إخراج الأمر Successfully built <imageId> مع قيمة معرف مختصر للصورة الجديدة. يجب إمداد موقع ArcGIS Notebook Server الخاص بك بقيمة imageId الكاملة.
- شغّل الأمر التالي في نافذة موجه الأوامر للحصول على قيمة معرف الصورة:
docker inspect <imageId>
صورتك المخصصة مبنية الآن ولديك قيمتها imageId الكاملة، والتي سوف تستخدمها لتسجيلها مع موقع ArcGIS Notebook Server في القسم التالي.
تسجيل وقت تشغيل جديد في Manager
بدءًا من 10.8، يمكنك استخدام مدير ArcGIS Notebook Server لتسجيل وقت تشغيل مخصص قمت بإنشائه.
- سجّل الدخول إلى بوابة ArcGIS Enterprise الإلكترونية كمسؤول وافتح ArcGIS Notebook Server Manager.
- افتح صفحة الإعدادات وانقر على أوقات التشغيل.
- انقر على تسجيل وقت التشغيل لفتح مربع حوار التسجيل.
- حدد القيم المناسبة لإكمال التسجيل.
المعلمة التفاصيل name (مطلوب)
سلسلة تمثل وقت التشغيل الجديد، مثل "Notebook Custom Runtime Python 3".
version (مطلوب)
إصدار وقت التشغيل المقدّم من Esri الذي استخدمه كصورة Docker أساسية.
قديم:
تم إهمال هذه المعلمة بدءًا من الإصدار 10.9 من ArcGIS Notebook Server.
imageId (مطلوب)
معرف كامل (غير مقتطع) لصورة Docker الجديدة، مقدم عندما أنشأت الصورة.
containerType (اختياري)
القيمة الصالحة الوحيدة هي "Docker."
imagePullString (اختياري)
غير قابل للتطبيق.
requiresAdvancedPrivileges (مطلوب)
قم بتعيين هذه القيمة على true إذا كان وقت التشغيل يتطلب امتيازات متقدمة.
القيم: true | false
maxCPU (مطلوب)
الحد الأقصى لعدد وحدات وحدة المعالجة المركزية المراد استخدامها لكل حاوية.
maxMemory (مطلوب)
الحد الأقصى لحجم الذاكرة المراد استخدامها لكل حاوية.
maxMemoryUnit (مطلوب)
الوحدة المحددة بواسطة معلمة أقصى ذاكرة.
maxSwapMemory (اختياري)
الحد الأقصى لمقدار ذاكرة التبديل المتوفرة لكل حاوية إذا وصلت إلى حد الذاكرة القصوى.
maxSwapMemoryUnit (اختياري)
الوحدة المحددة بواسطة معلمة الحد الأقصى لذاكرة التبديل.
sharedMemory (اختياري)
مقدار الذاكرة المشارَكة المتوفرة لكل حاوية.
sharedMemoryUnit (اختياري)
الوحدة المحددة بواسطة معلمة الذاكرة المشارَكة.
dockerRuntime (اختياري)
تنطبق فقط على أوقات تشغيل GPU في بيئات Linux. تعلم المزيد
manifestFile (اختياري)
قم بتحميل ملف بتنسيق JSON يحتوي على قائمة بمكتبات Python المضمنة في وقت التشغيل هذا.
f (اختياري)
تنسيق الاستجابة الافتراضية. تنسيق الاستجابة الافتراضية هو html.
القيم: html | json | pjson
ملاحظة:
لإنشاء ملف manifest.json، افتح نافذة PowerShell على جهاز ArcGIS Notebook Server حيث تم تثبيت صورة وقت تشغيل الكمبيوتر الدفتري المخصصة وقم بتشغيل الأمر التالي:
$ID = docker container run -d --rm -it -v /:/host <custom_runtime_image_ID> /bin/bash; docker exec -it $ID /opt/conda/bin/conda list --json >> ~\Desktop\manifest.json; docker kill $ID
- عندما تكون جاهزًا، انقر على حفظ لتسجيل وقت التشغيل الجديد.
- افتح مصنفًا جديدًا لاختبار هذا التحديث. تحقق من أن الوحدات النمطية أو إصدارات الوحدات التي قمت بإضافتها إلى صورتك المخصصة متوفرة في دفتر الملاحظات.
لإعادة أوقات التشغيل في موقع ArcGIS Notebook Server إلى الإعدادات الأصلية، استخدم عملية استعادة أوقات تشغيل المصنع في دليل المسؤول. يتوفر هذا على https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore، وسيستعيد فقط أوقات تشغيل المصنع للإصدار الحالي لموقعك.