

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risolvi i problemi relativi ai notebook Studio per Managed Service for Apache Flink
<a name="how-zeppelin-troubleshooting"></a>

Questa sezione contiene informazioni sulla risoluzione dei problemi per i notebook Studio.

## Arresta un'applicazione bloccata
<a name="how-zeppelin-troubleshooting-stopping"></a>

Per interrompere un'applicazione bloccata in uno stato transitorio, richiamate l'[StopApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_StopApplication.html)azione con il `Force` parametro impostato su. `true` Per ulteriori informazioni, consulta [Applicazioni in esecuzione](https://docs.aws.amazon.com/managed-flink/latest/java/how-running-apps.html) nella [Guida per gli sviluppatori del servizio gestito per Apache Flink](https://docs.aws.amazon.com/managed-flink/latest/java/).

## Implementa come applicazione con stato durevole in un VPC senza accesso a Internet
<a name="how-zeppelin-troubleshooting-deploying-no-internet"></a>

La deploy-as-application funzione Managed Service for Apache Flink Studio non supporta applicazioni VPC senza accesso a Internet. Si consiglia di creare l'applicazione in Studio e quindi di utilizzare il servizio gestito per Apache Flink per creare manualmente un'applicazione Flink e selezionare il file zip che hai creato nel tuo notebook.

I passaggi seguenti descrivono come farlo: 

1. Compila ed esporta l'applicazione Studio in Amazon S3. Dovrebbe trattarsi di un file zip. 

1. Crea manualmente un'applicazione del servizio gestito per Apache Flink con il percorso del codice che fa riferimento alla posizione del file zip in Amazon S3. Inoltre, dovrai configurare l'applicazione con le seguenti variabili `env` (2 `groupID`, 3 `var` in totale): 

1. kinesis.analytics.flink.run.options

   1. python: source/note.py

   1. file jar: lib/ .jar PythonApplicationDependencies

1. managed.deploy\$1as\$1app.options

   1. DatabasEarn: *<glue database ARN (Amazon Resource Name)>*

1. Potrebbe essere necessario concedere ai ruoli IAM del servizio gestito per Apache Flink Studio e del servizio gestito per Apache Flink le autorizzazioni per i servizi utilizzati dall'applicazione. È possibile utilizzare lo stesso ruolo IAM per entrambe le applicazioni.

## Deploy-as-app riduzione delle dimensioni e dei tempi di costruzione
<a name="how-zeppelin-troubleshooting-deploying-as-app-reduce-build-time"></a>

Le applicazioni Studio deploy-as-app for Python racchiudono tutto ciò che è disponibile nell'ambiente Python perché non possiamo determinare di quali librerie hai bisogno. Ciò può comportare una dimensione maggiore del necessario. deploy-as-app La procedura seguente mostra come ridurre le dimensioni dell'applicazione deploy-as-app Python disinstallando le dipendenze.

Se stai creando un'applicazione Python con deploy-as-app funzionalità di Studio, potresti prendere in considerazione la possibilità di rimuovere i pacchetti Python preinstallati dal sistema se le tue applicazioni non dipendono da. Ciò non solo contribuirà a ridurre le dimensioni finali degli artefatti per evitare di violare il limite di servizio relativo alle dimensioni delle applicazioni, ma migliorerà anche i tempi di creazione delle applicazioni dotate di questa funzionalità. deploy-as-app

È possibile eseguire il seguente comando per elencare tutti i pacchetti Python installati con le rispettive dimensioni installate e rimuovere selettivamente i pacchetti con dimensioni significative.

```
%flink.pyflink

!pip list --format freeze | awk -F = {'print $1'} | xargs pip show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{gsub("-","_",$1); print $2 "/" tolower($1)}' | xargs du -sh 2> /dev/null | sort -hr
```

**Nota**  
`apache-beam` è richiesto per il funzionamento di Flink Python. Questo pacchetto e le sue dipendenze non devono mai essere rimossi.

Di seguito è riportato l'elenco dei pacchetti Python preinstallati in Studio V2 che possono essere presi in considerazione per la rimozione:

```
scipy
statsmodels
plotnine
seaborn
llvmlite
bokeh
pandas
matplotlib
botocore
boto3
numba
```

**Per rimuovere un pacchetto Python dal notebook Zeppelin:**

1. Controlla se la tua applicazione dipende dal pacchetto, o da uno dei pacchetti che la utilizzano, prima di rimuoverla. È possibile identificare i dipendenti di un pacchetto utilizzando [pipdeptree](https://pypi.org/project/pipdeptree/).

1. Esegui il seguente comando per rimuovere un pacchetto:

   ```
   %flink.pyflink
   !pip uninstall -y <package-to-remove>
   ```

1. Se hai bisogno di recuperare un pacchetto rimosso per errore, esegui il seguente comando:

   ```
   %flink.pyflink
   !pip install <package-to-install>
   ```

**Example Esempio: rimuovi il `scipy` pacchetto prima di distribuire l'applicazione deploy-as-app Python con funzionalità.**  

1. Utilizza `pipdeptree` per scoprire tutti i consumatori `scipy` e verificare se puoi rimuovere `scipy` in sicurezza.
   + Installa lo strumento tramite notebook:

     ```
     %flink.pyflink             
     !pip install pipdeptree
     ```
   + Ottieni l'albero delle dipendenze invertito di `scipy` eseguendo:

     ```
     %flink.pyflink
     !pip -r -p scipy
     ```

     Verrà visualizzato un output simile al seguente (condensato per brevità):

     ```
     ...
     ------------------------------------------------------------------------ 
     scipy==1.8.0 
     ├── plotnine==0.5.1 [requires: scipy>=1.0.0] 
     ├── seaborn==0.9.0 [requires: scipy>=0.14.0] 
     └── statsmodels==0.12.2 [requires: scipy>=1.1] 
         └── plotnine==0.5.1 [requires: statsmodels>=0.8.0]
     ```

1. Ispeziona attentamente l'utilizzo di `seaborn`, `statsmodels` e `plotnine` nelle tue applicazioni. Se le tue applicazioni non dipendono da `scipy`, `seaborn`, `statemodels` o da `plotnine`, puoi rimuovere tutti questi pacchetti o solo quelli che non sono necessari alle tue applicazioni.

1. Rimuovi il pacchetto eseguendo:

   ```
   !pip uninstall -y scipy plotnine seaborn statemodels
   ```

## Annullare job
<a name="how-notbook-canceling-jobs"></a>

Questa sezione mostra come annullare i processi di Apache Flink a cui non puoi accedere da Apache Zeppelin. Se desideri annullare un processo di questo tipo, vai al pannello di controllo di Apache Flink, copia l'ID del processo, quindi utilizzalo in uno dei seguenti esempi.

Per annullare un singolo processo:

```
%flink.pyflink
import requests

requests.patch("https://zeppelin-flink:8082/jobs/[job_id]", verify=False)
```

Per annullare tutti i processi in esecuzione:

```
%flink.pyflink
import requests

r = requests.get("https://zeppelin-flink:8082/jobs", verify=False)
jobs = r.json()['jobs']

for job in jobs:
    if (job["status"] == "RUNNING"):
        print(requests.patch("https://zeppelin-flink:8082/jobs/{}".format(job["id"]), verify=False))
```

Per annullare tutti i processi:

```
%flink.pyflink
import requests

r = requests.get("https://zeppelin-flink:8082/jobs", verify=False)
jobs = r.json()['jobs']

for job in jobs:
    requests.patch("https://zeppelin-flink:8082/jobs/{}".format(job["id"]), verify=False)
```

## Riavvia l'interprete Apache Flink
<a name="how-notbook-restarting-interpreter"></a>

Per riavviare l'interprete Apache Flink sul notebook Studio

1. Scegli **Configurazione** accanto all'angolo in alto a destra della schermata.

1. Scegli **Interprete**.

1. Scegli **riavvia** e poi **OK**.