Memigrasikan beban kerja Apache Kafka ke Microsoft Azure HDInsight 4.0

Microsoft Azure HDInsight 4.0 menawarkan komponen sumber terbuka terbaru dengan peningkatan signifikan dalam kinerja, konektivitas, dan keamanan. Dokumen ini menjelaskan cara memigrasikan beban kerja Apache Kafka pada HDInsight 3.6 ke HDInsight 4.0. Setelah memigrasikan beban kerja Anda ke Microsoft Azure HDInsight 4.0, Anda dapat menggunakan banyak fitur baru yang tidak tersedia di Microsoft Azure HDInsight 3.6.

Jalur migrasi Microsoft Azure HDInsight 3.6 Kafka

Microsoft Azure HDInsight 3.6 mendukung dua versi Kafka: 1.0.0 dan 1.1.0. Microsoft Azure HDInsight 4.0 mendukung versi 1.1.0 dan 2.1.0. Tergantung pada versi Kafka mana dan versi Microsoft Azure HDInsight mana yang ingin Anda jalankan, terdapat beberapa jalur migrasi yang didukung. Jalur ini dijelaskan di bawah ini dan diilustrasikan dalam diagram berikut.

  • Jalankan Kafka dan Microsoft Azure HDInsight pada versi terbaru (disarankan): Memigrasikan Microsoft Azure HDInsight 3.6 dan Kafka 1.0.0 atau 1.1.0 ke Microsoft Azure HDInsight 4.0 dengan Kafka 2.1.0 (jalur D dan E di bawah).
  • Jalankan Microsoft Azure HDInsight pada versi terbaru, tetapi Kafka hanya pada versi yang lebih baru: Memigrasikan aplikasi Microsoft Azure HDInsight 3.6 dan Kafka 1.0.0 ke Microsoft Azure HDInsight 4.0 dengan Kafka 1.1.0 (jalur B di bawah).
  • Jalankan Microsoft Azure HDInsight pada versi terbaru, tetapi Kafka hanya pada versi yang lebih baru: Memigrasikan aplikasi Microsoft Azure HDInsight 3.6 dan Kafka 1.1.0 ke Microsoft Azure HDInsight 4.0 dengan Kafka 1.1.0 (jalur C di bawah).
  • Jalankan Kafka pada versi yang lebih baru, pertahankan versi Microsoft Azure HDInsight: Memigrasikan aplikasi Kafka 1.0.0 ke 1.1.0 dan tetap di Microsoft Azure HDInsight 3.6 (jalur A di bawah). Perhatikan bahwa opsi ini masih memerlukan penyebaran kluster baru. Memutakhirkan versi Kafka pada kluster yang ada tidak didukung. Setelah Anda membuat kluster dengan versi yang Anda inginkan, migrasikan klien Kafka Anda untuk menggunakan kluster baru.

Upgrade paths for Apache Kafka on 3.6.

Versi Apache Kafka

Kafka 1.1.0

Jika Anda bermigrasi dari Kafka 1.0.0 ke 1.1.0, Anda dapat memanfaatkan fitur-fitur baru berikut:

  • Peningkatan pada pengontrol Kafka mempercepat matikan terkontrol, sehingga Anda dapat memulai ulang broker dan memulihkan dari masalah lebih cepat.
  • Penyempurnaan dalam logika FetchRequests yang memungkinkan Anda untuk memiliki lebih banyak partisi (dan karenanya lebih banyak topik) pada kluster.
  • Sambungkan Kafka mendukung header rekaman dan ekspresi reguler untuk topik.

Untuk daftar lengkap pembaruan, lihat catatan rilis Apache Kafka 1.1.

Apache Kafka 2.1.0

Jika Anda bermigrasi ke Kafka 2.1, Anda dapat memanfaatkan fitur-fitur berikut:

  • Ketahanan broker yang lebih baik karena protokol replikasi yang ditingkatkan.
  • Fungsionalitas baru dalam API KafkaAdminClient.
  • Manajemen kuota yang dapat dikonfigurasi.
  • Dukungan untuk kompresi Zstandard.

Untuk daftar lengkap pembaruan, lihat catatan rilis Apache Kafka 2.0 dan catatan rilis Apache Kafka 2.1.

Kompatibilitas klien Kafka

Broker Kafka baru mendukung klien yang lebih tua. KIP-35 - Mengambil versi protokol memperkenalkan mekanisme secara dinamis untuk menentukan fungsionalitas broker Kafka dan KIP-97: Kompatibilitas Azure Policy RPC Klien Kafka yang ditingkatkan memperkenalkan kebijakan kompatibilitas baru dan jaminan untuk klien Java. Sebelumnya, klien Kafka harus berinteraksi dengan broker dengan versi yang sama atau versi yang lebih baru. Saat ini, versi klien Java yang lebih baru dan klien lain yang mendukung KIP-35 seperti librdkafka dapat jatuh kembali ke jenis permintaan yang lebih lama atau melemparkan kesalahan yang sesuai jika fungsionalitas tidak tersedia.

Upgrade Kafka client compatibility.

Perhatikan bahwa itu tidak berarti bahwa klien mendukung broker yang lebih tua. Untuk informasi selengkapnya, lihat Matriks Kompatibilitas.

Proses migrasi umum

Panduan migrasi berikut mengasumsikan kluster Apache Kafka 1.0.0 atau 1.1.0 yang disebarkan pada Microsoft Azure HDInsight 3.6 dalam satu jaringan virtual. Broker yang ada memiliki beberapa topik dan sedang aktif digunakan oleh produsen dan konsumen.

Current Kafka presumed environment.

Untuk menyelesaikan migrasi, lakukan langkah-langkah berikut:

  1. Sebarkan kluster Microsoft Azure HDInsight 4.0 baru dan klien untuk pengujian. Sebarkan kluster Microsoft Azure HDInsight 4.0 Kafka baru. Jika beberapa versi kluster Kafka dapat dipilih, disarankan untuk memilih versi terbaru. Setelah penyebaran, tetapkan beberapa parameter sesuai kebutuhan dan buat topik dengan nama yang sama dengan lingkungan Anda yang ada. Juga, atur enkripsi TLS dan bawa kunci Anda sendiri (BYOK) sesuai kebutuhan. Kemudian periksa apakah berfungsi dengan benar dengan kluster baru.

    Deploy new HDInsight 4.0 clusters.

  2. Alihkan kluster untuk aplikasi produsen, dan tunggu sampai semua data antrean dikonsumsi oleh konsumen saat ini. Ketika kluster Microsoft Azure HDInsight 4.0 Kafka baru siap, alihkan tujuan produsen yang ada ke kluster baru. Biarkan apa adanya sampai aplikasi Konsumen yang ada telah mengonsumsi semua data dari kluster yang ada.

    Switch cluster for producer app.

  3. Alihkan kluster pada aplikasi konsumen. Setelah mengkonfirmasi bahwa aplikasi konsumen yang ada telah selesai mengonsumsi semua data dari kluster yang ada, alihkan koneksi ke kluster baru.

    Switch cluster on consumer app.

  4. Hapus kluster lama dan uji aplikasi sesuai kebutuhan. Setelah sakelar selesai dan berfungsi dengan baik, hapus kluster Microsoft Azure HDInsight 3.6 Kafka lama dan produsen dan konsumen yang digunakan dalam pengujian sesuai kebutuhan.

Langkah berikutnya