نسخ البيانات من نظام مجموعة Kafka إلى مراكز الأحداث باستخدام Apache Kafka Mirror Maker 2

يوضح هذا البرنامج التعليمي كيفية نسخ البيانات من مجموعة Kafka موجودة إلى Azure Event Hubs باستخدام Mirror Maker 2.

صورة توضح تدفق الأحداث من Kafka MirrorMaker إلى مراكز الأحداث.

ملاحظة

تلك العينة متاحة على GitHub

في هذا البرنامج التعليمي، تتعلم كيفية:

  • إنشاء مساحة اسم لـ Event Hubs
  • إعداد أو استخدام نظام مجموعة Kafka موجود
  • تكوين Kafka Mirror Maker 2
  • تشغيل Kafka Mirror Maker 2

مقدمة

تم تصميم Apache Kafka MirrorMaker 2.0 (MM2) لتسهيل عكس الموضوعات أو نسخها نسخا متماثلا من مجموعة Kafka إلى أخرى. يستخدم Mirror Maker إطار عمل Kafka Connect لتبسيط التكوين والتحجيم. لمزيد من المعلومات التفصيلية حول Kafka MirrorMaker، راجع دليل Kafka Mirroring/MirrorMaker.

نظرا لأن مراكز الأحداث متوافقة مع بروتوكول Apache Kafka، يمكنك استخدام Mirror Maker 2 لنسخ البيانات نسخا متماثلا بين مجموعة Kafka موجودة ومساحة اسم مراكز الأحداث.

يكشف Mirror Maker 2 ديناميكيا عن التغييرات التي تطرأ على الموضوعات ويضمن مزامنة خصائص الموضوع المصدر والهدف، بما في ذلك الإزاحات والأقسام. يمكن استخدامه لنسخ البيانات نسخا متماثلا ثنائي الاتجاه بين مجموعة Kafka ومساحة اسم مراكز الأحداث.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي، تأكد من أن لديك:

إنشاء مساحة اسم لـ Event Hubs

مطلوب مساحة اسم Event Hubs للإرسال والاستلام من أي خدمة Event Hubs. راجع إنشاء مركز أحداث للحصول على إرشادات حول إنشاء مساحة اسم ومركز أحداث. تأكد من نسخ سلسلة اتصال Event Hubs لاستخدامها لاحقاً.

استنساخ مثال للمشروع

الآن بعد أن أصبح لديك سلسلة اتصال Event Hubs، قم باستنساخ Azure Event Hubs لمستودع Kafka وانتقل إلى المجلد الفرعي mirror-maker-2:

git clone https://github.com/Azure/azure-event-hubs-for-kafka.git
cd azure-event-hubs-for-kafka/tutorials/mirror-maker-2

إعداد أو استخدام نظام مجموعة Kafka موجود

إذا لم يكن لديك نظام مجموعة Kafka موجود، فاستخدم دليل التشغيل السريع Kafka لإعداد نظام مجموعة Kafka بالإعدادات المطلوبة (أو استخدام نظام مجموعة Kafka موجود). لأغراض الاختبار، يمكنك أيضا إنشاء موضوعين في مجموعة Kafka التي تم إنشاؤها حديثا ونشر البيانات إليها.

إذا كان لديك بالفعل مجموعة Kafka موجودة محليا أو في خدمة سحابة Kafka مدارة، فيمكنك استخدامها لنسخ البيانات الموجودة إلى مراكز الأحداث.

تكوين Kafka Mirror Maker 2

يأتي توزيع Apache Kafka مع connect-mirror-maker.sh برنامج نصي مجمع مع مكتبة Kafka التي تنفذ مجموعة Mirror Maker 2 الموزعة. يدير Connect workers داخليا استنادا إلى ملف تكوين. يقوم برنامج تشغيل MirrorMaker داخليا بإنشاء ومعالجة أزواج من كل موصل - MirrorSource Connector و MirrorSink Connector و MirrorCheckpoint Connector و MirrorHeartbeat Connector.

  1. لتكوين Mirror Maker 2 لنسخ البيانات نسخا متماثلا، تحتاج إلى تحديث ملف kafka-to-eh-connect-mirror-maker.properties تكوين Mirror Maker 2 لتعريف مخطط النسخ المتماثل.

  2. في kafka-to-eh-connect-mirror-maker.properties ملف التكوين، حدد الأسماء المستعارة لنظام المجموعة التي تخطط لاستخدامها لمجموعة Kafka (المصدر) ومراكز الأحداث (الوجهة).

     # cluster aliases 
     clusters = source, destination
    
  3. ثم حدد معلومات الاتصال لمصدرك، وهو نظام مجموعة Kafka الخاص بك.

     source.bootstrap.servers = your-kafka-cluster-hostname:9092
     #source.security.protocol=SASL_SSL
     #source.sasl.mechanism=PLAIN
     #source.sasl.jaas.config=<replace sasl jaas config of your Kafka cluster>;
    
  4. حدد معلومات الاتصال للوجهة، وهي مساحة اسم مراكز الأحداث التي قمت بإنشائها.

     destination.bootstrap.servers = <your-enventhubs-namespace>.servicebus.windows.net:9093
     destination.security.protocol=SASL_SSL
     destination.sasl.mechanism=PLAIN
     destination.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='$ConnectionString' password='<Your Event Hubs namespace connection string.>';
    
  5. تمكين تدفق النسخ المتماثل من مجموعة Kafka المصدر إلى مساحة اسم مراكز الأحداث الوجهة.

     source->destination.enabled = true
     source->destination.topics = .*
    
  6. قم بتحديث عامل النسخ المتماثل للمواضيع البعيدة والموضوعات الداخلية التي ينشئها Mirror Maker في الوجهة.

     replication.factor=3
    
     checkpoints.topic.replication.factor=3
     heartbeats.topic.replication.factor=3
     offset-syncs.topic.replication.factor=3    
    
     offset.storage.replication.factor=3
     status.storage.replication.factor=3
     config.storage.replication.factor=3
    
  7. ثم يمكنك نسخ kafka-to-eh-connect-mirror-maker.properties ملف التكوين إلى دليل تكوين توزيع Kafka ويمكنك تشغيل البرنامج النصي Mirror Maker 2 باستخدام الأمر التالي.

     ./bin/connect-mirror-maker.sh ./config/kafka-to-eh-connect-mirror-maker.properties
    
  8. عند التنفيذ الناجح للبرنامج النصي، يجب أن ترى مواضيع Kafka والأحداث التي يتم نسخها نسخا متماثلا إلى مساحة اسم مراكز الأحداث.

  9. للتحقق من أن الأحداث تعمل على الوصول إلى مراكز الأحداث الممكنة ل Kafka، تحقق من إحصائيات الدخول في مدخل Microsoft Azure، أو قم بتشغيل مستهلك مقابل مراكز الأحداث.

عينات

راجع العينات التالية على GitHub:

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

لمعرفة المزيد حول Event Hubs لـ Kafka، راجع المقالات التالية: