Migrowanie obciążeń platformy Apache Kafka do usługi Azure HDInsight 4.0

Usługa Azure HDInsight 4.0 oferuje najnowsze składniki typu open-source ze znaczącymi ulepszeniami wydajności, łączności i zabezpieczeń. W tym dokumencie wyjaśniono, jak migrować obciążenia platformy Apache Kafka w usłudze HDInsight 3.6 do usługi HDInsight 4.0. Po przeprowadzeniu migracji obciążeń do usługi HDInsight 4.0 możesz użyć wielu nowych funkcji, które nie są dostępne w usłudze HDInsight 3.6.

Ścieżki migracji platformy Kafka w usłudze HDInsight 3.6

Usługa HDInsight 3.6 obsługuje dwie wersje platformy Kafka: 1.0.0 i 1.1.0. Usługa HDInsight 4.0 obsługuje wersje 1.1.0 i 2.1.0. W zależności od wersji platformy Kafka i wersji usługi HDInsight, którą chcesz uruchomić, istnieje wiele obsługiwanych ścieżek migracji. Te ścieżki zostały wyjaśnione poniżej i zilustrowane na poniższym diagramie.

  • Uruchom platformę Kafka i usługę HDInsight w najnowszych wersjach (zalecane): migrowanie aplikacji HDInsight 3.6 i Kafka 1.0.0 lub 1.1.0 do usługi HDInsight 4.0 przy użyciu platformy Kafka 2.1.0 (ścieżki D i E poniżej).
  • Uruchom usługę HDInsight w najnowszej wersji, ale platforma Kafka tylko w nowszej wersji: Migrowanie aplikacji HDInsight 3.6 i Kafka 1.0.0 do usługi HDInsight 4.0 z platformą Kafka 1.1.0 (ścieżka B poniżej).
  • Uruchom usługę HDInsight w najnowszej wersji, zachowaj wersję platformy Kafka: Migrowanie aplikacji HDInsight 3.6 i Kafka 1.1.0 do usługi HDInsight 4.0 przy użyciu platformy Kafka 1.1.0 (ścieżka C poniżej).
  • Uruchom platformę Kafka w nowszej wersji, zachowaj wersję usługi HDInsight: migrowanie aplikacji platformy Kafka 1.0.0 do wersji 1.1.0 i pozostanie w usłudze HDInsight 3.6 (ścieżka A poniżej). Należy pamiętać, że ta opcja nadal będzie wymagać wdrożenia nowego klastra. Uaktualnianie wersji platformy Kafka w istniejącym klastrze nie jest obsługiwane. Po utworzeniu klastra z odpowiednią wersją zmigruj klientów platformy Kafka do korzystania z nowego klastra.

Upgrade paths for Apache Kafka on 3.6.

Wersje platformy Apache Kafka

Kafka 1.1.0

W przypadku migracji z platformy Kafka 1.0.0 do wersji 1.1.0 możesz skorzystać z następujących nowych funkcji:

  • Ulepszenia kontrolera platformy Kafka przyspieszają kontrolowane zamykanie, dzięki czemu można szybciej uruchomić ponownie brokerów i odzyskać sprawę po problemach.
  • Ulepszenia logiki FetchRequests, które umożliwiają posiadanie większej liczby partycji (a tym samym więcej tematów) w klastrze.
  • Platforma Kafka Połączenie obsługuje nagłówki rekordów i wyrażenia regularne dla tematów.

Aby uzyskać pełną listę aktualizacji, zobacz Informacje o wersji platformy Apache Kafka 1.1.

Apache Kafka 2.1.0

W przypadku migracji do platformy Kafka 2.1 możesz skorzystać z następujących funkcji:

  • Lepsza odporność brokera z powodu ulepszonego protokołu replikacji.
  • Nowe funkcje w interfejsie API platformy Kafka Administracja Client.
  • Konfigurowalne zarządzanie limitami przydziału.
  • Obsługa kompresji Zstandard.

Aby uzyskać pełną listę aktualizacji, zobacz Informacje o wersji platformy Apache Kafka 2.0 i informacje o wersji platformy Apache Kafka 2.1.

Zgodność klienta platformy Kafka

Nowi brokerzy platformy Kafka obsługują starszych klientów. KIP-35 — Wersja protokołu pobierania wprowadziła mechanizm dynamicznego określania funkcjonalności brokera platformy Kafka i KIP-97: Ulepszone zasady zgodności RPC klienta platformy Kafka wprowadziły nowe zasady zgodności i gwarancje dla klienta Java. Wcześniej klient platformy Kafka musiał wchodzić w interakcję z brokerem tej samej wersji lub nowszej wersji. Teraz nowsze wersje klientów Java i innych klientów, które obsługują kip-35, takie jak librdkafka mogą wrócić do starszych typów żądań lub zgłaszać odpowiednie błędy, jeśli funkcjonalność nie jest dostępna.

Upgrade Kafka client compatibility.

Należy pamiętać, że nie oznacza to, że klient obsługuje starszych brokerów. Aby uzyskać więcej informacji, zobacz Macierz zgodności.

Ogólny proces migracji

Poniższe wskazówki dotyczące migracji zakładają, że klaster Apache Kafka 1.0.0 lub 1.1.0 wdrożony w usłudze HDInsight 3.6 w jednej sieci wirtualnej. Istniejący broker ma kilka tematów i jest aktywnie używany przez producentów i konsumentów.

Current Kafka presumed environment.

Aby ukończyć migrację, wykonaj następujące czynności:

  1. Wdróż nowy klaster i klientów usługi HDInsight 4.0 na potrzeby testowania. Wdróż nowy klaster platformy Kafka usługi HDInsight 4.0. Jeśli można wybrać wiele wersji klastra Platformy Kafka, zaleca się wybranie najnowszej wersji. Po wdrożeniu ustaw parametry zgodnie z potrzebami i utwórz temat o tej samej nazwie co istniejące środowisko. Ponadto ustaw szyfrowanie TLS i bring-your-own-key (BYOK) zgodnie z potrzebami. Następnie sprawdź, czy działa poprawnie z nowym klastrem.

    Deploy new HDInsight 4.0 clusters.

  2. Przełącz klaster dla aplikacji producenta i poczekaj, aż wszystkie dane kolejki będą używane przez bieżących odbiorców. Gdy nowy klaster platformy Kafka usługi HDInsight 4.0 jest gotowy, przełącz istniejące miejsce docelowe producenta do nowego klastra. Pozostaw ją tak, jak jest, dopóki istniejąca aplikacja konsumenta nie zużyje wszystkich danych z istniejącego klastra.

    Switch cluster for producer app.

  3. Przełącz klaster w aplikacji konsumenckiej. Po potwierdzeniu, że istniejąca aplikacja konsumenta zakończyła korzystanie ze wszystkich danych z istniejącego klastra, przełącz połączenie z nowym klastrem.

    Switch cluster on consumer app.

  4. Usuń stary klaster i aplikacje testowe zgodnie z potrzebami. Po zakończeniu pracy przełącznika usuń stary klaster platformy Kafka usługi HDInsight 3.6 oraz producentów i konsumentów używanych w teście zgodnie z potrzebami.

Następne kroki