Share via


Workloads van Apache Kafka migreren naar Azure HDInsight 4.0

Azure HDInsight 4.0 biedt de nieuwste opensource-onderdelen met aanzienlijke verbeteringen in prestaties, connectiviteit en beveiliging. In dit document wordt uitgelegd hoe u Apache Kafka-workloads in HDInsight 3.6 migreert naar HDInsight 4.0. Nadat u uw workloads naar HDInsight 4.0 hebt gemigreerd, kunt u veel van de nieuwe functies gebruiken die niet beschikbaar zijn in HDInsight 3.6.

HdInsight 3.6 Kafka-migratiepaden

HDInsight 3.6 ondersteunt twee versies van Kafka: 1.0.0 en 1.1.0. HDInsight 4.0 ondersteunt versies 1.1.0 en 2.1.0. Afhankelijk van welke versie van Kafka en welke versie van HDInsight u wilt uitvoeren, zijn er meerdere ondersteunde migratiepaden. Deze paden worden hieronder uitgelegd en geïllustreerd in het volgende diagram.

  • Voer kafka en HDInsight uit op de nieuwste versies (aanbevolen): migreer een HDInsight 3.6- en Kafka 1.0.0- of 1.1.0-toepassing naar HDInsight 4.0 met Kafka 2.1.0 (paden D en E hieronder).
  • HdInsight uitvoeren op de nieuwste versie, maar Kafka alleen op een recentere versie: Migreer een HDInsight 3.6- en Kafka 1.0.0-toepassing naar HDInsight 4.0 met Kafka 1.1.0 (pad B hieronder).
  • HdInsight uitvoeren op de nieuwste versie, kafka-versie behouden: migreer een HDInsight 3.6- en Kafka 1.1.0-toepassing naar HDInsight 4.0 met Kafka 1.1.0 (pad C hieronder).
  • Voer Kafka uit op een recentere versie, behoud HDInsight-versie: Migreer een Kafka 1.0.0-toepassing naar 1.1.0 en blijf op HDInsight 3.6 (pad A hieronder). Houd er rekening mee dat voor deze optie nog steeds een nieuw cluster moet worden geïmplementeerd. Het upgraden van de Kafka-versie op een bestaand cluster wordt niet ondersteund. Nadat u een cluster hebt gemaakt met de gewenste versie, migreert u uw Kafka-clients om het nieuwe cluster te gebruiken.

Upgrade paths for Apache Kafka on 3.6.

Apache Kafka-versies

Kafka 1.1.0

Als u migreert van Kafka 1.0.0 naar 1.1.0, kunt u profiteren van de volgende nieuwe functies:

  • Verbeteringen aan de Kafka-controller versnellen de gecontroleerde afsluiting, zodat u brokers opnieuw kunt opstarten en sneller kunt herstellen van problemen.
  • Verbeteringen in de FetchRequests-logica waarmee u meer partities (en dus meer onderwerpen) in het cluster kunt hebben.
  • Kafka Verbinding maken ondersteunt recordheaders en reguliere expressies voor onderwerpen.

Zie de releaseopmerkingen voor Apache Kafka 1.1 voor een volledige lijst met updates.

Apache Kafka 2.1.0

Als u migreert naar Kafka 2.1, kunt u profiteren van de volgende functies:

  • Betere brokertolerantie vanwege een verbeterd replicatieprotocol.
  • Nieuwe functionaliteit in de Kafka Beheer Client-API.
  • Configureerbaar quotumbeheer.
  • Ondersteuning voor Zstandard-compressie.

Zie de releaseopmerkingen voor Apache Kafka 2.0 en opmerkingen bij de release van Apache Kafka 2.1 voor een volledige lijst met updates.

Kafka-clientcompatibiliteit

Nieuwe Kafka-brokers ondersteunen oudere clients. KIP-35 - Bij het ophalen van protocolversie is een mechanisme geïntroduceerd voor het dynamisch bepalen van de functionaliteit van een Kafka-broker en KIP-97: Verbeterd RPC-compatibiliteitsbeleid voor Kafka-clients heeft een nieuw compatibiliteitsbeleid en garanties voor de Java-client geïntroduceerd. Voorheen moest een Kafka-client communiceren met een broker van dezelfde versie of een nieuwere versie. Nieuwere versies van de Java-clients en andere clients die KIP-35 ondersteunen, zoals librdkafka kunnen terugvallen op oudere aanvraagtypen of geschikte fouten genereren als de functionaliteit niet beschikbaar is.

Upgrade Kafka client compatibility.

Houd er rekening mee dat het niet betekent dat de klant oudere brokers ondersteunt. Zie Compatibiliteitsmatrix voor meer informatie.

Algemeen migratieproces

In de volgende migratierichtlijnen wordt ervan uitgegaan dat een Apache Kafka 1.0.0- of 1.1.0-cluster is geïmplementeerd in HDInsight 3.6 in één virtueel netwerk. De bestaande broker heeft enkele onderwerpen en wordt actief gebruikt door producenten en consumenten.

Current Kafka presumed environment.

Voer de volgende stappen uit om de migratie te voltooien:

  1. Implementeer een nieuw HDInsight 4.0-cluster en -clients voor test. Implementeer een nieuw HDInsight 4.0 Kafka-cluster. Als er meerdere Kafka-clusterversies kunnen worden geselecteerd, is het raadzaam om de nieuwste versie te selecteren. Na de implementatie stelt u enkele parameters in en maakt u een onderwerp met dezelfde naam als uw bestaande omgeving. Stel indien nodig TLS- en BYOK-versleuteling (Bring Your Own Key) in. Controleer vervolgens of het correct werkt met het nieuwe cluster.

    Deploy new HDInsight 4.0 clusters.

  2. Schakel over naar het cluster voor de producenttoepassing en wacht totdat alle wachtrijgegevens door de huidige consumenten worden gebruikt. Wanneer het nieuwe HDInsight 4.0 Kafka-cluster gereed is, schakelt u de bestaande producentbestemming over naar het nieuwe cluster. Laat deze staan totdat de bestaande consumer-app alle gegevens uit het bestaande cluster heeft verbruikt.

    Switch cluster for producer app.

  3. Schakel het cluster in de consumententoepassing in. Nadat u hebt bevestigd dat de bestaande consumententoepassing alle gegevens uit het bestaande cluster heeft verbruikt, schakelt u de verbinding naar het nieuwe cluster over.

    Switch cluster on consumer app.

  4. Verwijder het oude cluster en test zo nodig toepassingen. Zodra de switch is voltooid en goed werkt, verwijdert u het oude HDInsight 3.6 Kafka-cluster en de producenten en consumenten die in de test worden gebruikt, indien nodig.

Volgende stappen