

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.

# Fehlerbehebung bei Amazon Keyspaces (für Apache Cassandra)
<a name="troubleshooting"></a>

Dieses Handbuch behandelt Schritte zur Fehlerbehebung für verschiedene Szenarien bei der Arbeit mit Amazon Keyspaces (für Apache Cassandra). Es enthält Informationen zur Behebung allgemeiner Fehler, Verbindungsprobleme, Kapazitätsverwaltungsprobleme und DDL-Fehler (Data Definition Language).
+ **Allgemeine Fehler** 
  + Behebung von Ausnahmen auf oberster Ebene wie `NoNodeAvailableException``NoHostAvailableException`, und`AllNodesFailedException`. 
  + Isolierung der zugrunde liegenden Fehler von Java-Treiberausnahmen. 
  + Implementieren von Wiederholungsrichtlinien und korrekte Konfiguration von Verbindungen. 
+ **Probleme mit der Verbindung** 
  + Behebung von Fehlern beim Herstellen einer Verbindung zu Amazon Keyspaces-Endpunkten mithilfe von Apache `cqlsh` Cassandra-Clienttreibern. 
  + Behebung von VPC-Endpunktverbindungen, Cassandra-Stress-Verbindungen und IAM-Konfigurationsfehlern.
  + Umgang mit Verbindungsverlusten bei Datenimporten.
+ **Fehler bei der Kapazitätsverwaltung** 
  + Erkennen und Beheben unzureichender Kapazitätsfehler im Zusammenhang mit Tabellen, Partitionen und Verbindungen.
  + Überwachung relevanter Amazon Keyspaces-Metriken in Amazon CloudWatch Logs. 
  + Optimierung von Verbindungen und Durchsatz für eine verbesserte Leistung.
+ **DDL-Fehler (Data Definition Language)** 
  + Behebung von Fehlern beim Erstellen, Zugreifen auf oder Wiederherstellen von Schlüsselräumen und Tabellen.
  + Behandlung von Fehlern im Zusammenhang mit benutzerdefinierten TTL-Einstellungen (Time to Live), Spaltenlimits und Bereichslöschungen.
  + Überlegungen zu umfangreichen Löscharbeitslasten. 

Anleitungen zur Problembehandlung speziell für den IAM-Zugriff finden Sie unter. [Fehlerbehebung bei Identität und Zugriff auf Amazon Keyspaces](security_iam_troubleshoot.md) Weitere Informationen zu bewährten Sicherheitsmethoden finden Sie unter[Bewährte Sicherheitsmethoden für Amazon Keyspaces](best-practices-security.md).

**Topics**
+ [Allgemeine Fehler](troubleshooting.general.md)
+ [Verbindungsfehler](troubleshooting.connecting.md)
+ [Fehler bei der Kapazitätsverwaltung](troubleshooting.serverless.md)
+ [Sprachfehler bei der Datendefinition](troubleshooting.cql.md)

# Behebung allgemeiner Fehler in Amazon Keyspaces
<a name="troubleshooting.general"></a>

Erhalten Sie allgemeine Fehler? Hier finden Sie einige häufig auftretende Probleme und wie Sie sie lösen können.

## Allgemeine Fehler
<a name="troubleshooting-general"></a>

Sie erhalten eine der folgenden Ausnahmen auf oberster Ebene, die aus vielen verschiedenen Gründen auftreten können.
+ `NoNodeAvailableException`
+ `NoHostAvailableException`
+ `AllNodesFailedException`

Diese Ausnahmen werden vom Client-Treiber generiert und können entweder auftreten, wenn Sie die Kontrollverbindung herstellen oder wenn Sie read/write/prepare/execute/batch Anfragen ausführen. 

Wenn der Fehler beim Herstellen der Kontrollverbindung auftritt, ist dies ein Zeichen dafür, dass alle in Ihrer Anwendung angegebenen Kontaktpunkte nicht erreichbar sind. Wenn der Fehler bei der Ausführung von read/write/prepare/execute Abfragen auftritt, bedeutet dies, dass alle Wiederholungsversuche für diese Anfrage erschöpft sind. Jeder Wiederholungsversuch wird auf einem anderen Knoten versucht, wenn Sie die standardmäßige Wiederholungsrichtlinie verwenden. 

### Wie isoliert man den zugrundeliegenden Fehler von Ausnahmen für Java-Treiber der obersten Ebene
<a name="troubleshooting-general-isolation"></a>

Diese allgemeinen Fehler können entweder durch Verbindungsprobleme oder bei der Ausführung read/write/prepare/execute von Vorgängen verursacht werden. In verteilten Systemen muss mit vorübergehenden Ausfällen gerechnet werden, die durch einen erneuten Versuch der Anfrage behoben werden sollten. Der Java-Treiber versucht es nicht automatisch erneut, wenn Verbindungsfehler auftreten. Es wird daher empfohlen, die Wiederholungsrichtlinie zu implementieren, wenn Sie die Treiberverbindung in Ihrer Anwendung herstellen. Eine ausführliche Übersicht über bewährte Verbindungsmethoden finden Sie unter. [Optimieren Sie die Client-Treiberverbindungen für die serverlose Umgebung](connections.md)

Standardmäßig ist der Java-Treiber für alle Anfragen `idempotence` auf False gesetzt, was bedeutet, dass der Java-Treiber eine fehlgeschlagene read/write/prepare Anfrage nicht automatisch wiederholt. Um die Einstellung `idempotence` auf fehlgeschlagene Anfragen einzustellen `true` und den Treiber anzuweisen, es erneut zu versuchen, können Sie dies auf verschiedene Arten tun. Hier ist ein Beispiel, wie Sie Idempotenz programmgesteuert für eine einzelne Anfrage in Ihrer Java-Anwendung festlegen können.

```
Statement s = new SimpleStatement("SELECT * FROM my_table WHERE id = 1");
s.setIdempotent(true);
```

Oder Sie können die Standard-Idempotenz für Ihre gesamte Java-Anwendung programmgesteuert festlegen, wie im folgenden Beispiel gezeigt.

```
// Make all statements idempotent by default:
cluster.getConfiguration().getQueryOptions().setDefaultIdempotence(true);
//Set the default idempotency to true in your Cassandra configuration
basic.request.default-idempotence = true
```

Eine weitere Empfehlung besteht darin, eine Wiederholungsrichtlinie auf Anwendungsebene zu erstellen. In diesem Fall muss die Anwendung die Anfrage catch `NoNodeAvailableException` und erneut versuchen. Wir empfehlen 10 Wiederholungen mit exponentiellem Backoff, beginnend bei 10 ms und bis zu 100 ms mit einer Gesamtzeit von 1 Sekunde für alle Wiederholungen.

[Eine weitere Option besteht darin, die Amazon Keyspaces-Richtlinie für exponentielle Wiederholungen anzuwenden, wenn die auf Github verfügbare Java-Treiberverbindung hergestellt wird.](https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers/blob/main/src/main/java/com/aws/ssa/keyspaces/retry/AmazonKeyspacesExponentialRetryPolicy.java)

Vergewissern Sie sich, dass Sie Verbindungen zu mehr als einem Knoten hergestellt haben, wenn Sie die standardmäßige Wiederholungsrichtlinie verwenden. Sie können dies mit der folgenden Abfrage in Amazon Keyspaces tun.

```
SELECT * FROM system.peers;
```

