Aplikacja ArcGIS Notebook Server udostępnia dwa środowiska wykonawcze notatników (zbiory modułów w języku Python). Użytkownicy notatników mają dostęp do tych środowisk wykonawczych za pośrednictwem obrazów kontenera, które są stosowane w przypadku każdego kontenera uruchomionego w używanej witrynie serwera.
Zarówno standardowe, jak i zaawansowane środowisko wykonawcze notatnika zawiera interfejs ArcGIS API for Python i różne moduły języka Python, których można używać do naukowej analizy danych, analizy przestrzennej oraz zarządzania i administrowania zasobami. Zaawansowane środowisko wykonawcze zawiera również pakiet ArcPy.
Zapoznaj się z listą dostępnych bibliotek Python
W niektórych przypadkach autorzy notatników mogą potrzebować modułów lub konkretnych ich wersji, które nie są dostępne w tych dwóch środowiskach wykonawczych. Dostęp do dodatkowych modułów języka Python w aplikacji ArcGIS Notebook Server można uzyskać w następujący sposób:
- Zainstaluj moduł języka Python podczas sesji notatnika. W ten sposób moduł stanie się dostępny do użytku w tym notatniku.
- Rozszerz obraz kontenera Esri tak, aby zawierał dodatkowe biblioteki Python w niestandardowym środowisku wykonawczym. Utworzony obraz kontenera sprawi, że rozszerzone środowisko wykonawcze będzie dostępne dla wszystkich autorów notatników w witrynie.
Instalowanie modułów podczas sesji
Podczas sesji notatnika autorzy notatników mogą przy użyciu systemu zarządzania pakietami Python udostępniać moduły języka conda lub wersje modułów, które nie znajdują się w żadnym ze środowisk wykonawczych. Zaleca się użycie systemu conda, ponieważ aplikacja ArcGIS Notebook Server używa go do zarządzania modułami.
To podejście pozwala zainstalować żądany moduł w czasie trwania sesji notatnika. Po zamknięciu notatnika lub przerwaniu działania kontenera należącego do użytkownika moduł przestaje być dostępny. Aby instalować moduły tą metodą, musisz mieć połączenie internetowe z kanałem conda.
Notatka:
Kanał conda jest uwzględniony w obu środowiskach wykonawczych notatników. Nie jest konieczna jego instalacja.
Aby na przykład zainstalować pakiet scrapy w trakcie sesji, uruchom komórkę notatnika za pomocą jednego z następujących poleceń (w zależności od używanego systemu zarządzania pakietami):
W przypadku systemu zarządzania pakietami conda
!conda install --yes scrapy
Aby skorzystać z innej wersji modułu języka Python w używanym środowisku wykonawczym notatników, określ w poleceniu numer tej wersji.
Po uruchomieniu polecenia conda trzeba zrestartować jądro, aby nowy pakiet stał się dostępny.
Na przykład pewien pakiet jest dostępny w obu środowiskach wykonawczych notatników w wersji 1.5, ale chcesz użyć narzędzia wprowadzonego w wersji 1.6. Aby udostępnić wersję 1.6 pakietu w trakcie sesji notatnika, uruchom komórkę notatnika za pomocą jednego z poniższych poleceń (w zależności od używanego systemu zarządzania pakietami):
W przypadku systemu zarządzania pakietami conda
!conda install --yes <package name>==1.6
Budowanie niestandardowego obrazu kontenera
Aby dokonać trwałych zmian w środowisku wykonawczym notatników, możesz zbudować niestandardowy obraz kontenera w witrynie. Poniższa procedura wykonywania zadań, która wymaga uprawnień administratora, pozwala utworzyć niestandardowy obraz i skonfigurować aplikację ArcGIS Notebook Server do korzystania z niego.
Punktem wyjścia jest jedno z dwóch środowisk wykonawczych notatników (standardowe lub zaawansowane). Po zbudowaniu niestandardowego środowiska wykonawczego możesz je zarejestrować jako nowe środowisko wykonawcze w witrynie.
- Zainstaluj i skonfiguruj aplikację ArcGIS Notebook Server.
- Zaloguj się w aplikacji ArcGIS Notebook Server Administrator Directory jako administrator.
Adres URL ma format https://notebookserver.domain.com:11443/arcgis/admin/.
- Kliknij pozycję notatniki (notebooks) > środowiska wykonawcze (runtimes) i wybierz środowisko wykonawcze notatników, które chcesz rozszerzyć na potrzeby obrazu kontenera.
Na stronie zasobów środowiska wykonawczego zanotuj wartość imageId dla tego środowiska wykonawczego. Wartość ta będzie potrzebna w następnym etapie.
- Utwórz plik Dockerfile, który pozwoli dodać konieczne moduły języka Python do obrazu niestandardowego.
Plik Dockerfile to prosty plik tekstowy z instrukcjami pozwalającymi zbudować obraz kontenera Docker. Informacje i najważniejsze wskazówki znajdziesz w dokumentacji Dockerfile.
W tym przykładzie dodasz pakiet wizualizacji danych graphviz w języku Python do zaawansowanego środowiska wykonawczego notatników. Poniższy blok kodu w pliku Dockerfile zawiera instrukcje dla systemu Docker umożliwiające uzyskanie dostępu do zaawansowanego środowiska wykonawczego przy użyciu jego nazwy repository i tag, a następnie zainstalowanie pakietu graphviz w tym środowisku wykonawczym. Nazwę repository i tag można uzyskać za pomocą polecenia docker images na komputerze serwera ArcGIS Notebook Server, na którym jest zainstalowane to środowisko wykonawcze. Polecenie conda clean jest zalecane do zmniejszenia wielkości pliku.
Wykonaj polecenie docker images, aby pobrać nazwę obrazu (repozytorium) i znacznik istniejącego środowiska notatników.
docker images REPOSITORY TAG IMAGE ID CREATED SIZE arcgis-notebook-python-advanced 10.8.1.14362 e46a81f69ea0 12 months ago 12.4GB arcgis-notebook-python-standard 10.8.1.14362 106a660a4d0b 12 months ago 7.51GB
Utwórz niestandardowe środowisko wykonawcze, dodając pakiet wizualizacji danych graphviz w języku Python do zaawansowanego środowiska wykonawczego notatników.
# Specify the existing notebook runtime imageId as FROM FROM arcgis-notebook-python-advanced:10.8.1.14362 # Use RUN to issue a command to install, then clean RUN conda install graphviz \ && conda clean -y -a
- Zapisz plik Dockerfile na komputerze w nowym folderze, który zawiera tylko plik Dockerfile.
- Zbuduj niestandardowy obraz kontenera przy użyciu polecenia Docker.
Obraz ten będzie zawierał nowe środowisko wykonawcze zgodnie z informacjami w pliku Dockerfile. Otwórz okno wiersza poleceń i uruchom polecenie o następującej składni:
cd C:\DockerfileDir docker build -t arcgis-notebook-python-advanced-custom:10.8.1.14362 -f Dockerfile .
Notatka:
Pamiętaj, aby postawić kropkę na końcu polecenia.
Podczas działania polecenia system Docker buduje nowy obraz kontenera. Ostatni wiersz w danych wynikowych polecenia będzie miał postać Successfully built <imageId> i będzie zawierał skróconą wartość identyfikatora nowego obrazu. W witrynie aplikacji ArcGIS Notebook Server należy podać pełną wartość identyfikatora imageId.
- Uruchom następujące polecenie w oknie wiersza poleceń, aby uzyskać wartość identyfikatora obrazu:
docker inspect <imageId>
Jeśli masz witrynę Notebook Server z jednym komputerem, możesz pominąć etapy od 8 do 10. Jeśli masz witrynę Notebook Server z wieloma komputerami, wykonaj etapy od 8 do 10.
- Zapisz niestandardowy obraz Docker jako plik *.tar za pomocą polecenia docker save.
Otwórz okno poleceń na komputerze Notebook Server, na którym jest zainstalowany niestandardowy obraz środowiska wykonawczego i wykonaj poniższe polecenie, aby zapisać niestandardowy obraz środowiska wykonawczego jako plik *.tar.
docker save arcgis-notebook-python-advanced-custom:10.8.1.14362 > arcgis-notebook-python-advanced-custom.tar
- Na każdym komputerze, na którym jest zainstalowany program Notebook Server, wczytaj niestandardowy obraz środowiska wykonawczego za pomocą narzędzia poinstalacyjnego programu ArcGIS Notebook Server.
- Otwórz wiersz poleceń jako administrator.
- Przejdź do folderu narzędzia poinstalacyjnego programu ArcGIS Notebook Server.
Ścieżka domyślna to C:\Program Files\ArcGIS\NotebookServer\tools\postInstallUtility
- Zainstaluj niestandardowy obraz Docker, określając jego ścieżkę.
PostInstallUtility.bat -l <path of .tar Custom Docker image>
- Powtórz etap 9 na każdym komputerze w witrynie ArcGIS Notebook Server.
Niestandardowy obraz jest zbudowany i uzyskano pełną wartość identyfikatora imageId, która posłuży do zarejestrowania obrazu w witrynie ArcGIS Notebook Server w kolejnej sekcji.
Rejestracja nowego środowiska wykonawczego w aplikacji Manager
Począwszy od wersji 10.8, można użyć aplikacji ArcGIS Notebook Server Manager w celu zarejestrowania utworzonego niestandardowego środowiska wykonawczego.
- Zaloguj się do portalu ArcGIS Enterprise jako administrator i otwórz aplikację ArcGIS Notebook Server Manager.
- Otwórz stronę Ustawienia i kliknij pozycję Środowiska wykonawcze.
- Kliknij opcję Zarejestruj środowisko wykonawcze, aby otworzyć okno dialogowe rejestracji.
- Podaj odpowiednie wartości, aby dokończyć rejestrację.
Parametr Szczegóły Nazwa
Ciąg znakowy reprezentujący nowe środowisko wykonawcze, taki jak "Notebook Custom Runtime Python 3".
Typ kontenera
Jedyna właściwa wartość to docker.
Maksymalna liczba procesorów
Maksymalna liczba jednostek procesorów, które mają być używane dla każdego kontenera.
Wymagane są uprawnienia zaawansowane
Włącz przełącznik, jeśli środowisko wymaga uprawnienia Notatniki zaawansowane.
Identyfikator obrazu
Pełny (nieobcięty) identyfikator nowego obrazu Docker, podany podczas jego budowania.
Środowisko wykonawcze Docker
Dotyczy tylko środowisk wykonawczych z procesorem graficznym w środowiskach Linux.
Maksymalna wielkość pamięci
Maksymalna wielkość pamięci, która ma być używana dla każdego kontenera.
Maksymalna jednostka pamięci
Jednostka określona przez parametr maxMemory.
Maksymalna wielkość pamięci wymiany
Maksymalna wielkość pamięci wymiany, która jest dostępna dla każdego kontenera po osiągnięciu limitu maxMemory.
Maksymalna jednostka pamięci wymiany
Jednostka określona przez parametr maxSwapMemory.
Pamięć wspólna
Wielkość pamięci wspólnej, która jest dostępna dla każdego kontenera.
Jednostka pamięci wspólnej
Jednostka określona przez parametr sharedMemory.
Manifest biblioteki
Plik *.json (kodowanie UTF-8 lub ANSI) zawierający listę bibliotek języka Python w środowisku wykonawczym.
Notatka:
Aby utworzyć plik manifest.json, otwórz okno PowerShell na komputerze serwera ArcGIS Notebook Server, na którym zainstalowano obraz niestandardowego środowiska wykonawczego notatników i uruchom jedno z następujących poleceń, w zależności od tego, czy używane są kontenery Windows czy Linux.
W przypadku kontenerów Windows użyj następującego polecenia:
$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;
W przypadku kontenerów Linux użyj następującego polecenia:
$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
- Kiedy wszystko będzie gotowe, kliknij przycisk Zapisz, aby zarejestrować nowe środowisko wykonawcze.
- Otwórz nowy notatnik, aby przetestować tę aktualizację. Sprawdź, czy moduły lub wersje modułów dodane do niestandardowego obrazu są dostępne w notatniku.
Tworzenie niestandardowego obrazu środowiska wykonawczego za pomocą pakietu szkieletów ArcGIS Deep Learning dla środowisk bez połączenia
ArcGIS API for Python obsługuje możliwość trenowania wielu modeli Deep Learning, z których każdy obsługuje własne modele bazowe (szkielety). Metapakiet arcgis_dl_backbones conda zapewnia wsparcie dla użytkowników offline, automatycznie umieszczając szkielety w niezbędnych lokalizacjach, eliminując potrzebę pobierania szkieletów z Internetu podczas trenowania modeli Deep Leraning przy użyciu systemu ArcGIS. Wykonaj poniższe czynnności, aby utworzyć niestandardowy obraz środowiska wykonawczego zawierający metapakiet arcgis_dl_backbones conda.
- Utwórz nowy folder na komputerze ArcGIS Notebook Server.
Przykładowa lokalizacja to /data/custom
- Pobierz pakiet arcgis_dl_backbones.
Więcej informacji można znaleźć w sekcji Dodatkowa instalacja w środowisku bez połączenia.
- Wyodrębnij pakiet arcgis_dl_backbones-2.0.1-py_0.tar.bz2 do utworzonego folderu.
- Utwórz plik Docker z następującymi zasobami w utworzonym folderze.
FROM arcgis-notebook-python-standard:11.1.0.42869 USER root RUN mkdir -p /home/user/DUMP/arcgis_dl_backbones-2.0.1 USER $NB_UID WORKDIR /home/user/DUMP/arcgis_dl_backbones-2.0.1 COPY arcgis_dl_backbones-2.0.1-py_0.tar.bz2 /home/user/DUMP/arcgis_dl_backbones-2.0.1 RUN conda install --offline arcgis_dl_backbones-2.0.1-py_0.tar.bz2 -y RUN conda clean -y -a WORKDIR $HOME
- Przejdź do utworzonego folderu i utwórz niestandardowy obraz kontenera za pomocą poniższego polecenia Docker.
docker build -t arcgis-notebook-python-standard-custom:11.1.0.42869 -f /data/custom/Dockerfile .
- Wykonaj etapy 7-10 w powyższej sekcji Rejestracja nowego środowiska wykonawczego w menedżerze, aby zainstalować ten niestandardowy obraz środowiska wykonawczego na komputerach Notebook Server.
Aktualizacja niestandardowego środowiska wykonawczego po aktualizacji oprogramowania ArcGIS Notebook Server
Wykonaj następujące czynności, aby zaktualizować niestandardowe środowisko wykonawcze po aktualizacji oprogramowania ArcGIS Notebook Server.
- Zbuduj obraz niestandardowego środowiska wykonawczego przy użyciu nowej wersji obrazu środowiska wykonawczego notatników.
- Użyj narzędzia poinstalacyjnego serwera notatników, aby zainstalować nowy obraz środowiska wykonawczego na każdym komputerze z serwerem notatników.
- Zarejestruj nowe środowisko wykonawcze za pomocą aplikacji ArcGIS Notebook Server Manager.
- Na stronie szczegółów elementów każdego notatnika korzystającego z niestandardowego środowiska wykonawczego kliknij opcję Ustawienia.
- Zweryfikuj i zaktualizuj środowisko wykonawcze do nowo zarejestrowanego niestandardowego środowiska wykonawczego dla każdego komputera korzystającego z tego niestandardowego środowiska wykonawczego.
- Po potwierdzeniu, że nowy obraz środowiska wykonawczego działa, usuń poprzednią wersję niestandardowego środowiska wykonawczego, wyrejestrowując takie środowisko wykonawcze i usuwając obraz środowiska wykonawczego z każdego komputera z serwerem notatników.
W celu przywrócenia oryginalnych ustawień środowisk wykonawczych dostępnych w witrynie aplikacji ArcGIS Notebook Server użyj operacji Przywróć fabryczne środowiska wykonawcze w aplikacji Administrator Directory. Operacja ta jest dostępna pod adresem https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore i spowoduje odtworzenie wyłącznie fabrycznych środowisk wykonawczych dla bieżącej wersji witryny.