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 MSK Amazon-Cluster entfernen
Verwenden Sie diesen MSK Amazon-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. Durch die Möglichkeit, Broker hinzuzufügen und zu entfernen, 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) oderSDK, AWS CloudFormation um die Anzahl der Broker in Ihrem bereitgestellten Cluster zu reduzieren. MSKwä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 MSK bereitgestellten M5- und M7g-basierten 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 für Cluster-Integritäts- und Diagnosemetriken MSK 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-2
msk-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” --list
In 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.json
auf dem Client-Computer aufgerufen wird, und fügen Sie alle Benutzerthemennamen hinzu, wie im folgenden Codebeispiel. Sie müssen den__amazon_msk_canary
Themennamen 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 --generate
Erstellen Sie eine Datei mit dem Namen
reassignment-file.json
und kopierenproposed partition reassignment configuration
Sie 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 --execute
Die Ausgabe sieht folgendermaßen oder ähnlich aus:
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0
Fü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 --verify
Die 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
UserPartitionExists
Metriken fünf Minuten lang, um sicherzustellen, dass sie0
fü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 MSK Amazon-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. In der Konsole wird die Anzahl der Broker in den Availability Zones zusammengefasst, die entfernt werden. Stellen Sie sicher, dass dies das ist, was Sie wollen.
Wählen Sie Änderungen speichern.
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 dem 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 Sie den ARN für Ihren Cluster nicht haben, können Sie ihn finden, indem Sie alle Cluster auflisten. Weitere Informationen finden Sie unter MSKAmazon-Cluster auflisten. Current-Cluster-Version
Durch 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.
Das Tool Target-Number-of-Brokers
Der Parameter stellt die Gesamtzahl der Brokerknoten dar, über die der Cluster verfügen soll, wenn dieser Vorgang erfolgreich abgeschlossen wird. Der Wert, den Sie angeben für 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-arn
ClusterArn
--current-versionCurrent-Cluster-Version
--target-number-of-broker-nodesTarget-Number-of-Brokers
Die Ausgabe dieser update-broker-count
Operation sieht wie folgt ausJSON.
{ "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 dem AWS API
Informationen zum Entfernen von Brokern in einem Cluster mithilfe von finden Sie UpdateBrokerCountin der APIReferenz Amazon Managed Streaming for Apache Kafka. API