Skip To Content

Estendere il runtime degli appunti

ArcGIS Notebook Server include due runtime per gli appunti (raccolte di moduli Python). Tali runtime sono disponibili per gli utenti degli appunti attraverso le immagini dei contenitori, che vengono applicate a ciascun contenitore eseguito nel sito del server.

Sia i runtime Standard degli appunti che quelli Avanzati includono ArcGIS API for Python e diversi moduli Python utilizzabili per attività legate alla scienza dei dati, all'analisi spaziale, alla gestione dei contenuti e all'amministrazione. Il runtime avanzato comprende anche ArcPy.

Consultare l'elenco di librerie Python disponibili

In alcuni casi, gli autori di appunti possono aver bisogno di moduli o di versioni specifiche dei moduli che non sono inclusi in questi due runtime. È possibile accedere a ulteriori moduli di Python in ArcGIS Notebook Server nei modi seguenti:

  • Installare un modulo Python durante una sessione di appunti. In questo modo il modulo sarà disponibile per l'uso in quegli appunti.
  • Estendere un'immagine del contenitore Esri per includere librerie aggiuntive Python in un runtime personalizzato. L'immagine del contenitore che si crea renderà disponibile il runtime esteso a tutti gli autori di appunti nel sito.

Installare i moduli durante una sessione

Gli autori dei notebook possono creare dei moduli Python, o versioni di moduli, che non sono inclusi in ogni runtime disponibile per l'uso durante una sessione notebook usando il sistema di gestione pacchetti conda. È consigliabile usare conda poiché ArcGIS Notebook Server lo utilizza per gestire i moduli.

Questo approccio consente di installare il modulo desiderato per la durata della sessione di appunti. Il modulo cesserà di essere disponibile una volta chiusi gli appunti o quando il contenitore appartenente all'utente viene terminato. Per installare i moduli utilizzando questo metodo, è necessario disporre di connettività Internet al canale conda.

Nota:

conda è incluso nei due runtime notebook. Non è necessario installarlo.

Per installare il pacchetto scrapy durante una sessione, ad esempio, eseguire una cella degli appunti con uno dei seguenti comandi, a seconda del sistema di gestione dei pacchetti usato:

Utilizzo del sistema di gestione dei pacchetti conda

!conda install --yes scrapy

Per utilizzare una versione diversa di un modulo di Python nel runtime degli appunti su cui si sta lavorando, specificare il numero di versione nel comando.

È necessario riavviare il kernel dopo aver eseguito un comando conda per rendere disponibile il nuovo pacchetto.

Ad esempio, è disponibile un certo pacchetto in entrambi i runtime degli appunti con la versione 1.5, ma si desidera utilizzare uno strumento introdotto con la 1.6. Per rendere disponibile la versione 1.6 del pacchetto durante una sessione di appunti, ad esempio, eseguire una cella degli appunti con uno dei seguenti comandi, a seconda del sistema di gestione dei pacchetti usato:

Utilizzo del sistema di gestione dei pacchetti conda

!conda install --yes <package name>==1.6

Costruire un'immagine personalizzata di un contenitore

Per modificare in modo definitivo un runtime degli appunti, è possibile creare un'immagine personalizzata del contenitore in un sito. Il seguente flusso di lavoro, che richiede privilegi di amministratore, consente di creare un'immagine personalizzata e configura ArcGIS Notebook Server per usarlo.