Wenn die Antwort für diese Abfrage leer ist, bedeutet dies, dass Sie mit einem einzigen Knoten für Amazon Keyspaces arbeiten. Wenn Sie die standardmäßige Wiederholungsrichtlinie verwenden, gibt es keine Wiederholungsversuche, da die Standardwiederholung immer auf einem anderen Knoten erfolgt. Weitere Informationen zum Herstellen von Verbindungen über VPC-Endpunkte finden Sie unter. [So konfigurieren Sie Verbindungen über VPC-Endpunkte in Amazon Keyspaces](connections.md#connections.VPCendpoints)

Ein step-by-step Tutorial, das zeigt, wie Sie mithilfe des Datastax 4.x Cassandra-Treibers eine Verbindung zu Amazon Keyspaces herstellen, finden Sie unter. [Step-by-step Tutorial zum Herstellen einer Verbindung zu Amazon Keyspaces mithilfe des DataStax 4.x-Java-Treibers für Apache Cassandra und des SigV4-Authentifizierungs-Plug-ins](using_java_driver.md#java_tutorial.SigV4)

# Behebung von Verbindungsfehlern in Amazon Keyspaces
<a name="troubleshooting.connecting"></a>

Haben Sie Probleme beim Verbinden? Hier finden Sie einige häufig auftretende Probleme und wie Sie sie lösen können.

## Fehler beim Herstellen einer Verbindung zu einem Amazon Keyspaces-Endpunkt
<a name="troubleshooting-connecting"></a>

Fehlgeschlagene Verbindungen und Verbindungsfehler können zu unterschiedlichen Fehlermeldungen führen. Der folgende Abschnitt behandelt die häufigsten Szenarien. 

**Topics**
+ [Ich kann mit cqlsh keine Verbindung zu Amazon Keyspaces herstellen](#troubleshooting.connection.cqlsh)
+ [Ich kann mit einem Cassandra-Client-Treiber keine Verbindung zu Amazon Keyspaces herstellen](#troubleshooting.connection.driver)

### Ich kann mit cqlsh keine Verbindung zu Amazon Keyspaces herstellen
<a name="troubleshooting.connection.cqlsh"></a>

**Sie versuchen, mit cqlsh eine Verbindung zu einem Amazon Keyspaces-Endpunkt herzustellen, und die Verbindung schlägt mit a fehl. `Connection error`**

Wenn Sie versuchen, eine Verbindung zu einer Amazon Keyspaces-Tabelle herzustellen und cqlsh nicht richtig konfiguriert wurde, schlägt die Verbindung fehl. Der folgende Abschnitt enthält Beispiele für die häufigsten Konfigurationsprobleme, die zu Verbindungsfehlern führen, wenn Sie versuchen, eine Verbindung mit cqlsh herzustellen.

**Anmerkung**  
Wenn Sie versuchen, von einer VPC aus eine Verbindung zu Amazon Keyspaces herzustellen, sind zusätzliche Berechtigungen erforderlich. Um eine Verbindung mithilfe von VPC-Endpunkten erfolgreich zu konfigurieren, folgen Sie den Schritten in. [Tutorial: Stellen Sie über einen VPC-Endpunkt mit einer Schnittstelle eine Verbindung zu Amazon Keyspaces her](vpc-endpoints-tutorial.md) 

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber einen Verbindungsfehler. `timed out`**

Dies kann der Fall sein, wenn Sie nicht den richtigen Port angegeben haben, was zu dem folgenden Fehler führt.

```
#  cqlsh cassandra.us-east-1.amazonaws.com 9140 -u "USERNAME" -p "PASSWORD" --ssl
Connection error: ('Unable to connect to any servers', {'3.234.248.199': error(None, "Tried connecting to [('3.234.248.199', 9140)]. Last error: timed out")})
```

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie Port 9142 für die Verbindung verwenden.

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `Name or service not known`**

Dies kann der Fall sein, wenn Sie einen Endpunkt verwendet haben, der falsch geschrieben ist oder nicht existiert. Im folgenden Beispiel ist der Name des Endpunkts falsch geschrieben.

```
#  cqlsh cassandra.us-east-1.amazon.com 9142 -u "USERNAME" -p "PASSWORD" --ssl
Traceback (most recent call last):
  File "/usr/bin/cqlsh.py", line 2458, in >module>
    main(*read_options(sys.argv[1:], os.environ))
  File "/usr/bin/cqlsh.py", line 2436, in main
    encoding=options.encoding)
  File "/usr/bin/cqlsh.py", line 484, in __init__
    load_balancing_policy=WhiteListRoundRobinPolicy([self.hostname]),
  File "/usr/share/cassandra/lib/cassandra-driver-internal-only-3.11.0-bb96859b.zip/cassandra-driver-3.11.0-bb96859b/cassandra/policies.py", line 417, in __init__
socket.gaierror: [Errno -2] Name or service not known
```

Um dieses Problem zu beheben, wenn Sie öffentliche Endpunkte für die Verbindung verwenden, wählen Sie einen verfügbaren Endpunkt aus und stellen Sie sicher[Service-Endpunkte für Amazon Keyspaces](programmatic.endpoints.md), dass der Name des Endpunkts keine Fehler enthält. Wenn Sie VPC-Endpunkte für die Verbindung verwenden, stellen Sie sicher, dass die VPC-Endpunktinformationen in Ihrer cqlsh-Konfiguration korrekt sind.

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `OperationTimedOut`**

Amazon Keyspaces erfordert, dass SSL für Verbindungen aktiviert ist, um eine hohe Sicherheit zu gewährleisten. Der SSL-Parameter fehlt möglicherweise, wenn Sie die folgende Fehlermeldung erhalten.

```
# cqlsh cassandra.us-east-1.amazonaws.com -u "USERNAME" -p "PASSWORD"
Connection error: ('Unable to connect to any servers', {'3.234.248.192': OperationTimedOut('errors=Timed out creating connection (5 seconds), last_host=None',)})
#
```

Um dieses Problem zu beheben, fügen Sie dem Befehl cqlsh connection das folgende Flag hinzu.

```
--ssl
```

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, und erhalten eine Fehlermeldung. `SSL transport factory requires a valid certfile to be specified`**

In diesem Fall fehlt der Pfad zum SSL/TLS Zertifikat, was zu dem folgenden Fehler führt.

```
# cat .cassandra/cqlshrc
[connection]
port = 9142
factory = cqlshlib.ssl.ssl_transport_factory
#


# cqlsh cassandra.us-east-1.amazonaws.com -u "USERNAME" -p "PASSWORD" --ssl
Validation is enabled; SSL transport factory requires a valid certfile to be specified. Please provide path to the certfile in [ssl] section as 'certfile' option in /root/.cassandra/cqlshrc (or use [certfiles] section) or set SSL_CERTFILE environment variable.
#
```

Um dieses Problem zu beheben, fügen Sie den Pfad zur Zertifikatsdatei auf Ihrem Computer hinzu. Weitere Informationen finden Sie unter [Wie konfiguriert man `cqlsh` Verbindungen für TLS manuell](programmatic.cqlsh.md#encrypt_using_tls).

```
certfile =  path_to_file/keyspaces-bundle.pem
```

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `No such file or directory`**

Dies kann der Fall sein, wenn der Pfad zur Zertifikatsdatei auf Ihrem Computer falsch ist, was zu dem folgenden Fehler führt.

```
# cat .cassandra/cqlshrc
[connection]
port = 9142
factory = cqlshlib.ssl.ssl_transport_factory

[ssl]
validate = true
certfile = /root/wrong_path/keyspaces-bundle.pem
#



# cqlsh cassandra.us-east-1.amazonaws.com -u "USERNAME" -p "PASSWORD" --ssl
Connection error: ('Unable to connect to any servers', {'3.234.248.192': IOError(2, 'No such file or directory')})
#
```

Um dieses Problem zu beheben, stellen Sie sicher, dass der Pfad zur Zertifikatsdatei auf Ihrem Computer korrekt ist. Weitere Informationen finden Sie unter [Wie konfiguriert man `cqlsh` Verbindungen für TLS manuell](programmatic.cqlsh.md#encrypt_using_tls).

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `[X509] PEM lib`**

Dies kann der Fall sein, wenn die `pem` SSL/TLS-Zertifikatsdatei nicht gültig ist, was zu dem folgenden Fehler führt.

```
# cqlsh cassandra.us-east-1.amazonaws.com -u "USERNAME" -p "PASSWORD" --ssl
Connection error: ('Unable to connect to any servers', {'3.234.248.241': error(185090057, u"Tried connecting to [('3.234.248.241', 9142)]. Last error: [X509] PEM lib (_ssl.c:3063)")})
#
```

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie die erforderlichen digitalen Zertifikate heruntergeladen haben. Weitere Informationen finden Sie unter [Wie konfiguriert man `cqlsh` Verbindungen für TLS manuell](programmatic.cqlsh.md#encrypt_using_tls).

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber einen `unknown` SSL-Fehler.**

Dies kann der Fall sein, wenn die `pem` SSL/TLS-Zertifikatsdatei leer ist, was zu dem folgenden Fehler führt.

```
# cqlsh cassandra.us-east-1.amazonaws.com -u "USERNAME" -p "PASSWORD" --ssl
Connection error: ('Unable to connect to any servers', {'3.234.248.220': error(0, u"Tried connecting to [('3.234.248.220', 9142)]. Last error: unknown error (_ssl.c:3063)")})
#
```

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie die erforderlichen digitalen Zertifikate heruntergeladen haben. Sie können dies anhand der Schritte im folgenden Thema überprüfen[Wie konfiguriert man `cqlsh` Verbindungen für TLS manuell](programmatic.cqlsh.md#encrypt_using_tls).

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `SSL: CERTIFICATE_VERIFY_FAILED`**

Dies kann der Fall sein, wenn die SSL/TLS-Zertifikatsdatei nicht verifiziert werden konnte, was zu dem folgenden Fehler führt.

```
Connection error: ('Unable to connect to any servers', {'3.234.248.223': error(1, u"Tried connecting to [('3.234.248.223', 9142)]. Last error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)")})
```

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie die erforderlichen digitalen Zertifikate heruntergeladen haben. Sie können dies anhand der Schritte im folgenden Thema überprüfen[Wie konfiguriert man `cqlsh` Verbindungen für TLS manuell](programmatic.cqlsh.md#encrypt_using_tls).

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `Last error: timed out`**

Dies kann der Fall sein, wenn Sie in Ihrer Amazon EC2-Sicherheitsgruppe keine ausgehende Regel für Amazon Keyspaces konfiguriert haben, was zu dem folgenden Fehler führt.

```
# cqlsh cassandra.us-east-1.amazonaws.com 9142 -u  "USERNAME" -p "PASSWORD" --ssl
Connection error: ('Unable to connect to any servers', {'3.234.248.206': error(None, "Tried connecting to [('3.234.248.206', 9142)]. Last error: timed out")})
#
```

Um zu überprüfen, ob dieses Problem durch die Konfiguration der Amazon EC2 EC2-Instance verursacht wird und nicht`cqlsh`, können Sie versuchen, eine Verbindung zu Ihrem Keyspace herzustellen AWS CLI, indem Sie beispielsweise den folgenden Befehl verwenden.

```
aws keyspaces list-tables --keyspace-name 'my_keyspace'
```

Wenn auch bei diesem Befehl ein Timeout auftritt, ist die Amazon EC2 EC2-Instance nicht korrekt konfiguriert.

Um zu bestätigen, dass Sie über ausreichende Berechtigungen für den Zugriff auf Amazon Keyspaces verfügen, können Sie die verwenden, AWS CloudShell um eine Verbindung `cqlsh` herzustellen. Wenn diese Verbindungen hergestellt werden, müssen Sie die Amazon EC2 EC2-Instance konfigurieren.

Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre Amazon EC2 EC2-Instance über eine ausgehende Regel verfügt, die Datenverkehr zu Amazon Keyspaces zulässt. Ist dies nicht der Fall, müssen Sie eine neue Sicherheitsgruppe für die EC2-Instance erstellen und eine Regel hinzufügen, die ausgehenden Datenverkehr zu Amazon Keyspaces-Ressourcen zulässt. **Um die ausgehende Regel zu aktualisieren, sodass Datenverkehr zu Amazon Keyspaces zugelassen wird, wählen Sie **CQLSH/CASSANDRA** aus dem Drop-down-Menü Typ aus.** 

Nachdem Sie die neue Sicherheitsgruppe mit der Regel für ausgehenden Datenverkehr erstellt haben, müssen Sie sie der Instance hinzufügen. Wählen Sie die Instance aus und klicken Sie dann auf **Aktionen**, dann **Sicherheit** und dann **Sicherheitsgruppen ändern**. Fügen Sie die neue Sicherheitsgruppe mit der Regel für ausgehenden Datenverkehr hinzu, stellen Sie jedoch sicher, dass die Standardgruppe ebenfalls verfügbar bleibt.

Weitere Informationen zum Anzeigen und Bearbeiten von EC2-Regeln für ausgehenden Datenverkehr finden [Sie unter Regeln zu einer Sicherheitsgruppe hinzufügen im Amazon EC2 EC2-Benutzerhandbuch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule).

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `Unauthorized`**

Dies kann der Fall sein, wenn Ihnen Amazon Keyspaces-Berechtigungen in der IAM-Benutzerrichtlinie fehlen, was zu dem folgenden Fehler führt.

```
# cqlsh cassandra.us-east-1.amazonaws.com 9142 -u  "testuser-at-12345678910" -p "PASSWORD" --ssl
Connection error: ('Unable to connect to any servers', {'3.234.248.241': AuthenticationFailed('Failed to authenticate to 3.234.248.241: Error from server: code=2100 [Unauthorized] message="User arn:aws:iam::12345678910:user/testuser has no permissions."',)})
#
```

Um dieses Problem zu beheben, stellen Sie sicher, dass der IAM-Benutzer `testuser-at-12345678910` über Zugriffsberechtigungen für Amazon Keyspaces verfügt. Beispiele für IAM-Richtlinien, die Zugriff auf Amazon Keyspaces gewähren, finden Sie unter. [Beispiele für identitätsbasierte Richtlinien von Amazon Keyspaces](security_iam_id-based-policy-examples.md)

Anleitungen zur Fehlerbehebung speziell für den IAM-Zugriff finden Sie unter. [Fehlerbehebung bei Identität und Zugriff auf Amazon Keyspaces](security_iam_troubleshoot.md)

**Sie versuchen, mit cqlsh eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine Fehlermeldung. `Bad credentials`**

Dies kann der Fall sein, wenn der Benutzername oder das Passwort falsch ist, was zu dem folgenden Fehler führt.

```
# cqlsh cassandra.us-east-1.amazonaws.com 9142 -u  "USERNAME" -p "PASSWORD" --ssl
Connection error: ('Unable to connect to any servers', {'3.234.248.248': AuthenticationFailed('Failed to authenticate to 3.234.248.248: Error from server: code=0100 [Bad credentials] message="Provided username USERNAME and/or password are incorrect"',)})
#
```

Um dieses Problem zu beheben, stellen Sie sicher, dass die *USERNAME* Zeichen und *PASSWORD* in Ihrem Code mit dem Benutzernamen und dem Passwort übereinstimmen, die Sie bei der Generierung der [dienstspezifischen Anmeldeinformationen](programmatic.credentials.ssc.md) erhalten haben.

**Wichtig**  
Wenn beim Versuch, eine Verbindung mit cqlsh herzustellen, weiterhin Fehler auftreten, führen Sie den Befehl mit der `--debug` Option erneut aus und fügen Sie die detaillierte Ausgabe bei der Kontaktaufnahme hinzu. Support

### Ich kann mit einem Cassandra-Client-Treiber keine Verbindung zu Amazon Keyspaces herstellen
<a name="troubleshooting.connection.driver"></a>

In den folgenden Abschnitten werden die häufigsten Fehler beim Herstellen einer Verbindung mit einem Cassandra-Client-Treiber beschrieben.

**Sie versuchen, mithilfe des DataStax Java-Treibers eine Verbindung zu einer Amazon Keyspaces-Tabelle herzustellen, erhalten aber eine `NodeUnavailableException` Fehlermeldung.**

Wenn die Verbindung, über die die Anfrage versucht wird, unterbrochen ist, führt dies zu dem folgenden Fehler.

```
[com.datastax.oss.driver.api.core.NodeUnavailableException: No connection was available to Node(endPoint=vpce-22ff22f2f22222fff-aa1bb234.cassandra.us-west-2.vpce.amazonaws.com/11.1.1111.222:9142, hostId=1a23456b-c77d-8888-9d99-146cb22d6ef6, hashCode=123ca4567)]
```

Um dieses Problem zu beheben, ermitteln Sie den Heartbeat-Wert und senken Sie ihn auf 30 Sekunden, falls er höher ist.

```
advanced.heartbeat.interval = 30 seconds
```

Suchen Sie dann nach dem zugehörigen Timeout und stellen Sie sicher, dass der Wert auf mindestens 5 Sekunden eingestellt ist.

```
advanced.connection.init-query-timeout = 5 seconds
```

**Sie versuchen, mithilfe eines Treibers und des Sigv4-Plug-ins eine Verbindung zu einer Amazon Keyspaces-Tabelle herzustellen, erhalten aber eine `AttributeError` Fehlermeldung.**

Wenn die Anmeldeinformationen nicht korrekt konfiguriert sind, führt dies zu dem folgenden Fehler.

```
cassandra.cluster.NoHostAvailable: (‘Unable to connect to any servers’,
 {‘44.234.22.154:9142’: AttributeError(“‘NoneType’ object has no attribute ‘access_key’“)})
```

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie die Ihrem IAM-Benutzer oder Ihrer IAM-Rolle zugewiesenen Anmeldeinformationen weitergeben, wenn Sie das SigV4-Plug-In verwenden. Das SigV4-Plugin benötigt die folgenden Anmeldeinformationen.
+ `AWS_ACCESS_KEY_ID`— Gibt einen AWS Zugriffsschlüssel an, der einem IAM-Benutzer oder einer IAM-Rolle zugeordnet ist. 
+ `AWS_SECRET_ACCESS_KEY`— Gibt den geheimen Schlüssel an, der dem Zugriffsschlüssel zugeordnet ist. Dies ist im Wesentlichen das "Passwort" für den Zugriffsschlüssel.

Weitere Informationen über Zugriffsschlüssel und das SigV4-Plugin finden Sie unter[AWS Anmeldeinformationen für Amazon Keyspaces erstellen und konfigurieren](access.credentials.md).

**Sie versuchen, mithilfe eines Treibers eine Verbindung zu einer Amazon Keyspaces-Tabelle herzustellen, erhalten aber eine `PartialCredentialsError` Fehlermeldung.**

Wenn der `AWS_SECRET_ACCESS_KEY` fehlt, kann dies zu dem folgenden Fehler führen.

```
cassandra.cluster.NoHostAvailable: (‘Unable to connect to any servers’, {‘44.234.22.153:9142’: 
 PartialCredentialsError(‘Partial credentials found in config-file, missing: aws_secret_access_key’)})
```

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie bei der Verwendung des SigV4-Plug-ins `AWS_ACCESS_KEY_ID` sowohl das `AWS_SECRET_ACCESS_KEY` als auch das übergeben. Weitere Informationen zu Zugriffsschlüsseln und dem SigV4-Plugin finden Sie unter. [AWS Anmeldeinformationen für Amazon Keyspaces erstellen und konfigurieren](access.credentials.md)

**Sie versuchen, mithilfe eines Treibers eine Verbindung zu einer Amazon Keyspaces-Tabelle herzustellen, erhalten aber eine `Invalid signature` Fehlermeldung.**

Dies kann der Fall sein, wenn eine der für die Signatur erforderlichen Komponenten falsch oder für die Sitzung nicht richtig definiert ist.
+ `AWS_ACCESS_KEY_ID`
+ `AWS_SECRET_ACCESS_KEY`
+ `AWS_DEFAULT_REGION`

Der folgende Fehler ist ein Beispiel für ungültige Zugriffsschlüssel.

```
cassandra.cluster.NoHostAvailable: (‘Unable to connect to any servers’, {‘11.234.11.234:9142’: 
 AuthenticationFailed(‘Failed to authenticate to 11.234.11.234:9142: Error from server: code=0100 
 [Bad credentials] message=“Authentication failure: Invalid signature”’)})
```

Um dieses Problem zu beheben, stellen Sie sicher, dass die Zugriffsschlüssel und die AWS-Region korrekt für das SigV4-Plugin für den Zugriff auf Amazon Keyspaces konfiguriert wurden. Weitere Informationen über Zugriffsschlüssel und das SigV4-Plugin finden Sie unter. [AWS Anmeldeinformationen für Amazon Keyspaces erstellen und konfigurieren](access.credentials.md)

#### Meine VPC-Endpunktverbindung funktioniert nicht richtig
<a name="troubleshooting.connection.vpce"></a>

**Sie versuchen, über VPC-Endpunkte eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber Tokenzuordnungsfehler oder Sie haben einen niedrigen Durchsatz.**

Dies kann der Fall sein, wenn die VPC-Endpunktverbindung nicht korrekt konfiguriert ist.

Überprüfen Sie die folgenden Konfigurationsdetails, um diese Probleme zu beheben. Ein step-by-step Tutorial zur Konfiguration einer Verbindung über Schnittstellen-VPC-Endpunkte für Amazon Keyspaces finden Sie unter. [Tutorial: Stellen Sie über einen VPC-Endpunkt mit einer Schnittstelle eine Verbindung zu Amazon Keyspaces her](vpc-endpoints-tutorial.md)

1. Stellen Sie sicher, dass die IAM-Entität, die für die Verbindung mit Amazon Keyspaces verwendet wird, read/write Zugriff auf die Benutzertabelle und Lesezugriff auf die Systemtabellen hat, wie im folgenden Beispiel gezeigt.

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "cassandra:Select",
               "cassandra:Modify"
            ],
            "Resource":[
               "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable",
               "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*"
            ]
         }
      ]
   }
   ```

1. Vergewissern Sie sich, dass die für die Verbindung mit Amazon Keyspaces verwendete IAM-Entität über die erforderlichen Leseberechtigungen für den Zugriff auf die VPC-Endpunktinformationen auf Ihrer Amazon EC2 EC2-Instance verfügt, wie im folgenden Beispiel gezeigt.

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Sid":"ListVPCEndpoints",
            "Effect":"Allow",
            "Action":[
               "ec2:DescribeNetworkInterfaces",
               "ec2:DescribeVpcEndpoints"
            ],
            "Resource":"*"
         }
      ]
   }
   ```
**Anmerkung**  
Die verwalteten Richtlinien `AmazonKeyspacesReadOnlyAccess_v2` `AmazonKeyspacesFullAccess` enthalten die erforderlichen Berechtigungen, damit Amazon Keyspaces auf die Amazon EC2 EC2-Instance zugreifen kann, um Informationen über verfügbare Schnittstellen-VPC-Endpunkte zu lesen.

   Weitere Informationen zu VPC-Endpunkten finden Sie unter [Verwenden von Schnittstellen-VPC-Endpunkten für Amazon Keyspaces](vpc-endpoints.md#using-interface-vpc-endpoints)

1. Stellen Sie sicher, dass die SSL-Konfiguration des Java-Treibers die Hostnamenvalidierung auf False setzt, wie in diesem Beispiel gezeigt.

   ```
   hostname-validation = false
   ```

   Weitere Hinweise zur Treiberkonfiguration finden Sie unter[Schritt 2: Konfigurieren Sie den Treiber](using_java_driver.md#java_tutorial.driverconfiguration).

1. Um zu überprüfen, ob der VPC-Endpunkt korrekt konfiguriert wurde, können Sie die folgende Anweisung *in* Ihrer VPC ausführen.
**Anmerkung**  
Sie können Ihre lokale Entwicklerumgebung oder den Amazon Keyspaces CQL-Editor nicht verwenden, um diese Konfiguration zu bestätigen, da sie den öffentlichen Endpunkt verwenden.

   ```
   SELECT peer FROM system.peers;
   ```

   Die Ausgabe sollte ähnlich wie in diesem Beispiel aussehen und je nach VPC-Setup und AWS Region zwischen 2 und 6 Knoten mit privaten IPv4 Adressen zurückgeben, wenn eine Verbindung über ein IPv4 Netzwerk hergestellt wird.

   ```
   peer
   ---------------
    192.0.2.0.15
    192.0.2.0.24
    192.0.2.0.13
    192.0.2.0.7
    192.0.2.0.8
   
   (5 rows)
   ```

#### Ich kann keine Verbindung herstellen mit `cassandra-stress`
<a name="troubleshooting.connection.cassandra-stress"></a>

**Sie versuchen, mit dem `cassandra-stress` Befehl eine Verbindung zu Amazon Keyspaces herzustellen, erhalten aber eine `SSL context` Fehlermeldung.**

Dies passiert, wenn Sie versuchen, eine Verbindung zu Amazon Keyspaces herzustellen, der TrustStore aber nicht richtig eingerichtet ist. Amazon Keyspaces erfordert die Verwendung von Transport Layer Security (TLS), um Verbindungen mit Clients zu sichern.

In diesem Fall wird der folgende Fehler angezeigt.

```
Error creating the initializing the SSL Context
```

Um dieses Problem zu lösen, folgen Sie den Anweisungen zur Einrichtung eines TrustStores, wie in diesem Thema [Bevor Sie beginnen](using_java_driver.md#using_java_driver.BeforeYouBegin) beschrieben.

Sobald der TrustStore eingerichtet ist, sollten Sie mit dem folgenden Befehl eine Verbindung herstellen können.

```
./cassandra-stress user profile=./profile.yaml n=100 "ops(insert=1,select=1)" cl=LOCAL_QUORUM -node "cassandra.eu-north-1.amazonaws.com" -port native=9142 -transport ssl-alg="PKIX" truststore="./cassandra_truststore.jks" truststore-password="trustStore_pw" -mode native cql3 user="user_name" password="password"
```

#### Ich kann mit IAM-Identitäten keine Verbindung herstellen
<a name="troubleshooting.connection.IAM"></a>

**Sie versuchen, mithilfe einer IAM-Identität eine Verbindung zu einer Amazon Keyspaces-Tabelle herzustellen, erhalten aber eine `Unauthorized` Fehlermeldung.**

Dies passiert, wenn Sie versuchen, mithilfe einer IAM-Identität (z. B. eines IAM-Benutzers) eine Verbindung zu einer Amazon Keyspaces-Tabelle herzustellen, ohne die Richtlinie zu implementieren und dem Benutzer zuerst die erforderlichen Berechtigungen zu erteilen. 

In diesem Fall wird der folgende Fehler angezeigt.

```
Connection error: ('Unable to connect to any servers', {'3.234.248.202': AuthenticationFailed('Failed to authenticate to 3.234.248.202: 
Error from server: code=2100 [Unauthorized] message="User arn:aws:iam::1234567890123:user/testuser has no permissions."',)})
```

Überprüfen Sie die Berechtigungen des IAM-Benutzers, um dieses Problem zu beheben. Um eine Verbindung mit einem Standardtreiber herzustellen, muss ein Benutzer mindestens `SELECT` Zugriff auf die Systemtabellen haben, da die meisten Treiber das System lesen, keyspaces/tables wenn sie die Verbindung herstellen. 

Beispiele für IAM-Richtlinien, die Zugriff auf das System und Benutzertabellen von Amazon Keyspaces gewähren, finden Sie unter. [Zugreifen auf Amazon Keyspaces-Tabellen](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-one-table)

Den Abschnitt zur Fehlerbehebung speziell für IAM finden Sie unter. [Fehlerbehebung bei Identität und Zugriff auf Amazon Keyspaces](security_iam_troubleshoot.md)

#### Ich versuche, Daten mit cqlsh zu importieren und die Verbindung zu meiner Amazon Keyspaces-Tabelle ist unterbrochen
<a name="troubleshooting.connection.import"></a>

**Sie versuchen, Daten mit cqlsh auf Amazon Keyspaces hochzuladen, erhalten aber Verbindungsfehler.**

Die Verbindung zu Amazon Keyspaces schlägt fehl, nachdem der cqlsh-Client drei aufeinanderfolgende Fehler beliebiger Art vom Server empfangen hat. Der Cqlsh-Client schlägt mit der folgenden Meldung fehl. 

```
Failed to import 1 rows: NoHostAvailable - , will retry later, attempt 3 of 100
```

Um diesen Fehler zu beheben, müssen Sie sicherstellen, dass die zu importierenden Daten dem Tabellenschema in Amazon Keyspaces entsprechen. Überprüfen Sie die Importdatei auf Analysefehler. Sie können versuchen, eine einzelne Datenzeile zu verwenden, indem Sie eine INSERT-Anweisung verwenden, um den Fehler zu isolieren.

Der Client versucht automatisch, die Verbindung wiederherzustellen.

# Behebung von Kapazitätsverwaltungsfehlern in Amazon Keyspaces
<a name="troubleshooting.serverless"></a>

Haben Sie Probleme mit der serverlosen Kapazität? Im Folgenden finden Sie einige häufig auftretende Probleme und wie Sie sie lösen können.

## Kapazitätsfehler bei serverlosen Servern
<a name="troubleshooting-serverless"></a>

In diesem Abschnitt wird beschrieben, wie Fehler im Zusammenhang mit der serverlosen Kapazitätsverwaltung erkannt und behoben werden können. Beispielsweise könnten Sie Ereignisse mit unzureichender Kapazität beobachten, wenn Ihre Anwendung die bereitgestellte Durchsatzkapazität überschreitet. 

Da es sich bei Apache Cassandra um clusterbasierte Software handelt, die für die Ausführung auf einer Flotte von Knoten konzipiert ist, enthält sie keine Ausnahmemeldungen, die sich auf serverlose Funktionen wie die Durchsatzkapazität beziehen. Die meisten Treiber verstehen nur die Fehlercodes, die in Apache Cassandra verfügbar sind, sodass Amazon Keyspaces dieselben Fehlercodes verwendet, um die Kompatibilität aufrechtzuerhalten. 

Um Cassandra-Fehler den zugrunde liegenden Kapazitätsereignissen zuzuordnen, können Sie Amazon verwenden, CloudWatch um die relevanten Amazon Keyspaces-Metriken zu überwachen. Ereignisse mit unzureichender Kapazität, die zu Fehlern auf der Clientseite führen, können basierend auf der Ressource, die das Ereignis verursacht, in diese drei Gruppen eingeteilt werden: 
+ **Tabelle** — Wenn Sie für eine Tabelle den Modus **Bereitgestellte** Kapazität wählen und Ihre Anwendung den bereitgestellten Durchsatz überschreitet, treten möglicherweise Fehler aufgrund unzureichender Kapazität auf. Weitere Informationen finden Sie unter [read/write Kapazitätsmodi in Amazon Keyspaces konfigurieren](ReadWriteCapacityMode.md).
+ **Partition** — Es kann zu Ereignissen mit unzureichender Kapazität kommen, wenn der Datenverkehr auf einer bestimmten Partition 3.000 oder 1.000 übersteigt. RCUs WCUs Als bewährte Methode empfehlen wir, den Datenverkehr gleichmäßig auf die Partitionen zu verteilen. Weitere Informationen finden Sie unter [Bewährte Methoden zur Datenmodellierung: Empfehlungen für den Entwurf von Datenmodellen](data-modeling.md).
+ **Verbindung** — Möglicherweise ist der Durchsatz unzureichend, wenn Sie das Kontingent für die maximale Anzahl von Vorgängen pro Sekunde pro Verbindung überschreiten. Um den Durchsatz zu erhöhen, können Sie bei der Konfiguration der Verbindung mit dem Treiber die Anzahl der Standardverbindungen erhöhen.

  Informationen zur Konfiguration von Verbindungen für Amazon Keyspaces finden Sie unter[So konfigurieren Sie Verbindungen in Amazon Keyspaces](connections.md#connections.howtoconfigure). Weitere Informationen zur Optimierung von Verbindungen über VPC-Endpunkte finden Sie unter. [So konfigurieren Sie Verbindungen über VPC-Endpunkte in Amazon Keyspaces](connections.md#connections.VPCendpoints)

Um festzustellen, welche Ressource das Ereignis mit unzureichender Kapazität verursacht, das den clientseitigen Fehler zurückgibt, können Sie das Dashboard in der Amazon Keyspaces-Konsole überprüfen. **Standardmäßig bietet die Konsole im Abschnitt Kapazität und zugehörige CloudWatch Metriken auf der Registerkarte Kapazität der Tabelle eine aggregierte Ansicht der gängigsten **Kapazitäts- und Datenverkehrsmetriken**.** 

Um Ihr eigenes Dashboard mit Amazon zu erstellen CloudWatch, überprüfen Sie die folgenden Amazon Keyspaces-Metriken. 
+ `PerConnectionRequestRateExceeded`— Anfragen an Amazon Keyspaces, die das Kontingent für die Anforderungsrate pro Verbindung überschreiten. Jede Clientverbindung mit Amazon Keyspaces kann bis zu 3 000 CQL-Anfragen pro Sekunde unterstützen. Sie können mehr als 3 000 Anfragen pro Sekunde ausführen, indem Sie mehrere Verbindungen herstellen.
+ `ReadThrottleEvents`— Anfragen an Amazon Keyspaces, die die Lesekapazität für eine Tabelle überschreiten.
+ `StoragePartitionThroughputCapacityExceeded`— Anfragen an eine Amazon Keyspaces-Speicherpartition, die die Durchsatzkapazität der Partition überschreiten. Amazon Keyspaces-Speicherpartitionen können bis zu 1000 WCU/WRU pro Sekunde und 3000 RCU/RRU pro Sekunde unterstützen. Um diese Ausnahmen zu vermeiden, empfehlen wir Ihnen, Ihr Datenmodell zu überprüfen, um den read/write Datenverkehr auf mehrere Partitionen zu verteilen.
+ `WriteThrottleEvents`— Anfragen an Amazon Keyspaces, die die Schreibkapazität für eine Tabelle überschreiten.

Weitere Informationen dazu finden Sie CloudWatch unter[Überwachung von Amazon Keyspaces mit Amazon CloudWatch](monitoring-cloudwatch.md). Eine Liste aller verfügbaren CloudWatch Metriken für Amazon Keyspaces finden Sie unter[Amazon Keyspaces-Metriken und -Dimensionen](metrics-dimensions.md). 

**Anmerkung**  
Um mit einem benutzerdefinierten Dashboard zu beginnen, das alle häufig beobachteten Metriken für Amazon Keyspaces anzeigt, können Sie eine vorgefertigte CloudWatch Vorlage verwenden, die GitHub im [AWS Beispiel-Repository](https://github.com/aws-samples/amazon-keyspaces-cloudwatch-cloudformation-templates) verfügbar ist.

**Topics**
+ [Client-seitige Fehler](#troubleshooting.serverless.clientside)
+ [Timeout-Fehler beim Schreiben während des Datenimports](#troubleshooting.serverless.writetimeout)
+ [Speichergröße für Schlüsselraum oder Tabelle](#troubleshooting.serverless.storagesize)

### Ich erhalte von meinem Client-Treiber Fehler mit `NoHostAvailable` unzureichender Kapazität
<a name="troubleshooting.serverless.clientside"></a>

**Sie sehen `Read_Timeout` unsere Ausnahmen für eine Tabelle. `Write_Timeout`**

Wiederholter Versuch, in eine Amazon Keyspaces-Tabelle mit unzureichender Kapazität zu schreiben oder aus ihr zu lesen, kann zu clientseitigen Treiberfehlern führen.

Wird verwendet CloudWatch , um Ihre bereitgestellten und tatsächlichen Durchsatzmetriken sowie Ereignisse zu unzureichender Kapazität für die Tabelle zu überwachen. Beispielsweise schlägt eine Leseanforderung, die nicht über genügend Durchsatzkapazität verfügt, mit einer `Read_Timeout` Ausnahme fehl und wird der `ReadThrottleEvents` Metrik zugewiesen. Eine Schreibanforderung, die nicht über genügend Durchsatzkapazität verfügt, schlägt mit einer `Write_Timeout` Ausnahme fehl und wird der `WriteThrottleEvents` Metrik zugewiesen. Weitere Informationen zu diesen Metriken finden Sie unter [Amazon Keyspaces-Metriken und -Dimensionen](metrics-dimensions.md).

Um diese Probleme zu lösen, sollten Sie eine der folgenden Optionen in Betracht ziehen.
+ Erhöhen Sie den *bereitgestellten Durchsatz* für die Tabelle. Dies ist die maximale Menge an Durchsatzkapazität, die eine Anwendung verbrauchen kann. Weitere Informationen finden Sie unter [Lesekapazitätseinheiten und Schreibkapazitätseinheiten](ReadWriteCapacityMode.Provisioned.md#ReadWriteCapacityMode.Provisioned.Units).
+ Lassen Sie den Service die Durchsatzkapazität mit automatischer Skalierung in Ihrem Namen verwalten. Weitere Informationen finden Sie unter [Automatische Verwaltung der Durchsatzkapazität mit Amazon Keyspaces Auto Scaling](autoscaling.md).
+ Wählen Sie den **On-Demand-Kapazitätsmodus** für die Tabelle. Weitere Informationen finden Sie unter [Konfigurieren Sie den Kapazitätsmodus auf Anforderung](ReadWriteCapacityMode.OnDemand.md).

Informationen dazu, wie Sie das Standardkapazitätskontingent für Ihr Konto erhöhen müssen, finden Sie unter[Kontingente für Amazon Keyspaces (für Apache Cassandra)](quotas.md).

**Es werden Fehler im Zusammenhang mit der Überschreitung der Partitionskapazität angezeigt.**

Wenn Sie den Fehler sehen, ist `StoragePartitionThroughputCapacityExceeded` die Partitionskapazität vorübergehend überschritten. Dies kann automatisch durch adaptive Kapazität oder Kapazität auf Abruf behoben werden. Wir empfehlen, Ihr Datenmodell zu überprüfen, um den read/write Datenverkehr auf mehrere Partitionen zu verteilen, um diese Fehler zu vermeiden. Amazon Keyspaces-Speicherpartitionen können bis zu 1000 WCU/WRU pro Sekunde und 3000 RCU/RRU pro Sekunde unterstützen. Weitere Informationen darüber, wie Sie Ihr Datenmodell verbessern können, um den read/write Datenverkehr auf mehr Partitionen zu verteilen, finden Sie unter[Bewährte Methoden zur Datenmodellierung: Empfehlungen für den Entwurf von Datenmodellen](data-modeling.md).

`Write_Timeout`Ausnahmen können auch durch eine erhöhte Anzahl gleichzeitiger Schreibvorgänge verursacht werden, die statische und nicht statische Daten in derselben logischen Partition umfassen. Wenn erwartet wird, dass der Datenverkehr mehrere gleichzeitige Schreibvorgänge ausführt, die statische und nicht statische Daten innerhalb derselben logischen Partition umfassen, empfehlen wir, statische und nicht statische Daten getrennt zu schreiben. Das separate Schreiben der Daten trägt auch zur Optimierung der Durchsatzkosten bei.

**Es werden Fehler im Zusammenhang mit der Überschreitung der Verbindungsanforderungsrate angezeigt.**

Die Anzeige ist auf eine der folgenden Ursachen `PerConnectionRequestRateExceeded` zurückzuführen.
+ Möglicherweise haben Sie nicht genügend Verbindungen pro Sitzung konfiguriert.
+ Möglicherweise erhalten Sie weniger Verbindungen als verfügbare Peers, weil Sie die VPC-Endpunktberechtigungen nicht richtig konfiguriert haben. Weitere Informationen zu VPC-Endpunktrichtlinien finden Sie unter[Verwenden von Schnittstellen-VPC-Endpunkten für Amazon Keyspaces](vpc-endpoints.md#using-interface-vpc-endpoints).
+ Wenn Sie einen 4.x-Treiber verwenden, überprüfen Sie, ob Sie die Hostnamenüberprüfung aktiviert haben. Der Treiber aktiviert standardmäßig die Überprüfung des TLS-Hostnamens. Diese Konfiguration führt dazu, dass Amazon Keyspaces für den Treiber als Cluster mit einem Knoten erscheint. Wir empfehlen, dass Sie die Hostnamen-Verifizierung ausschalten.

Wir empfehlen Ihnen, die folgenden bewährten Methoden zu befolgen, um sicherzustellen, dass Ihre Verbindungen und Ihr Durchsatz optimiert sind:
+ **Konfigurieren Sie die Durchsatzoptimierung für CQL-Abfragen.**

  Amazon Keyspaces unterstützt bis zu 3.000 CQL-Abfragen pro TCP-Verbindung pro Sekunde, aber die Anzahl der Verbindungen, die ein Treiber herstellen kann, ist unbegrenzt. 

  Die meisten Open-Source-Cassandra-Treiber richten einen Verbindungspool zu Cassandra ein und verteilen Abfragen über diesen Verbindungspool. Amazon Keyspaces stellt Treibern 9 Peer-IP-Adressen zur Verfügung. Das Standardverhalten der meisten Treiber besteht darin, eine einzige Verbindung zu jeder Peer-IP-Adresse herzustellen. Daher beträgt der maximale CQL-Abfragedurchsatz eines Treibers, der die Standardeinstellungen verwendet, 27.000 CQL-Abfragen pro Sekunde. 

  Um diese Zahl zu erhöhen, empfehlen wir Ihnen, die Anzahl der Verbindungen pro IP-Adresse zu erhöhen, die Ihr Treiber in seinem Verbindungspool verwaltet. Wenn Sie beispielsweise die maximale Anzahl von Verbindungen pro IP-Adresse auf 2 festlegen, wird der maximale Durchsatz Ihres Treibers auf 54.000 CQL-Abfragen pro Sekunde verdoppelt. 
+ **Optimieren Sie Ihre Einzelknotenverbindungen.**

  Standardmäßig stellen die meisten Open-Source-Cassandra-Treiber beim Einrichten einer Sitzung eine oder mehrere Verbindungen zu jeder IP-Adresse her, die in der `system.peers` Tabelle angegeben ist. Bestimmte Konfigurationen können jedoch dazu führen, dass ein Treiber eine Verbindung zu einer einzigen Amazon Keyspaces-IP-Adresse herstellt. Dies kann passieren, wenn der Treiber versucht, den SSL-Hostnamen der Peer-Knoten (z. B. DataStax Java-Treiber) zu überprüfen, oder wenn er eine Verbindung über einen VPC-Endpunkt herstellt.

  Um dieselbe Verfügbarkeit und Leistung wie ein Treiber mit Verbindungen zu mehreren IP-Adressen zu erhalten, empfehlen wir Ihnen, wie folgt vorzugehen:
  + Erhöhen Sie die Anzahl der Verbindungen pro IP je nach gewünschtem Client-Durchsatz auf 9 oder höher.
  + Erstellen Sie eine benutzerdefinierte Wiederholungsrichtlinie, die sicherstellt, dass Wiederholungsversuche für denselben Knoten ausgeführt werden. Die Ausgabe des obigen Befehls sieht in etwa folgendermaßen aus (JSON format). 

    [So konfigurieren Sie die Wiederholungsrichtlinie für Verbindungen in Amazon Keyspaces](connections.md#connections.retry-policies).
  + Wenn Sie VPC-Endpunkte verwenden, gewähren Sie der IAM-Entität, die für die Verbindung mit Amazon Keyspaces verwendet wird, Zugriffsberechtigungen, um Ihre VPC nach den Endpunkt- und Netzwerkschnittstelleninformationen abzufragen. Dies verbessert den Lastausgleich und erhöht den Durchsatz. read/write Weitere Informationen finden Sie unter [Auffüllen von `system.peers` Tabelleneinträgen mit VPC-Endpunktinformationen der Schnittstelle](vpc-endpoints.md#system_peers). 

### Ich erhalte beim Datenimport Schreib-Timeout-Fehler
<a name="troubleshooting.serverless.writetimeout"></a>

**Beim Hochladen von Daten mithilfe des Befehls wird ein Timeout-Fehler angezeigt. `cqlsh` `COPY`**

```
Failed to import 1 rows: WriteTimeout - Error from server: code=1100 [Coordinator node timed out waiting for replica nodes' responses]
 message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 2, 'write_type': 'SIMPLE', 'consistency': 
 'LOCAL_QUORUM'}, will retry later, attempt 1 of 100
```

Amazon Keyspaces verwendet die `WriteTimeout` Ausnahmen `ReadTimeout` und, um anzuzeigen, wenn eine Schreibanforderung aufgrund unzureichender Durchsatzkapazität fehlschlägt. Um bei der Diagnose von Ausnahmen mit unzureichender Kapazität zu helfen, veröffentlicht Amazon Keyspaces die folgenden Metriken in Amazon CloudWatch.
+ `WriteThrottleEvents`
+ `ReadThrottledEvents`
+ `StoragePartitionThroughputCapacityExceeded`

Um Fehler mit unzureichender Kapazität beim Laden von Daten zu beheben, verringern Sie die Schreibrate pro Worker oder die Gesamtaufnahmerate und versuchen Sie dann erneut, die Zeilen hochzuladen. Weitere Informationen finden Sie unter [Schritt 4: `cqlsh COPY FROM` Einstellungen konfigurieren](bulk-upload-config.md). [Für eine robustere Option zum Hochladen von Daten sollten Sie die Option, die im Repository verfügbar ist DSBulk, in Betracht ziehen. GitHub ](https://github.com/datastax/dsbulk) step-by-stepEine Anleitung finden Sie unter[Tutorial: Daten in Amazon Keyspaces laden mit DSBulk](dsbulk-upload.md).

### Ich kann die tatsächliche Speichergröße eines Schlüsselraums oder einer Tabelle nicht sehen
<a name="troubleshooting.serverless.storagesize"></a>

**Sie können die tatsächliche Speichergröße des Schlüsselraums oder der Tabelle nicht sehen.**

Weitere Informationen zur Speichergröße Ihrer Tabelle finden Sie unter[Auswerten Ihrer Kosten auf Tabellenebene](CostOptimization_TableLevelCostAnalysis.md). Sie können die Speichergröße auch schätzen, indem Sie mit der Berechnung der Zeilengröße in einer Tabelle beginnen. Detaillierte Anweisungen zur Berechnung der Zeilengröße finden Sie unter[Schätzen Sie die Zeilengröße in Amazon Keyspaces](calculating-row-size.md).

# Behebung von Sprachfehlern bei der Datendefinition in Amazon Keyspaces
<a name="troubleshooting.cql"></a>

Haben Sie Probleme beim Erstellen von Ressourcen? Im Folgenden finden Sie einige häufig auftretende Probleme und wie Sie sie lösen können.

## Sprachfehler bei der Datendefinition
<a name="troubleshooting-cql"></a>

Amazon Keyspaces führt DDL-Operationen (Data Definition Language) asynchron aus, z. B. das Erstellen und Löschen von Schlüsselräumen und Tabellen. Wenn eine Anwendung versucht, die Ressource zu verwenden, bevor sie bereit ist, schlägt der Vorgang fehl.

Sie können den Erstellungsstatus neuer Schlüsselräume und Tabellen in der überwachen. Dies gibt an AWS-Managementkonsole, wann ein Schlüsselraum oder eine Tabelle ausstehend oder aktiv ist. Sie können den Erstellungsstatus eines neuen Schlüsselraums oder einer neuen Tabelle auch programmgesteuert überwachen, indem Sie die Systemschematabelle abfragen. Ein Schlüsselraum oder eine Tabelle wird im Systemschema sichtbar, wenn sie einsatzbereit ist. 

**Anmerkung**  
Um die Erstellung von Schlüsselräumen mithilfe von zu optimieren CloudFormation, können Sie dieses Hilfsprogramm verwenden, um CQL-Skripten in Vorlagen zu konvertieren. CloudFormation [Das Tool ist im Repository verfügbar. GitHub ](https://github.com/aws/amazon-keyspaces-cql-to-cfn-converter)

**Topics**
+ [Fehler bei der Erstellung des Schlüsselraums](#troubleshooting.cql.keyspace)
+ [Fehler bei der Tabellenerstellung](#troubleshooting.cql.table)
+ [Ich versuche, eine Tabelle mithilfe von Amazon Keyspaces point-in-time Recovery (PITR) wiederherzustellen, aber die Wiederherstellung schlägt fehl](#troubleshooting.cql.pitr)
+ [Ich versuche, benutzerdefinierte TTL-Einstellungen (Time to Live) zu bearbeiten, aber der Vorgang schlägt fehl INSERT/UPDATE](#troubleshooting.cql.ttl)
+ [Anzahl der Spalten überschritten](#troubleshooting.cql.upload)
+ [Fehler beim Löschen des Bereichs](#troubleshooting.cql.rangedelete)

### Ich habe einen neuen Schlüsselraum erstellt, kann ihn aber nicht anzeigen oder darauf zugreifen
<a name="troubleshooting.cql.keyspace"></a>

**Sie erhalten Fehler von Ihrer Anwendung, die versucht, auf einen neuen Schlüsselraum zuzugreifen.**

Wenn Sie versuchen, auf einen neu erstellten Amazon Keyspaces-Schlüsselraum zuzugreifen, der immer noch asynchron erstellt wird, erhalten Sie eine Fehlermeldung. Der folgende Fehler ist ein Beispiel.

```
InvalidRequest: Error from server: code=2200 [Invalid query] message="unconfigured keyspace mykeyspace"
```

Das empfohlene Entwurfsmuster, um zu überprüfen, wann ein neuer Keyspace einsatzbereit ist, besteht darin, die Amazon Keyspaces-Systemschematabellen (system\$1schema\$1mcs.\$1) abzufragen. 

Weitere Informationen finden Sie unter [Überprüfen Sie den Status der Schlüsselraumerstellung in Amazon Keyspaces](keyspaces-create.md).

### Ich habe eine neue Tabelle erstellt, kann sie aber nicht anzeigen oder darauf zugreifen
<a name="troubleshooting.cql.table"></a>

**Sie erhalten Fehler von Ihrer Anwendung, die versucht, auf eine neue Tabelle zuzugreifen.**

Wenn Sie versuchen, auf eine neu erstellte Amazon Keyspaces-Tabelle zuzugreifen, die immer noch asynchron erstellt wird, erhalten Sie eine Fehlermeldung. Beispielsweise schlägt der Versuch, eine Tabelle abzufragen, die noch nicht verfügbar ist, mit einem `unconfigured table` Fehler fehl. 

```
InvalidRequest: Error from server: code=2200 [Invalid query] message="unconfigured table mykeyspace.mytable"
```

Der Versuch, die Tabelle mit anzuzeigen, `sync_table()` schlägt mit einem fehl`KeyError`.

```
KeyError: 'mytable'
```

Das empfohlene Entwurfsmuster, um zu überprüfen, wann eine neue Tabelle einsatzbereit ist, besteht darin, die Amazon Keyspaces-Systemschematabellen (system\$1schema\$1mcs.\$1) abzufragen. 

Dies ist die Beispielausgabe für eine Tabelle, die gerade erstellt wird.

```
user-at-123@cqlsh:system_schema_mcs> select table_name,status from system_schema_mcs.tables where keyspace_name='example_keyspace' and table_name='example_table';

table_name | status

------------+----------

example_table | CREATING

(1 rows)
```

Dies ist die Beispielausgabe für eine Tabelle, die aktiv ist.

```
user-at-123@cqlsh:system_schema_mcs> select table_name,status from system_schema_mcs.tables where keyspace_name='example_keyspace' and table_name='example_table';

table_name | status

------------+----------

example_table | ACTIVE

(1 rows)
```

Weitere Informationen finden Sie unter [Überprüfen Sie den Status der Tabellenerstellung in Amazon Keyspaces](tables-create.md).

### Ich versuche, eine Tabelle mithilfe von Amazon Keyspaces point-in-time Recovery (PITR) wiederherzustellen, aber die Wiederherstellung schlägt fehl
<a name="troubleshooting.cql.pitr"></a>

Wenn Sie versuchen, eine Amazon Keyspaces-Tabelle mit point-in-time Wiederherstellung (PITR) wiederherzustellen, und Sie sehen, dass der Wiederherstellungsvorgang beginnt, aber nicht erfolgreich abgeschlossen wird, haben Sie möglicherweise nicht alle erforderlichen Berechtigungen konfiguriert, die für den Wiederherstellungsprozess für diese bestimmte Tabelle erforderlich sind. 

Zusätzlich zu den Benutzerberechtigungen benötigt Amazon Keyspaces möglicherweise Berechtigungen, um während des Wiederherstellungsvorgangs im Namen Ihres Auftraggebers Aktionen durchzuführen. Dies ist der Fall, wenn die Tabelle mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist oder wenn Sie IAM-Richtlinien verwenden, die den eingehenden Datenverkehr einschränken. 

Wenn Sie beispielsweise Bedingungsschlüssel in Ihrer IAM-Richtlinie verwenden, um den Quelldatenverkehr auf bestimmte Endpunkte oder IP-Bereiche zu beschränken, schlägt der Wiederherstellungsvorgang fehl. Damit Amazon Keyspaces die Tabellenwiederherstellung im Namen Ihres Prinzipals durchführen kann, müssen Sie der IAM-Richtlinie einen `aws:ViaAWSService` globalen Bedingungsschlüssel hinzufügen.

Weitere Informationen zu Berechtigungen zum Wiederherstellen von Tabellen finden Sie unter. [Konfigurieren Sie die IAM-Berechtigungen zum Wiederherstellen von Tabellen für Amazon Keyspaces PITR](howitworks_restore_permissions.md)

### Ich versuche, benutzerdefinierte TTL-Einstellungen (Time to Live) zu bearbeiten, aber der Vorgang schlägt fehl INSERT/UPDATE
<a name="troubleshooting.cql.ttl"></a>

Wenn Sie versuchen, einen benutzerdefinierten TTL-Wert einzufügen oder zu aktualisieren, schlägt der Vorgang möglicherweise mit dem folgenden Fehler fehl. 

```
TTL is not yet supported.
```

Um mithilfe `INSERT` von `UPDATE` OR-Operationen benutzerdefinierte TTL-Werte für Zeilen oder Spalten anzugeben, müssen Sie zuerst TTL für die Tabelle aktivieren. Sie können TTL für eine Tabelle mithilfe der `ttl` benutzerdefinierten Eigenschaft aktivieren.

Weitere Informationen zum Aktivieren benutzerdefinierter TTL-Einstellungen für Tabellen finden Sie unter. [Tabelle mit benutzerdefinierter Gültigkeitsdauer (TTL) aktualisieren](TTL-how-to-enable-custom-alter.md)

### Ich versuche, Daten in meine Amazon Keyspaces-Tabelle hochzuladen, und erhalte die Fehlermeldung, dass die Anzahl der Spalten überschritten wurde
<a name="troubleshooting.cql.upload"></a>

**Sie laden Daten hoch und haben die Anzahl der Spalten überschritten, die gleichzeitig aktualisiert werden können.**

Dieser Fehler tritt auf, wenn Ihr Tabellenschema die maximale Größe von 350 KB überschreitet. Weitere Informationen finden Sie unter [Kontingente für Amazon Keyspaces (für Apache Cassandra)](quotas.md).

### Ich versuche, Daten in meiner Amazon Keyspaces-Tabelle zu löschen, und das Löschen schlägt für den Bereich fehl
<a name="troubleshooting.cql.rangedelete"></a>

**Sie versuchen, Daten anhand des Partitionsschlüssels zu löschen, und erhalten einen Fehler beim Löschen des Bereichs.**

Dieser Fehler tritt auf, wenn Sie versuchen, mehr als 1.000 Zeilen in einem Löschvorgang zu löschen. 

```
Range delete requests are limited by the amount of items that can be deleted in a single range.
```

Weitere Informationen finden Sie unter [Bereich löschen](functional-differences.md#functional-differences.range-delete).

Um mehr als 1.000 Zeilen innerhalb einer einzelnen Partition zu löschen, sollten Sie die folgenden Optionen in Betracht ziehen.
+ Partitionsweise löschen — Wenn die Mehrheit der Partitionen weniger als 1.000 Zeilen enthält, können Sie versuchen, Daten partitionsweise zu löschen. Wenn die Partitionen mehr als 1.000 Zeilen enthalten, versuchen Sie stattdessen, sie anhand der Clusterspalte zu löschen.
+ Nach Clusterspalte löschen — Wenn Ihr Modell mehrere Clusterspalten enthält, können Sie die Spaltenhierarchie verwenden, um mehrere Zeilen zu löschen. Clusterspalten sind eine verschachtelte Struktur, und Sie können viele Zeilen löschen, indem Sie mit der Spalte der obersten Ebene arbeiten.
+ Nach einzelnen Zeilen löschen — Sie können durch die Zeilen iterieren und jede Zeile anhand ihres vollständigen Primärschlüssels (Partitionsspalten und Clusterspalten) löschen.
+ Als bewährte Methode sollten Sie erwägen, Ihre Zeilen auf mehrere Partitionen aufzuteilen. In Amazon Keyspaces empfehlen wir Ihnen, Ihren Durchsatz auf Tabellenpartitionen zu verteilen. Dadurch werden Daten und Zugriff gleichmäßig auf die physischen Ressourcen verteilt, wodurch der beste Durchsatz erzielt wird. Weitere Informationen finden Sie unter [Bewährte Methoden zur Datenmodellierung: Empfehlungen für den Entwurf von Datenmodellen](data-modeling.md).

Beachten Sie auch die folgenden Empfehlungen, wenn Sie Löschvorgänge für hohe Arbeitslasten planen.
+ Mit Amazon Keyspaces können Partitionen eine praktisch unbegrenzte Anzahl von Zeilen enthalten. Auf diese Weise können Sie Partitionen „breiter“ skalieren als die herkömmliche Cassandra-Richtlinie von 100 MB. Es ist nicht ungewöhnlich, dass Zeitreihen oder Ledger im Laufe der Zeit um mehr als ein Gigabyte an Daten anwachsen.
+ Mit Amazon Keyspaces müssen Sie keine Verdichtungsstrategien oder Grabsteine in Betracht ziehen, wenn Sie Löschvorgänge für umfangreiche Workloads durchführen müssen. Sie können so viele Daten löschen, wie Sie möchten, ohne die Leseleistung zu beeinträchtigen.