Wie behebe ich Probleme, wenn ich meinen Amazon MSK-Cluster aktualisiere?

Lesedauer: 5 Minute
0

Ich muss Probleme beheben, wenn ich meinen Amazon Managed Streaming for Apache Kafka (Amazon MSK)-Cluster aktualisiere.

Auflösung

Überlegungen und bewährte Verfahren

Beachten Sie Folgendes, bevor Sie Ihren Amazon MSK-Cluster aktualisieren:

  • Stellen Sie sicher, dass Sie den Replikationsfaktor für den Cluster auf einen Wert von 3 oder höher festlegen. Das Festlegen eines Replikationsfaktors von 1 kann während eines fortlaufenden Updates zu Offline-Partitionen führen. Die Einstellung eines Replikationsfaktors von 2 kann zu Datenverlust führen.
  • Legen Sie die Mindestanzahl synchronisierter Replikate (miniSR) auf einen Wert von (Replikationsfaktor -1) oder weniger fest. Ein MiniISR-Wert, der dem Replikationsfaktor entspricht, kann verhindern, dass Sie während eines fortlaufenden Updates für den Cluster produzieren. Bei einem MiniISR-Wert von 2 können dreifach replizierte Themen verfügbar sein, wenn ein Replikat offline ist.
  • Stellen Sie sicher, dass die Client-Verbindungszeichenfolgen mindestens einen Broker aus jeder Availability Zone enthalten. Wenn mehrere Broker in der Verbindungszeichenfolge eines Clients enthalten sind, ist ein Failover möglich, wenn ein bestimmter Broker für ein Update offline ist.
  • Bevor Sie die Konfiguration eines Clusters aktualisieren, stellen Sie sicher, dass sich der Cluster im Status AKTIV befindet.
  • Es ist eine bewährte Methode, Ihren Cluster in Zeiten mit geringem Datenverkehr zu aktualisieren. Die Zeit, die für das Upgrade der Apache Kafka-Version benötigt wird, hängt von der Anzahl der Broker in Ihrem Cluster ab.
  • Sie können keine weiteren Aktualisierungen am Cluster vornehmen, wenn Sie die Clusterversion aktualisieren. Sie können während des Upgrades weiterhin aus dem Cluster produzieren und konsumieren.
  • Es besteht kein Risiko eines Datenverlusts während eines Upgrades, mit Ausnahme von Themen, die zu wenig repliziert wurden (Beispiel: Themen mit einem Replikationsfaktor von weniger als 3). Selbst in dieser Situation sind Partitionen wieder verfügbar, nachdem die Broker online sind.
  • Sie können die Apache Kafka-Version Ihres Amazon MSK-Clusters über die Amazon MSK-Konsole oder die AWS-Befehlszeilenschnittstelle (AWS CLI) aktualisieren.
  • Sie können Ihren Amazon MSK-Cluster auf eine neuere Version von Apache Kafka aktualisieren. Sie können es nicht auf eine ältere Version aktualisieren.
  • Amazon MSK aktualisiert nur die Serversoftware und nicht Ihre Clients. Stellen Sie daher beim Upgrade Ihres Clusters sicher, dass Sie die Funktionen der neuen Apache Kafka-Version mit der Client-Softwareversion verwenden können.
  • Durch das Aktualisieren des Instanztyps wird die Clusterversion nicht aktualisiert.

Überwachung des Upgrades

Wenn Sie einen Amazon MSK-Cluster erstellen, geben Sie an, welche Apache Kafka-Version Sie auf dem Cluster benötigen. Sie können den Cluster auch auf eine neuere Version von Apache Kafka aktualisieren, nachdem Sie den Cluster erstellt haben, indem Sie wie folgt vorgehen:

  1. Öffnen Sie die Amazon MSK-Konsole.
  2. Wählen Sie den Cluster aus, den Sie aktualisieren möchten.
  3. Wählen Sie in der Registerkarte Eigenschaften Upgrade im Abschnitt Apache-Kafka-Version.

