

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Beheben Sie Probleme mit Studio-Notebooks für Managed Service für Apache Flink
<a name="how-zeppelin-troubleshooting"></a>

Dieser Abschnitt enthält Informationen zur Fehlerbehebung für Studio-Notebooks.

## Stoppen Sie eine blockierte Anwendung
<a name="how-zeppelin-troubleshooting-stopping"></a>

Um eine Anwendung zu beenden, die in einem vorübergehenden Zustand feststeckt, rufen Sie die [StopApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_StopApplication.html)Aktion auf, wobei der `Force` Parameter auf `true` gesetzt ist. Weitere Informationen finden Sie unter [Ausführen von Anwendungen](https://docs.aws.amazon.com/managed-flink/latest/java/how-running-apps.html) im [Managed Service für Apache Flink Entwicklerhandbuch](https://docs.aws.amazon.com/managed-flink/latest/java/).

## Als Anwendung mit dauerhaftem Zustand in einer VPC ohne Internetzugang bereitstellen
<a name="how-zeppelin-troubleshooting-deploying-no-internet"></a>

Die Funktion Als Anwendung bereitstellen von Managed Service für Apache Flink Studio unterstützt keine VPC-Anwendungen ohne Internetzugang. Wir empfehlen, dass Sie Ihre Anwendung in Studio erstellen und dann Managed Service für Apache Flink verwenden, um manuell eine Flink-Anwendung zu erstellen und die ZIP-Datei auszuwählen, die Sie in Ihrem Notebook erstellt haben.

Die folgenden Schritte beschreiben, wie Sie dies tun: 

1. Erstellen und exportieren Sie Ihre Studio-Anwendung in Amazon S3. Dies sollte eine ZIP-Datei sein. 

1. Erstellen Sie manuell eine Anwendung, die Managed Service für Apache Flink nutzt, mit einem Codepfad, der auf den Speicherort der ZIP-Datei in Amazon S3 verweist. Darüber hinaus müssen Sie die Anwendung mit den folgenden `env`-Variablen (2 `groupID`, 3 `var` insgesamt) konfigurieren: 

1. kinesis.analytics.flink.run.options

   1. Python: .py source/note

   1. JAR-Datei: .jar lib/PythonApplicationDependencies

1. managed.deploy\_as\_app.options

   1. DatabaseARN: {{<glue database ARN (Amazon Resource Name)>}}

1. Möglicherweise müssen Sie Managed Service für Apache Flink Studio und Managed Service für Apache Flink IAM-Rollen für die Services, die Ihre Anwendung verwendet, Berechtigungen erteilen. Sie können dieselbe IAM-Rolle für beide Apps verwenden.

## Deploy-as-app Reduzierung von Größe und Bauzeit
<a name="how-zeppelin-troubleshooting-deploying-as-app-reduce-build-time"></a>

Als App bereitstellen in Studio für Python-Anwendungen verpackt alles, was in der Python-Umgebung verfügbar ist, da wir nicht feststellen können, welche Bibliotheken Sie benötigen. Dies kann dazu führen, dass die Bereitstellung als App größer als nötig ist. Das folgende Verfahren zeigt, wie Sie die Größe der mit Als Anwendung bereitstellen erstellten Python-Anwendung reduzieren können, indem Abhängigkeiten deinstalliert werden.

Wenn Sie eine Python-Anwendung mit dem Feature Als Anwendung bereitstellen von Studio erstellen, sollten Sie erwägen, vorinstallierte Python-Pakete aus dem System zu entfernen, wenn Ihre Anwendungen nicht davon abhängig sind. Dies trägt nicht nur dazu bei, die endgültige Artefaktgröße zu reduzieren, um eine Überschreitung des Service-Limits für die Anwendungsgröße zu vermeiden, sondern verbessert auch die Erstellungszeit von Anwendungen mit dem Feature Als Anwendung bereitstellen.

Sie können den folgenden Befehl ausführen, um alle installierten Python-Pakete mit ihrer jeweiligen installierten Größe aufzulisten und Pakete mit signifikanter Größe selektiv zu entfernen.

```
%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
```

**Anmerkung**  
`apache-beam` wird von Flink Python zum Betrieb benötigt. Sie sollten dieses Paket und seine Abhängigkeiten niemals entfernen.

Im Folgenden finden Sie eine Liste der vorinstallierten Python-Pakete in Studio V2, deren Entfernung in Betracht gezogen werden kann:

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

**So entfernen Sie ein Python-Paket aus dem Zeppelin-Notebook:**

1. Prüfen Sie, ob Ihre Anwendung von dem Paket oder einem seiner konsumierenden Pakete abhängt, bevor Sie es entfernen. Mit [pipdeptree](https://pypi.org/project/pipdeptree/) können Sie die Abhängigkeiten eines Pakets identifizieren.

1. Führen Sie den folgenden Befehl aus, um ein Paket zu entfernen:

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

1. Wenn Sie ein Paket abrufen müssen, das Sie versehentlich entfernt haben, führen Sie den folgenden Befehl aus:

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

**Example Beispiel: Entfernen Sie das `scipy`-Paket, bevor Sie Ihre Python-Anwendung mit dem Feature Als Anwendung bereitstellen.**  

1. Verwenden Sie `pipdeptree`, um alle `scipy`-Verbraucher zu ermitteln und zu überprüfen, ob Sie `scipy` sicher entfernen können.
   + Installieren Sie das Tool über das Notebook:

     ```
     %flink.pyflink             
     !pip install pipdeptree
     ```
   + Rufen Sie den umgekehrten Abhängigkeitsbaum von `scipy` ab, indem Sie Folgendes ausführen:

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

     Sie sollten eine ähnliche Ausgabe wie die folgende sehen (aus Platzgründen gekürzt):

     ```
     ...
     ------------------------------------------------------------------------ 
     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. Prüfen Sie sorgfältig die Verwendung von `seaborn`, `statsmodels` und `plotnine` in Ihren Anwendungen. Wenn Ihre Anwendungen nicht von `scipy`, `seaborn`, `statemodels` oder `plotnine` abhängig sind, können Sie alle diese Pakete oder nur diejenigen entfernen, die Ihre Anwendungen nicht benötigen.

1. Entfernen Sie das Paket, indem Sie Folgendes ausführen:

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

## Job abbrechen
<a name="how-notbook-canceling-jobs"></a>

In diesem Abschnitt erfahren Sie, wie Sie Apache-Flink-Aufträge abbrechen, auf die Sie von Apache Zeppelin aus nicht zugreifen können. Wenn Sie einen solchen Auftrag abbrechen möchten, rufen Sie das Apache-Flink-Dashboard auf, kopieren Sie die Auftrags-ID und verwenden Sie sie dann in einem der folgenden Beispiele.

Um einen einzelnen Auftrag abzubrechen:

```
%flink.pyflink
import requests

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

Um alle laufenden Aufträge abzubrechen:

```
%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))
```

Um alle Aufträge abzubrechen:

```
%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)
```

## Starten Sie den Apache Flink-Interpreter neu
<a name="how-notbook-restarting-interpreter"></a>

Um den Apache-Flink-Interpreter in Ihrem Studio-Notebook neu zu starten

1. Wählen Sie **Konfiguration** in der oberen rechten Ecke des Bildschirms.

1. Wählen Sie **Interpreter**.

1. Wählen Sie **Neustart** und dann **OK**.