Расширение рабочей среды блокнота
ArcGIS Notebook Server включает две рабочих среды блокнота (наборы модулей Python). Эти среды доступны для пользователей блокнота через образы контейнеров, которые применяются к каждому контейнеру, работающему на сайте сервера.
Рабочие среды Standard и Advanced включают ArcGIS API for Python и различные модули Python, которые могут использоваться для изучения данных, пространственного анализа, управления ресурсами и администрирования. Рабочая среда Advanced также содержит ArcPy.
См. список доступных библиотек Python
В некоторых случаях авторам блокнотов могут потребоваться модули или определенные версии модулей, которые не входят в эти две рабочие среды. Вы можете подключиться к дополнительным модулям Python в ArcGIS Notebook Server следующим образом:
Установите модуль Python во время сеанса Notebook. Это сделает модуль доступным для данного блокнота.
Расширьте образ контейнера Esri, включив в него дополнительные библиотеки Python в пользовательской рабочей среде. Создаваемый образ контейнера сделает расширенную рабочую среду доступной для всех авторов блокнотов на вашем сайте.
Установка модулей во время сеанса
Авторы блокнотов могут создавать модули Python или версии модулей, которые не включены ни в одну доступную рабочую среду для работы в ходе сеанса блокнота с помощью системы управления пакетами conda. Рекомендуется использовать conda, поскольку ArcGIS Notebook Server использует его для управления модулями.
Этот подход инсталлирует нужный модуль на период длительности сеанса блокнота. После того, как блокнот будет закрыт, либо контейнер, принадлежащий пользователю, будет отключен, модуль перестанет быть доступным. Для установки модулей этим методом необходимо подключение к каналу conda через Интернет.
Примечание:
conda входит в две рабочие среды блокнотов. Вам не нужно устанавливать его.
Чтобы установить пакет scrapy во время сеанса, например, запустите ячейку блокнота с помощью одной из следующих команд в зависимости от используемой системы управления пакетами:
Использование системы управления пакетами conda
!conda install --yes scrapy
Чтобы использовать другую версию модуля Python в рабочей среде блокнота, с которой вы работаете, укажите в команде номер версии.
Вы должны перезапустить ядро после запуска команды conda, чтобы сделать новые пакеты доступными.
Например, определенный пакет доступен в обоих средах блокнотов версии 1.5, но вы хотите использовать инструмент, появившейся в версии 1.6. Чтобы сделать доступным пакет версии 1.6 во время сеанса, запустите ячейку блокнота с помощью одной из следующих команд в зависимости от используемой системы управления пакетами:
Использование системы управления пакетами conda
!conda install --yes <package name>==1.6
Создание пользовательского образа контейнера
Если вы хотите внести постоянные изменения в рабочую среду блокнота, можно построить собственный образ контейнера на сайте. Следующий рабочий процесс, требующий административных прав, позволяет создать пользовательский образ контейнера и настроить ArcGIS Notebook Server на его использование.
Для начала используйте любую из из рабочих сред блокнота (Standard или Advanced). Когда вы создали собственную среду, вы можете зарегистрировать ее как новую среду на вашем сайте.
Установка и настройка ArcGIS Notebook Server.
Выполните вход в ArcGIS Server Administrator Directory, используя учетную запись администратора.
URL-адрес имеет формат
https://notebookserver.domain.com:11443/arcgis/admin/.Перейдите к notebooks > runtimes, затем выберите среду, которую хотите расширить для пользовательского образа.
На странице ресурсов рабочей среды запомните значение
imageIdэтой среды. Это значение будет использоваться в следующем шаге.Создайте Dockerfile, который добавит нужные модули Python к пользовательскому образу.
Dockerfile — это простой текстовый файл, который является набором правил для построения образа контейнера Docker. Обратитесь к документации по Dockerfile для получения дополнительных сведений и рекомендаций.
В этом примере вы добавите пакет визуализации данных Python
graphvizк рабочей среде блокнота Advanced. Следующий блок кода в Dockerfile инструктирует Docker, как получить доступ к среде Advanced, используя имяrepositoryиtag, затем установитьgraphvizв рабочую среду. Вы можете получить имяrepositoryиtagс помощью командыdocker imagesна компьютере ArcGIS Notebook Server, где установлена эта рабочая среда. Командаconda cleanрекомендуется для уменьшения размера файла.Используйте команду
docker images, чтобы получить имя образа (репозиторий) и тег для существующей рабочей среды блокнота, как показано в следующих примерах ответов.docker images REPOSITORY TAG IMAGE ID CREATED SIZE arcgis-notebook-python-windows 11.4.0.54309 7a03917a4381 5 weeks ago 29.5GBdocker images REPOSITORY TAG IMAGE ID CREATED SIZE arcgis-notebook-python-advanced 11.4.0.54309 e46a81f69ea0 12 months ago 12.4GB arcgis-notebook-python-standard 11.4.0.54309 106a660a4d0b 12 months ago 7.51GBСоздайте пользовательскую рабочую среду, добавив визуализации
graphvizпакета Python в рабочую среду блокнота Advanced.# Specify the existing notebook runtime imageId as FROM FROM <repository>:<tag> # Use RUN to issue a command to install, then clean RUN conda install graphviz \ && conda clean -y -aСохраните Dockerfile на компьютере в новой папке, которая содержит только Dockerfile.
Постройте пользовательский образ контейнера, используя команду Docker.
Этот образ будет содержать новую рабочую среду, согласно Dockerfile. Откройте окно командной строки и запустите команду со следующим синтаксисом:
cd C:\DockerfileDir docker build -t <repository>:<tag> -f Dockerfile .Этот образ будет содержать новую рабочую среду, согласно Dockerfile. Откройте терминал и запустите команду со следующим синтаксисом:
docker build -t <repository>:<tag> -f /data/DockerfileDir/Dockerfile .Примечание:
Убедитесь, что в конце команды стоит точка.
При запуске команды Docker построит новый образ контейнера. Последней строкой в результатах команды будет
Successfully built <imageId>с сокращенным значением ID нового образа. Необходимо указать на сайте ArcGIS Notebook Server полное значениеimageId.Запутите следующую команду в окне командной строки, чтобы получить значение ID изображения:
Запустите следующую команду в терминале, чтобы получить значение ID изображения:
docker inspect <imageId>Если у вас сайт Notebook Server с одним компьютером, можете пропустить шаги с 8 по 10. Если у вас сайт Notebook Server с несколькими компьютерами, выполните шаги с 8 по 10.
Сохраните пользовательское изображение Docker как файл
*.tarс помощьюdocker save.Откройте командное окно на компьютере Notebook Server, на котором установлен пользовательский образ среды выполнения, и запустите следующую команду, чтобы сохранить пользовательский образ среды выполнения в виде файла
*.tar.docker save <repository>:<tag> > <repository>-custom.tarНа каждом компьютере, где установлен Notebook Server, загрузите пользовательский образ выполнения с помощью утилиты пост- установки ArcGIS Notebook Server.
Откройте командное окно от имени администратора.
Измените директорию на папку утилиты пост-установки ArcGIS Notebook Server.
Путь по умолчанию —
C:\Program Files\ArcGIS\NotebookServer\tools\postInstallUtility.Установите пользовательский образ Docker, указав путь к файлу.
PostInstallUtility.bat -l <path of .tar Custom Docker image>Путь по умолчанию —
${HOME}/arcgis/notebookserver/tools/postInstallUtility.- Установите пользовательский образ Docker, указав путь к файлу.
./PostInstallUtility.sh -l <path of .tar Custom Docker image>Повторите шаг 9 на каждом компьютере, участвующем в вашем сайте ArcGIS Notebook Server.
Ваш пользовательский образ теперь построен, и у вас есть его полное значение imageId, которое вы будете использовать для регистрации на сайте ArcGIS Notebook Server в следующем разделе.
Регистрация новой рабочей среды в Manager
Начиная с версии 10.8, можно использовать ArcGIS Notebook Server Manager для регистрации пользовательской рабочей среды, которую вы создали.
Войдите на свой портал ArcGIS Enterprise как администратор и откройте ArcGIS Notebook Server Manager.
Откройте страницу Настройки и щелкните Runtimes.
Щелкните Зарегистрировать рабочую среду, чтобы открыть диалоговое окно регистрации.
Укажите соответствующие значения для завершения регистрации.
Параметр
Детали
Имя
Строка для представления новой рабочей среды, такой как
"Notebook Custom Runtime Python 3".Тип контейнера
Единственным допустимым значением является
docker.Максимум CPU
Максимальное количество устройств CPU, которое может использоваться для каждого контейнера.
Требуются расширенные права доступа
Включите переключатель, если для рабочего цикла требуются права Расширенная среда Notebook.
ID изображения
Полный (не усеченный) ID нового образа Docker при его создании.
Рабочий цикл Docker
Применяется только по отношению к рабочим средам GPU в средах Linux.
Максимум памяти
Максимальный объем памяти, который будет использоваться для каждого контейнера.
Единица максимума памяти
Устройство, заданное параметром
maxMemory.Максимальный размер подкачки
Максимальный объем памяти подкачки, доступный для каждого контейнера при достижении ограничения
maxMemory.Единица максимальной подкачки
Устройство, заданное параметром
maxSwapMemory.Разделяемая память
Объем совместно используемой памяти, доступный для каждого контейнера.
Единица разделяемой памяти
Устройство, заданное параметром
sharedMemory.Манифест библиотеки
Файл
*.json(в кодировке UTF-8 или ANSI), содержащий список библиотек Python в рабочей среде.Примечание:
Чтобы создать файл
manifest.json, откройте окно PowerShell на компьютере ArcGIS Notebook Server, где установлен образ пользовательской рабочей среды блокнота, и запустите одну из следующих команд, в зависимости от того, используете ли вы контейнер Windows или Linux.Для контейнеров Windows используйте следующую команду:
$ID = docker run -d -it <custom_runtime_image_ID> cmd; docker exec -it $ID powershell "conda list --json >> C:\arcgis\home\manifest.json"; docker cp $ID/:C:\arcgis\home\manifest.json <existing_folder_path>; docker kill $ID; docker rm -f $ID;Для контейнеров Linux используйте следующую команду:
$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Примечание:
Чтобы создать файл
manifest.json, откройте терминал на компьютере 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 >> ~/manifest.json && docker kill $IDКогда вы будете готовы, щелкните Сохранить, чтобы зарегистрировать новую рабочую среду.
Откройте новый блокнот, чтобы протестировать это обновление. Убедитесь, что в блокноте доступны добавленные модули или их версии.
Создать пользовательский образ рабочей среды, используя пакет опорной модели ArcGIS Deep Learning для автономной среды
ArcGIS API for Python поддерживает возможность обучения нескольких моделей глубокого обучения, каждая из которых поддерживает свои собственные базовые модели (опорные модели). См. раздел Дополнительная установка для отключенной среды, чтобы узнать о доступных пакетах Backbone. Выполните следующие шаги, чтобы создать пользовательский образ рабочей среды, включающей метапакет arcgis_dl_backbones conda. Этот процесс также будет работать для создания пользовательских сред выполнения с другими Backbone.
Создайте папку на вашем компьютере ArcGIS Notebook Server.
Пример размещения –
C:\Program Files\custom.Пример размещения –
/data/custom.Загрузите
arcgis_dl_backbonesПакет.Распакуйте пакет
arcgis_dl_backbones-<Version number>-py_0.tar.bz2в созданную вами папку.Создайте файл Docker со следующим содержанием и соответствующим номером версии в созданной папке:
FROM <repository>:<tag> RUN mkdir C:\\Users\\arcgis\\arcgis_dl_backbones-<Version number> WORKDIR C:\\Users\\arcgis\\arcgis_dl_backbones-<Version number> COPY arcgis_dl_backbones-<Version number>-py_0.tar.bz2 C:\\Users\\arcgis\\arcgis_dl_backbones-<Version number> RUN conda install --offline arcgis_dl_backbones-<Version number>-py_0.tar.bz2 -y RUN conda clean -y -aFROM <repository>:<tag> USER root RUN mkdir -p /home/user/DUMP/arcgis_dl_backbones-<Version number> USER $NB_UID WORKDIR /home/user/DUMP/arcgis_dl_backbones-<Version number> COPY arcgis_dl_backbones-<Version number>-py_0.tar.bz2 /home/user/DUMP/arcgis_dl_backbones-<Version number> RUN conda install --offline arcgis_dl_backbones-<Version number>-py_0.tar.bz2 -y RUN conda clean -y -a WORKDIR $HOMEПерейдите в созданную вами папку и создайте свой пользовательский образ контейнера с помощью следующей команды Docker:
docker build -t <repository>:<tag> -f /data/DockerfileDir/Dockerfile .Выполните шаги в разделе Регистрация новой рабочей среды в Manager, чтобы установить этот пользовательский образ рабочей среды на своих компьютерах Notebook Server.
Обновление пользовательской рабочей среды после обновления ArcGIS Notebook Server
Выполните следующие шаги, чтобы обновить пользовательскую рабочую среду после обновления ArcGIS Notebook Server.
Создайте собственный образ среды выполнения, используя новую версию образа среды выполнения блокнота.
Используйте утилиту пост-инсталляции сервера блокнотов, чтобы установить новый образ среды выполнения на каждом компьютере сервера блокнотов.
Зарегистрируйте новую среду выполнения с помощью менеджера ArcGIS Notebook Server.
На странице сведений об элементах каждого блокнота, использующего пользовательскую среду выполнения, нажмите Настройки.
Проверьте и обновите среду выполнения до недавно зарегистрированной пользовательской среды выполнения на каждом компьютере, использующем пользовательскую среду выполнения.
Убедившись, что новый образ среды выполнения работает, объявите устаревшей предыдущую версию пользовательской среды выполнения, отменив ее регистрацию и удалив образ среды выполнения с каждого компьютера сервера блокнотов.
Если вы хотите вернуть рабочие среды на сайте ArcGIS Notebook Server к исходным настройкам, используйте операцию Восстановить заводские рабочие среды в Administrator Directory. Эта функция доступна в https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore и она восстанавливает только начальную среду для текущей версии сайта.