Weitere Informationen finden Sie unter Aktualisierung der Apache Kafka-Version.

Sie können den Fortschritt des Updates auf der Registerkarte Cluster-Operationen überwachen. Auf dieser Registerkarte können Sie jeden Schritt des Upgrades überwachen, z. B. das Initialisieren des Upgrades, das Aktualisieren der Apache Kafka-Version und das Abschließen des Upgrades. Wenn das Upgrade 17 % erreicht hat, kann es mehrere Stunden dauern, bis das Upgrade abgeschlossen ist. Beachten Sie, dass Amazon MSK das Upgrade fortlaufend durchführt. Es wird jeweils ein Broker aus dem Cluster entfernt, und seine Kafka-Version wird aktualisiert. Dieser Broker tritt wieder bei, sobald der nächste Broker aufgenommen wird. Dieser Vorgang wird befolgt, bis der letzte Broker mit der neuen Kafka-Version aktualisiert wird.

Behebung häufiger Fehler

Fehler beim Aktualisieren der Clusterkonfiguration Beim Aktualisieren der Clusterkonfiguration ist ein Problem aufgetreten. Wenn das Problem weiterhin besteht, wenden Sie sich an den AWS-Support. Die Anzahl der Partitionen pro Broker liegt über dem empfohlenen Limit. Fügen Sie weitere Broker hinzu und ordnen Sie die Partitionen pro Broker neu an, sodass sie unter dem empfohlenen Limit liegen. Versuchen Sie dann erneut, die Anfrage zu stellen.

-or-

Das Upgrade steckt in der Phase „Upgrade wird initialisiert“ fest

Sie erhalten diesen Fehler, wenn die Anzahl der Partitionen pro Broker den empfohlenen Wert überschreitet. Der Umgang mit Partitionen auf einem Broker ist eine ressourcenintensive Arbeitslast. Eine höhere Anzahl von Partitionen als das empfohlene Limit kann zu einer Belastung der verfügbaren Ressourcen im Cluster führen. In dieser Situation können Sie keine der folgenden Operationen auf dem Cluster ausführen:

  • Aktualisieren Sie die Cluster-Konfiguration
  • Aktualisieren Sie die Apache Kafka-Version für den Cluster
  • Aktualisieren Sie den Cluster auf einen kleineren Brokertyp

Versuchen Sie Folgendes, um diesen Fehler zu beheben:

  • Erhöhen Sie die Anzahl der Broker innerhalb des Clusters. Ordnen Sie dann Partitionen neu zu, um die Anzahl der Partitionen pro Broker zu reduzieren. Verwenden Sie Amazon CloudWatch-Metriken, um die Anzahl der Partitionen pro Broker zu ermitteln. Die Partitionsanzahl ist die Gesamtzahl der Themenpartitionen pro Broker, einschließlich Replikaten. Standardmäßig ist die Anzahl der Partitionen pro Thema 1, und der Replikationsfaktor ist 3 für einen 3-AZ-Cluster. Daher haben Sie 3 Partitionen pro Thema, da der Replikationsfaktor von 3 die Hauptpartition beinhaltet. Um Partitionen auf verschiedene Broker im selben Cluster zu verschieben, können Sie das Tool zur Neuzuweisung von Partitionen mit dem Namen kafka-reassign-partitions.sh verwenden.
  • Reduzieren Sie die Anzahl der Partitionen, indem Sie ungenutzte Themen löschen. Sie können den folgenden Befehl verwenden, um alle Themen im Cluster zusammen mit der Anzahl der Partitionen anzuzeigen. Stellen Sie sicher, dass Sie einen Apache Kafka-Client auf einem Amazon Elastic Compute Cloud (Amazon EC2) -Computer einrichten, bevor Sie den Befehl ausführen.
bin/kafka-topics.sh —bootstrap-server localhost:9092 —describe —topic test
AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr