Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure HDInsight 5.1 enthält die neuesten Open-Source-Komponenten mit erheblichen Verbesserungen in Bezug auf Leistung, Konnektivität und Sicherheit. In diesem Artikel wird erläutert, wie Sie Apache Kafka-Workloads von HDInsight 4.0 (Kafka 2.1) zu HDInsight 5.1 (Kafka 3.2) migrieren.
Apache Kafka-Versionen
Apache Kafka 3.2.0
Wenn Sie zu Kafka 3.2.0 (HDI 5.1) migrieren, können Sie die folgenden neuen Funktionen nutzen:
- Unterstützung automatisierter Consumer-Offsets mit clusterübergreifender Synchronisierung in MM 2.0, wodurch Migration und Failover von Consumern über Cluster hinweg vereinfacht werden (KIP-545).
- Hinweis auf den Partitionsleiter, um die Partition wiederherzustellen: Ein neues Feature, mit dem der Controller mit einem neu gewählten Themenpartitionsleiter kommunizieren kann, um zu erfahren, ob der Zustand wiederhergestellt werden muss (KIP-704)
- Unterstützt standardmäßig TLS 1.2 für sichere Kommunikation.
- Entfernung der Zookeeper-Abhängigkeit: Produzenten und Consumer benötigen den Zookeeper-Parameter nicht mehr. Verwenden Sie für CLI-Befehle die Option
--bootstrap-server
anstelle von--zookeeper
(KIP-500). - Konfigurierbare Backloggröße zum Erstellen von Acceptor: Eine neue Konfiguration, mit der die Größe des SYN-Backlogs für TCP-Acceptor-Sockets auf den Brokern festgelegt werden kann (KIP-764)
- Fehlercodefeld auf oberster Ebene für DescribeLogDirsResponse: Ein neuer Fehlercode, der die DescribeLogDirs-API mit anderen APIs konsistent macht und das Zurückgeben anderer Fehler neben CLUSTER_AUTHORIZATION_FAILED ermöglicht (KIP-784)
Eine umfassende Liste der Aktualisierungen finden Sie in den Versionshinweisen zu Apache Kafka 3.2.0.
Kafka-Clientkompatibilität
Neue Kafka-Broker unterstützen ältere Clients. Mit KIP-35: Retrieving protocol version (Abrufen der Protokollversion) wurde ein Mechanismus zur dynamischen Bestimmung der Funktionalität eines Kafka-Brokers eingeführt. Mit KIP-97: Improved Kafka Client RPC Compatibility Policy (Kompatibilitätsrichtlinie für verbesserten Kafka-Client-RPC) wurden eine neue Kompatibilitätsrichtlinie und Garantien für den Java-Client eingeführt. Zuvor musste die Interaktion zwischen einem Kafka-Client und einem Broker derselben oder einer höheren Version erfolgen. Nun können neuere Versionen der Java-Clients und anderer Clients, die KIP-35 unterstützen, z. B. librdkafka
, auf ältere Anforderungstypen zurückgreifen oder entsprechende Fehler auslösen, wenn die Funktionalität nicht verfügbar ist.
Hinweis
Es wird empfohlen, die gleiche Version von Kafka-Client und -Cluster zu verwenden. Weitere Informationen finden Sie in der Kompatibilitätsmatrix.
Allgemeiner Migrationsvorgang
In der folgenden Migrationsanleitung wird davon ausgegangen, dass ein Apache Kafka 2.1.1-Cluster in HDInsight 4.0 in einem einzelnen virtuellen Netzwerk bereitgestellt wird. Der vorhandene Broker enthält einige Themen und wird von Producern und Consumern aktiv verwendet. Die Aktualisierung der Kafka-Version auf einem vorhandenen Cluster ist nicht möglich. Nachdem Sie einen Cluster mit HDI 5.1 erstellt haben, migrieren Sie die Kafka-Clients zur Verwendung des neuen Clusters.
Führen Sie zur Migration die folgenden Schritte aus:
Stellen Sie einen neuen HDInsight 5.1-Cluster und entsprechende Clients zum Testen bereit. Stellen Sie einen neuen HDInsight 5.1-Kafka-Cluster bereit. Wenn mehrere Kafka-Clusterversionen ausgewählt werden können, empfiehlt sich die Auswahl der neuesten Version. Legen Sie nach der Bereitstellung einige Parameter fest, und erstellen Sie ein Thema mit dem gleichen Namen wie die vorhandene Umgebung. Legen Sie außerdem die TLS- und die Bring-Your-Own-Key-Verschlüsselung (BYOK) nach Bedarf fest. Überprüfen Sie dann, ob alles mit dem neuen Cluster ordnungsgemäß ausgeführt wird.
Ändern Sie den Cluster für die Produceranwendung, und warten Sie, bis alle Warteschlangendaten von den aktuellen Consumern verarbeitet wurden: Wenn der neue Kafka-Cluster in HDInsight 5.1 verwendet werden kann, ändern Sie das vorhandene Producerziel in den neuen Cluster. Ändern Sie das Ziel erst, wenn die vorhandene Consumeranwendung alle Daten vom vorhandenen Cluster verarbeitet hat.
Ändern Sie den Cluster für die Consumeranwendung: Nachdem Sie überprüft haben, ob die vorhandene Consumeranwendung alle Daten des vorhandenen Clusters genutzt hat, ändern Sie die Verbindung in den neuen Cluster.
Entfernen Sie den alten Cluster, und testen Sie die Anwendungen nach Bedarf: Wenn der Wechsel abgeschlossen ist und der Cluster ordnungsgemäß ausgeführt wird, entfernen Sie den alten HDInsight 4.0-Kafka-Cluster und die beim Testen verwendeten Producer und Consumer.