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.
Einen Broker aus einem Amazon-MSK-Cluster entfernen
Verwenden Sie diesen Amazon MSK-Vorgang, wenn Sie Broker aus den von Amazon Managed Streaming for Apache Kafka (MSK) bereitgestellten Clustern entfernen möchten. Sie können die Speicher- und Rechenkapazität Ihres Clusters reduzieren, indem Sie Gruppen von Brokern entfernen, ohne dass dies Auswirkungen auf die Verfügbarkeit, das Risiko der Datenbeständigkeit oder eine Unterbrechung Ihrer Datenstreaming-Anwendungen hat.
Sie können Ihrem Cluster weitere Broker hinzufügen, um den Anstieg des Datenverkehrs zu bewältigen, und Broker entfernen, wenn der Verkehr nachlässt. Mit den Funktionen zum Hinzufügen und Entfernen von Brokern können Sie Ihre Clusterkapazität optimal nutzen und Ihre MSK-Infrastrukturkosten optimieren. Durch das Entfernen von Brokern haben Sie die Kontrolle über die vorhandene Clusterkapazität auf Broker-Ebene, um sie an Ihre Workload-Anforderungen anzupassen und eine Migration zu einem anderen Cluster zu vermeiden.
Verwenden Sie die AWS Konsole, die Befehlszeilenschnittstelle (CLI), das SDK oder, AWS CloudFormation um die Anzahl der Broker Ihres bereitgestellten Clusters zu reduzieren. MSK wählt die Broker aus, auf denen sich keine Partitionen befinden (außer bei kanarischen Themen), und verhindert, dass Anwendungen Daten an diese Broker senden. Gleichzeitig werden diese Broker sicher aus dem Cluster entfernt.
Sie sollten einen Broker pro Availability Zone entfernen, wenn Sie den Speicher- und Rechenaufwand eines Clusters reduzieren möchten. Sie können beispielsweise zwei Broker aus einem Cluster mit zwei Availability Zones oder drei Broker aus einem Cluster mit drei Availability Zones in einem einzigen Broker-Entfernungsvorgang entfernen.
Informationen dazu, wie Sie Partitionen neu verteilen können, nachdem Sie Broker aus einem Cluster entfernt haben, finden Sie unterNeuzuweisung von Partitionen.
Sie können Broker aus allen M5- und M7g-basierten, von MSK bereitgestellten Clustern entfernen, unabhängig von der Instanzgröße.
Das Entfernen von Brokern wird in den Kafka-Versionen 2.8.1 und höher unterstützt, auch in Modusclustern. KRaft
Themen
Bereiten Sie sich darauf vor, Broker zu entfernen, indem Sie alle Partitionen entfernen
Bevor Sie mit dem Broker-Entfernungsprozess beginnen, verschieben Sie zunächst alle Partitionen mit Ausnahme der Partitionen für Themen __amazon_msk_canary und __amazon_msk_canary_state für die Broker, die Sie entfernen möchten. Dies sind interne Themen, die Amazon MSK für Cluster-Integritäts- und Diagnosemetriken erstellt.
Sie können Kafka Admin APIs oder Cruise Control verwenden, um Partitionen auf andere Broker zu verschieben, die Sie im Cluster behalten möchten. Siehe Partitionen neu zuweisen.
Beispielprozess zum Entfernen von Partitionen
Dieser Abschnitt ist ein Beispiel dafür, wie Sie Partitionen aus dem Broker entfernen können, den Sie entfernen möchten. Angenommen, Sie haben einen Cluster mit 6 Brokern, 2 Brokern in jeder AZ, und er hat vier Themen:
__amazon_msk_canary__consumer_offsets__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2msk-brk-rmv
Erstellen Sie einen Client-Computer, wie unter Client-Computer erstellen beschrieben.
Führen Sie nach der Konfiguration des Client-Computers den folgenden Befehl aus, um alle verfügbaren Themen in Ihrem Cluster aufzulisten.
./bin/kafka-topics.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --listIn diesem Beispiel sehen wir vier Themennamen:
__amazon_msk_canary__consumer_offsets,__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2, undmsk-brk-rmv.Erstellen Sie eine JSON-Datei, die
topics.jsonauf dem Client-Computer aufgerufen wird, und fügen Sie alle Benutzerthemennamen hinzu, wie im folgenden Codebeispiel. Sie müssen den__amazon_msk_canaryThemennamen nicht angeben, da es sich um ein vom Service verwaltetes Thema handelt, das bei Bedarf automatisch verschoben wird.{ "topics": [ {"topic": "msk-brk-rmv"}, {"topic": "__consumer_offsets"}, {"topic": "__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2"} ], "version":1 }Führen Sie den folgenden Befehl aus, um einen Vorschlag zum Verschieben von Partitionen auf nur 3 von 6 Brokern im Cluster zu generieren.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generateErstellen Sie eine Datei mit dem Namen
reassignment-file.jsonund kopierenproposed partition reassignment configurationSie den Befehl, den Sie vom obigen Befehl erhalten haben.Führen Sie den folgenden Befehl aus, um Partitionen zu verschieben, die Sie in der angegeben haben
reassignment-file.json../bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --executeDie Ausgabe sieht folgendermaßen oder ähnlich aus:
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0Führen Sie den folgenden Befehl aus, um zu überprüfen, ob alle Partitionen verschoben wurden.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --verifyDie Ausgabe sieht folgendermaßen oder ähnlich aus. Überwachen Sie den Status, bis alle Partitionen in den von Ihnen angeforderten Themen erfolgreich neu zugewiesen wurden:
Status of partition reassignment: Reassignment of partition msk-brk-rmv-0 is completed. Reassignment of partition msk-brk-rmv-1 is completed. Reassignment of partition __consumer_offsets-0 is completed. Reassignment of partition __consumer_offsets-1 is completed.Wenn der Status anzeigt, dass die Neuzuweisung der Partitionen für jede Partition abgeschlossen ist, überwachen Sie die
UserPartitionExistsMetriken fünf Minuten lang, um sicherzustellen, dass sie0für die Broker angezeigt werden, von denen Sie die Partitionen verschoben haben. Nachdem Sie dies bestätigt haben, können Sie damit fortfahren, den Broker aus dem Cluster zu entfernen.
Entfernen Sie einen Broker mit der AWS Management Console
Um Broker mit der AWS Management Console zu entfernen
Öffnen Sie die Amazon-MSK-Konsole unter https://console.aws.amazon.com/msk/
. Wählen Sie den MSK-Cluster aus, der Broker enthält, die Sie entfernen möchten.
Klicken Sie auf der Seite mit den Cluster-Details auf die Schaltfläche Aktionen und wählen Sie die Option Anzahl der Broker bearbeiten aus.
Geben Sie die Anzahl der Broker ein, die der Cluster pro Availability Zone haben soll. Die Konsole fasst die Anzahl der Broker in den Availability Zones zusammen, die entfernt werden. Stellen Sie sicher, dass dies das ist, was Sie wollen.
Wählen Sie Änderungen speichern aus.
Um ein versehentliches Entfernen von Brokern zu verhindern, werden Sie in der Konsole aufgefordert, zu bestätigen, dass Sie Broker löschen möchten.
Entfernen Sie einen Broker mit der AWS CLI
Führen Sie den folgenden Befehl aus und ClusterArn ersetzen Sie ihn durch den Amazon-Ressourcennamen (ARN), den Sie bei der Erstellung Ihres Clusters erhalten haben. Wenn Ihnen der ARN für Ihren Cluster nicht vorliegt, finden Sie ihn, indem Sie alle Cluster auflisten. Weitere Informationen finden Sie unter Amazon MSK-Cluster auflisten. Current-Cluster-VersionDurch die aktuelle Version des Clusters ersetzen.
Wichtig
Cluster-Versionen sind keine einfachen Ganzzahlen. Verwenden Sie den Befehl DescribeClusteroperation oder describe-cluster, um die aktuelle Version des ClustersKTVPDKIKX0DER ist ein Beispiel für eine Version.
Der Target-Number-of-Brokers Parameter stellt die Gesamtzahl der Broker-Knoten dar, über die der Cluster verfügen soll, wenn dieser Vorgang erfolgreich abgeschlossen wird. Der Wert, für den Sie angeben, Target-Number-of-Brokers muss eine ganze Zahl sein, die kleiner ist als die aktuelle Anzahl von Brokern im Cluster. Sie muss auch ein Vielfaches der Anzahl der Availability Zones sein.
aws kafka update-broker-count --cluster-arnClusterArn--current-versionCurrent-Cluster-Version--target-number-of-broker-nodesTarget-Number-of-Brokers
Die Ausgabe dieses update-broker-count-Vorgangs sieht wie das folgende JSON aus.
{ "ClusterOperationInfo": { "ClientRequestId": "c0b7af47-8591-45b5-9c0c-909a1a2c99ea", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-09-25T23:48:04.794Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "DECREASE_BROKER_COUNT", "SourceClusterInfo": { "NumberOfBrokerNodes": 12 }, "TargetClusterInfo": { "NumberOfBrokerNodes": 9 } } }
In dieser Ausgabe hat OperationType den Wert „DECREASE_BROKER_COUNT“. Wenn OperationState den Wert „UPDATE_IN_PROGRESS“ aufweist, warten Sie eine Weile, bevor Sie den describe-cluster-operation-Befehl erneut ausführen.
Entfernen Sie einen Broker mit der AWS API
Informationen zum Entfernen von Brokern in einem Cluster mithilfe der API finden Sie UpdateBrokerCountin der Amazon Managed Streaming for Apache Kafka API-Referenz.