Usare uno dei due runtime degli appunti (Standard o Avanzato) come punto di partenza. Una volta creato il runtime personalizzato, è possibile registrarlo come un nuovo runtime nel sito.

  1. Installare e configurare ArcGIS Notebook Server.
  2. Accedere all'Administrator Directory di ArcGIS Notebook Server come amministratore.

    Il formato dell'URL è https://notebookserver.domain.com:11443/arcgis/admin/.

  3. Fare clic sui runtime > degli appunti, quindi selezionare il runtime degli appunti che si desidera estendere per l'immagine personalizzata.

    Nella pagina delle risorse del runtime, prendere nota del valore imageId per questo runtime. Si inserirà questo valore nel passaggio successivo.

  4. Creare un Dockerfile che aggiunga all'immagine personalizzata i moduli Python desiderati.

    Un Dockerfile è un semplice file di testo contenente le istruzioni per creare un'immagine del contenitore Docker. Seguire la documentazione sui Dockerfile per le informazioni e le procedure consigliate.

    In questo esempio si aggiunge il pacchetto Python per la visualizzazione dei dati graphviz al runtime degli appunti Avanzato. Il seguente blocco di codice nel Dockerfile ordina a Docker di accedere al runtime Avanzato usando il suo nome di repository e tag di installare graphviz all'interno del runtime. Potete ottenere il nome repository e tag usando il comando docker images su un computer ArcGIS Notebook Server dove questo runtime è installato. Il comando conda clean è consigliato per ridurre la dimensione del file.

    Usa il comando docker images per ottenere il nome dell'immagine (repository) e il tag di un notebook runtime esistente.

    
    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

    Crea un runtime personalizzato aggiungendo il Python pacchetto graphviz di visualizzazione dati al runtime del notebook Avanzato.

    # 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
  5. Salvare il Dockerfile sul computer in una nuova cartella contente solo il Dockerfile.
  6. Creare una nuova immagine del contenitore personalizzata usando un comando Docker.

    Questa immagine conterrà un nuovo runtime, come specificato nel Dockerfile. Apri la finestra del prompt dei comandi ed eseguire un comando con la seguenti sintassi:

    cd C:\DockerfileDir
    docker build -t arcgis-notebook-python-advanced-custom:10.8.1.14362 -f Dockerfile .
    Nota:

    Non dimenticare di inserire il punto al termine del comando.

    Quando si esegue il comando, Docker crea la nuova immagine del contenitore. L'ultima riga dell'output del comando sarà Successfully built <imageId> con l'identificativo abbreviato della nuova immagine. È necessario fornire al sito ArcGIS Notebook Server il valore imageId completo.

  7. Esegui il seguente comando nella finestra del prompt dei comandi per ottenere il valore identificativo dell'immagine:

    docker inspect <imageId>

    Se hai un sito Notebook Server con un solo computer, puoi saltare i passi da 8 a 10. Se hai un sito Notebook Server con più computer, completa i passi da 8 a 10.

  8. Salvare l'immagine personalizzata Docker come file *.tar usando docker save.

    Apre una finestra di comando sulla macchina Notebook Server dove è installata l'immagine runtime personalizzata ed esegue il seguente comando per salvare l'immagine runtime personalizzata come file *.tar.

     docker save arcgis-notebook-python-advanced-custom:10.8.1.14362 > arcgis-notebook-python-advanced-custom.tar

  9. Su ogni computer in cui è installato Notebook Server, carica l'immagine di runtime personalizzata usando l'utilità di post-installazione di ArcGIS Notebook Server.
    1. Apri un prompt dei comandi come amministratore.
    2. Cambia le directory nella cartella dell'utilità post-installazione di ArcGIS Notebook Server.

      Il percorso predefinito è C:\Program Files\ArcGIS\NotebookServer\tools\postInstallUtility

    3. Installa la tua immagine personalizzata Docker specificando il percorso del file.

       PostInstallUtility.bat -l <path of .tar Custom Docker image>

  10. Ripeti il passo 9 su ogni computer che partecipa al tuo sito ArcGIS Notebook Server.

L'immagine personalizzata è ora creata e si ha il suo valore imageId completo, che verrà utilizzato per registrarla con il sito ArcGIS Notebook Server nella sezione successiva.

Registrare un nuovo in Manager

