Migrera Apache Kafka-arbetsbelastningar till Azure HDInsight 4.0

Azure HDInsight 4.0 erbjuder de senaste komponenterna med öppen källkod med betydande förbättringar av prestanda, anslutning och säkerhet. Det här dokumentet förklarar hur du migrerar Apache Kafka-arbetsbelastningar på HDInsight 3.6 till HDInsight 4.0. När du har migrerat dina arbetsbelastningar till HDInsight 4.0 kan du använda många av de nya funktionerna som inte är tillgängliga i HDInsight 3.6.

HDInsight 3.6 Kafka-migreringsvägar

HDInsight 3.6 stöder två versioner av Kafka: 1.0.0 och 1.1.0. HDInsight 4.0 stöder versionerna 1.1.0 och 2.1.0. Beroende på vilken version av Kafka och vilken version av HDInsight du vill köra finns det flera migreringsvägar som stöds. Dessa sökvägar förklaras nedan och illustreras i följande diagram.

  • Kör både Kafka och HDInsight på de senaste versionerna (rekommenderas): Migrera ett HDInsight 3.6- och Kafka 1.0.0- eller 1.1.0-program till HDInsight 4.0 med Kafka 2.1.0 (sökvägarna D och E nedan).
  • Kör HDInsight på den senaste versionen, men Kafka endast på en nyare version: Migrera ett HDInsight 3.6- och Kafka 1.0.0-program till HDInsight 4.0 med Kafka 1.1.0 (sökväg B nedan).
  • Kör HDInsight på den senaste versionen och behåll Kafka-versionen: Migrera ett HDInsight 3.6- och Kafka 1.1.0-program till HDInsight 4.0 med Kafka 1.1.0 (sökväg C nedan).
  • Kör Kafka på en nyare version, behåll HDInsight-versionen: Migrera ett Kafka 1.0.0-program till 1.1.0 och stanna kvar på HDInsight 3.6 (sökväg A nedan). Observera att det här alternativet fortfarande kräver distribution av ett nytt kluster. Det går inte att uppgradera Kafka-versionen i ett befintligt kluster. När du har skapat ett kluster med den version du vill använda migrerar du dina Kafka-klienter för att använda det nya klustret.

Upgrade paths for Apache Kafka on 3.6.

Apache Kafka-versioner

Kafka 1.1.0

Om du migrerar från Kafka 1.0.0 till 1.1.0 kan du dra nytta av följande nya funktioner:

  • Förbättringar av Kafka-styrenheten påskyndar kontrollerad avstängning, så att du kan starta om koordinatorer och återställa från problem snabbare.
  • Förbättringar i FetchRequests-logiken som gör att du kan ha fler partitioner (och därmed fler ämnen) i klustret.
  • Kafka Anslut stöder postrubriker och reguljära uttryck för ämnen.

En fullständig lista över uppdateringar finns i Viktig information om Apache Kafka 1.1.

Apache Kafka 2.1.0

Om du migrerar till Kafka 2.1 kan du dra nytta av följande funktioner:

  • Bättre återhämtning för asynkrona koordinatorer på grund av ett förbättrat replikeringsprotokoll.
  • Nya funktioner i KafkaAdminClient-API:et.
  • Konfigurerbar kvothantering.
  • Stöd för Zstandard-komprimering.

En fullständig lista över uppdateringar finns i Viktig information om Apache Kafka 2.0 och Viktig information om Apache Kafka 2.1.

Kafka-klientkompatibilitet

Nya Kafka-mäklare stöder äldre klienter. KIP-35 – Hämtning av protokollversion introducerade en mekanism för att dynamiskt fastställa funktionerna i en Kafka-mäklare och KIP-97: Förbättrad Kafka Client RPC-kompatibilitetsprincip introducerade en ny kompatibilitetsprincip och garantier för Java-klienten. Tidigare var en Kafka-klient tvungen att interagera med en mäklare med samma version eller en nyare version. Nu kan nyare versioner av Java-klienterna och andra klienter som librdkafka har stöd för KIP-35 som kan återgå till äldre begärandetyper eller utlösa lämpliga fel om funktionen inte är tillgänglig.

Upgrade Kafka client compatibility.

Observera att det inte innebär att klienten stöder äldre koordinatorer. Mer information finns i Kompatibilitetsmatris.

Allmän migreringsprocess

Följande migreringsvägledning förutsätter att ett Apache Kafka 1.0.0- eller 1.1.0-kluster distribueras i HDInsight 3.6 i ett enda virtuellt nätverk. Den befintliga mäklaren har några ämnen och används aktivt av producenter och konsumenter.

Current Kafka presumed environment.

Utför följande steg för att slutföra migreringen:

  1. Distribuera ett nytt HDInsight 4.0-kluster och -klienter för testning. Distribuera ett nytt HDInsight 4.0 Kafka-kluster. Om flera Kafka-klusterversioner kan väljas rekommenderar vi att du väljer den senaste versionen. Efter distributionen anger du några parametrar efter behov och skapar ett ämne med samma namn som din befintliga miljö. Ange även TLS- och BYOK-kryptering (bring-your-own-key) efter behov. Kontrollera sedan om det fungerar korrekt med det nya klustret.

    Deploy new HDInsight 4.0 clusters.

  2. Växla klustret för producentprogrammet och vänta tills alla ködata förbrukas av de aktuella konsumenterna. När det nya HDInsight 4.0 Kafka-klustret är klart växlar du det befintliga producentmålet till det nya klustret. Låt det vara som det är tills den befintliga konsumentappen har förbrukat alla data från det befintliga klustret.

    Switch cluster for producer app.

  3. Växla klustret i konsumentprogrammet. När du har bekräftat att det befintliga konsumentprogrammet har förbrukat alla data från det befintliga klustret växlar du anslutningen till det nya klustret.

    Switch cluster on consumer app.

  4. Ta bort det gamla klustret och testa program efter behov. När växeln är klar och fungerar korrekt tar du bort det gamla HDInsight 3.6 Kafka-klustret och de producenter och konsumenter som används i testet efter behov.

Nästa steg