ترحيل أحمال عمل Apache Kafka إلى Azure HDInsight 4.0

يقدم Azure HDInsight 4.0 أحدث المكونات مفتوحة المصدر مع تحسينات كبيرة في الأداء والاتصال والأمان. توضح هذه الوثيقة كيفية ترحيل أحمال عمل Apache Kafka على HDInsight 3.6 إلى HDInsight 4.0. بعد ترحيل أحمال العمل إلى HDInsight 4.0، يمكنك استخدام العديد من الميزات الجديدة غير المتوفرة على HDInsight 3.6.

مسارات ترحيل HDInsight 3.6 Kafka

HDInsight 3.6 يدعم نسختين من Kafka: 1.0.0 و1.1.0. HDInsight 4.0 يدعم الإصدارات 1.1.0 و2.1.0. اعتماداً على نوع إصدار Kafka ونوع إصدار HDInsight الذي ترغب في تشغيله، هناك مسارات ترحيل متعددة مدعومة. يتم شرح هذه المسارات أدناه وتوضيحها في الرسم التخطيطي التالي.

  • تشغيل كل من Kafka وHDInsight على أحدث الإصدارات (مستحسن): ترحيل HDInsight 3.6 وKafka 1.0.0 أو التطبيق 1.1.0 لـ HDInsight 4.0 مع Kafka 2.1.0 (المسارين D وE أدناه).
  • تشغيل HDInsight على أحدث إصدار، ولكن Kafka فقط على إصدار أحدث: ترحيل HDInsight 3.6 وتطبيق Kafka 1.0.0 لـ HDInsight 4.0 مع Kafka 1.1.0 (المسار B أدناه).
  • تشغيل HDInsight على أحدث إصدار، والاحتفاظ بإصدار Kafka: ترحيل HDInsight 3.6 وتطبيق Kafka 1.1.0 لـ HDInsight 4.0 مع Kafka 1.1.0 (المسار C أدناه).
  • تشغيل كافكا على إصدار أحدث، والاحتفاظ بإصدار HDInsight : ترحيل تطبيق Kafka 1.0.0 إلى 1.1.0 والبقاء على HDInsight 3.6 (المسار A أدناه). لاحظ أن هذا الخيار لا يزال يتطلب توزيع نظام مجموعة جديد. ترقية إصدار Kafka على نظام مجموعة موجود مسبقاً يعد غير مدعوم. بعد إنشاء نظام مجموعة بالإصدار الذي تريده، قم بترحيل عملاء Kafka لاستخدام نظام المجموعة الجديد.

Upgrade paths for Apache Kafka on 3.6.

إصدارات Apache Kafka

Kafka 1.1.0

إذا قمت بالترحيل من Kafka 1.0.0 إلى 1.1.0 يمكنك الاستفادة من الميزات الجديدة التالية:

  • تسرع التحسينات على وحدة تحكم Kafka من إيقاف التشغيل المتحكم به، حتى تتمكن من إعادة تشغيل الوسطاء والتعافي من المشاكل بشكل أسرع.
  • تمكنك التحسينات في FetchRequests logic من الحصول على المزيد من الأقسام (ومن ثم المزيد من المواضيع) على نظام المجموعة.
  • يدعم اتصال Kafka عناوين السجلوالتعبيرات العادية للمواضيع.

للحصول على قائمة كاملة من التحديثات، راجع ملاحظات حول الإصدار Apache Kafka 1.1.

Apache Kafka 2.1.0

إذا قمت بالترحيل إلى Kafka 2.1، يمكنك الاستفادة من الميزات التالية:

  • مرونة أفضل للوسيط بسبب بروتوكول النسخ المتماثل المحسن.
  • وظائف جديدة في واجهة برمجة التطبيقات KafkaAdminClient.
  • إدارة الحصة النسبية القابلة للتكوين.
  • دعم لضغط Zstandard.

للحصول على قائمة كاملة من التحديثات، راجع ملاحظات حول الإصدار Apache Kafka 2.0 وملاحظات حول الإصدار Apache Kafka 2.1 .

التوافق مع عميل Kafka

يدعم وسطاء Kafka الجدد العملاء القدامى. KIP-35 - إصدار بروتوكول الاسترجاع قدم آلية لتحديد وظيفية وسيط Kafka بشكل حيوي وKIP-97: سياسة توافق RPC المحسنة لعميل Kafka قدمت سياسة توافق جديدة وضمانات لعميل Java. في السابق، كان على عميل Kafka التعامل مع وسيط من نفس الإصدار أو إصدار أحدث. الآن، يمكن للإصدارات الأحدث من عملاء Java والعملاء الآخرين التي تدعم KIP-35 مثل librdkafka أن الرجوع إلى أنواع الطلبات القديمة أو إظهار الأخطاء المناسبة إذا لم تتوفر الوظيفة.

Upgrade Kafka client compatibility.

لاحظ أن هذا لا يعني أن العميل يدعم الوسطاء القدامى. لمزيد من المعلومات، راجع مصفوفة التوافق.

عملية الترحيل العامة

تفترض إرشادات الترحيل التالية توزيع نظام مجموعة Apache Kafka 1.0.0 أو 1.1.0 على HDInsight 3.6 في شبكة ظاهرية واحدة. الوسيط الحالي لديه بعض المواضيع ويُستخدم بشكل نشط من قبل المنتجين والمستهلكين.

Current Kafka presumed environment.

لإكمال الترحيل، قم بالخطوات التالية:

  1. توزيع نظام مجموعة وعملاء 4.0 HDInsight جدد للاختبار. توزيع نظام مجموعة HDInsight 4.0 Kafk جديد. إذا كان بالإمكان تحديد العديد من إصدارات نظام مجموعة Kafka، فمن المستحسن تحديد أحدث إصدار. بعد التوزيع، قم بتعيين بعض المعلمات حسب الحاجة وإنشاء موضوع بنفس اسم البيئة الموجودة لديك. أيضاً، قم بتعيين TLS وتشفير جلب المفتاح الخاص بك (BYOK) حسب الحاجة. ثم تحقق إذا كان يعمل بشكل صحيح مع نظام المجموعة الجديد.

    Deploy new HDInsight 4.0 clusters.

  2. تبديل نظام المجموعة من أجل تطبيق المنتج، والانتظار حتى يتم استهلاك جميع بيانات قائمة الانتظار من قبل المستهلكين الحاليين. عندما يكون نظام مجموعة HDInsight 4.0 Kafka الجديد جاهزاً، قم بتبديل وجهة المنتج الحالية إلى نظام المجموعة الجديد. اترك الأمر كما هو حتى يستهلك تطبيق المستهلك الحالي جميع البيانات من نظام المجموعة الحالي.

    Switch cluster for producer app.

  3. تبديل نظام المجموعة على تطبيق المستهلك. بعد التأكد من أن تطبيق المستهلك الموجود قد انتهى من استهلاك جميع البيانات من نظام المجموعة الموجود، قم بتبديل الاتصال إلى نظام المجموعة الجديد.

    Switch cluster on consumer app.

  4. إزالة نظام المجموعة القديم وتطبيقات الاختبار حسب الحاجة. بمجرد اكتمال التبديل والعمل بشكل صحيح، قم بإزالة نظام مجموعة HDInsight 3.6 Kafka القديم والمنتجين والمستهلكين المستخدمين في الاختبار حسب الحاجة.

الخطوات التالية