A partire dalla versione 10.8, è possibile usare ArcGIS Notebook Server Manager per registrare un runtime personalizzato che è stato creato.

  1. Effettuare l'accesso al portale ArcGIS Enterprise come amministratore e aprire ArcGIS Notebook Server Manager.
  2. Aprire la pagina Impostazioni e fare clic su Runtime.
  3. Fai clic Registra runtime per aprire la finestra di dialogo di registrazione.
  4. Specificare i valori appropriati per completare la registrazione.

    ParametroDettagli

    Nome

    Una stringa per rappresentare il nuovo runtime, come "Notebook Custom Runtime Python 3".

    Tipo di contenitore

    L'unico valore valido è docker.

    CPU massima

    Il numero massimo di unità CPU da usare per ciascun contenitore.

    Sono richiesti privilegi avanzati

    Attivare l'interruttore se il runtime richiede il privilegio di notebook Avanzato.

    ID immagine

    ID completo (non troncato) per la nuova immagine Docker al momento in cui stata costruita.

    Runtime Docker

    Si applica solo a runtime GPU in ambienti Linux.

    Memoria massima

    La quantità massima di memoria da usare per ciascun contenitore.

    Unità di memoria massima

    L'unità specificata dal parametro maxMemory.

    Memoria swap massima

    La quantità massima di memoria swap disponibile per ogni contenitore se raggiunge il limite di maxMemory.

    Unità di memoria swap massima

    L'unità specificata dal parametro maxSwapMemory.

    Memoria condivisa

    La quantità di memoria condivisa disponibile per ciascun contenitore.

    Unità di memoria condivisa

    L'unità specificata dal parametro sharedMemory.

    Manifest libreria

    Un file *.json (in codifica UTF-8 o ANSI) contenente un elenco di librerie Python nel runtime.

    Nota:

    Per creare un file manifest.json, aprire una finestra PowerShell sulla macchina ArcGIS Notebook Server in cui è installata l'immagine di runtime del notebook personalizzato ed eseguire uno dei seguenti comandi, a seconda che venga usati contenitori Windows o Linux.

    Nei contenitori Windows, utilizzare il seguente comando:

    $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;

    Nei contenitori Linux, utilizzare il seguente comando:

    $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

  5. Al termine dell'operazione, fare clic su Salva per registrare il nuovo runtime.
  6. Aprire una nuova sessione di appunti per testare l'aggiornamento. Verificare che i moduli o le versioni dei moduli aggiunti all'immagine personalizzata siano disponibili negli appunti.

Creare un'immagine di runtime personalizzata con pacchetto di backbone ArcGIS Deep Learning.

ArcGIS API for Python supporta la capacità di addestrare più modelli di apprendimento profondo ciascuno dei quali supporta i propri modelli di base (backbone). Il matapacchetto conda arcgis_dl_backbones fornisce supporto agli utenti offline collocando automaticamente le backbone nelle posizioni necessarie, eliminando la necessità di scaricarle da Internet quando si addestrano modelli di apprendimento profondo tramite ArcGIS. Attenersi alla procedura seguente per creare un'immagine di runtime personalizzata che include il metapacchetto conda arcgis_dl_backbones.

  1. Creare una nuova cartella nel computer ArcGIS Notebook Server.

    Una posizione di esempio è /data/custom

  2. Scaricare il pacchetto arcgis_dl_backbones.

    Per ulteriori informazioni, vedere Installazione aggiuntiva per ambiente disconnesso.

  3. Estrarre il pacchetto arcgis_dl_backbones-2.0.1-py_0.tar.bz2 nella cartella creata.
  4. Creare un file Docker con il contenuto seguente nella cartella creata.
    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
  5. Andare alla cartella creata e creare un'immagine personalizzata del contenitore utilizzando il seguente comando Docker.
    docker build -t arcgis-notebook-python-standard-custom:11.1.0.42869 -f /data/custom/Dockerfile .
  6. Seguire i passi 7-10 della sezione Registrare un nuovo runtime in Manager precedente per installare questa immagine di runtime personalizzata nei computer Notebook Server.

Aggiornare un runtime predefinito dopo l'aggiornamento a ArcGIS Notebook Server

Attenersi alla procedura seguente per aggiornare un runtime personalizzato dopo il passaggio a ArcGIS Notebook Server.

  1. Creare un'immagine di runtime personalizzata utilizzando la nuova versione del'immagine di runtime degli appunti.
  2. Usare l'utilità di post-installazione del notebook server per installare la nuova immagine di runtime su ogni macchina notebook server.
  3. Registra il nuovo runtime usando il gestore di ArcGIS Notebook Server.
  4. Nella pagina dei dettagli degli elementi di ogni notebook che usa il runtime personalizzato, fai clic su Impostazioni.
  5. Verifica e aggiorna il runtime per usare il nuovo runtime personalizzato registrato per ogni macchina tramite il runtime personalizzato.
  6. Dopo aver verificato che la nuova immagine di runtime funziona, rendi obsoleta la versione precedente del runtime personalizzato annullandone la registrazione e rimuovendo l'immagine di runtime da ogni macchina notebook server.

Per ripristinare le impostazioni originali dei runtime nel sito di ArcGIS Notebook Server, eseguire l'operazione Ripristina i Runtime Predefiniti nell'Administrator Directory. Ciò è disponibile con https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore e ripristinerà solo i runtime predefiniti per la versione corrente del sito.