مشاركة عبر


مثال دفق Apache Spark (DStream) مع Apache Kafka في HDInsight

تعلم كيفية استخدام Apache Spark لدفق البيانات من أو إلى Apache Kafka على HDInsight باستخدام DStreams. يستخدم هذا المثال دفتر ملاحظات Jupyter الذي يعمل على مجموعة Spark.

إشعار

تنشئ الخطوات في هذا المستند مجموعة موارد Azure التي تحتوي على كل من نظام مجموعة Spark في HDInsight وKafka في HDInsight. تقع هاتان المجموعتان داخل شبكة Azure افتراضية، ما يسمح لمجموعة Spark بأن تتواصل مباشرةً مع مجموعة Kafka.

عند الانتهاء من الخطوات الواردة في هذا المستند، تذكر حذف المجموعات لتجنب الرسوم الزائدة.

هام

يستخدم هذا المثال DStreams، وهي تقنية دفق Spark قديمة. للحصول على مثال يستخدم ميزات دفق Spark الأحدث، راجع مستند Spark Structured Streaming باستخدام Apache Kafka.

إنشاء مجموعات

لا يقدم Apache Kafka على HDInsight إمكانية الوصول إلى وسطاء Kafka عبر اتصال الإنترنت العام. يجب أن يوجد أي شيء يتحدث إلى Kafka في شبكة Azure الظاهرية نفسها مثل العقد في نظام مجموعة Kafka. في هذا المثال، يوجد كل من نظام مجموعة Kafka وSpark في شبكة Azure ظاهرية. يبين المخطط التالي كيف يتدفق الاتصال بين نظامي المجموعة:

Diagram of Spark and Kafka clusters in an Azure virtual network.

إشعار

على الرغم من أن Kafka نفسها تقتصر على التواصل داخل الشبكة الظاهرية، إلا أنه يمكن الوصول إلى خدمات أخرى في المجموعة مثل SSH و Ambari عبر الإنترنت. للاطلاع على مزيد من المعلومات حول المنافذ العامة المتاحة مع HDInsight، راجع المنافذ وعناوين URL المستخدمة من جانب HDInsight.

بينما يمكنك إنشاء شبكة Azure ظاهرية ونظامي مجموعة Kafka، وSpark يدويًّا، يكون من الأسهل استخدام قالب Azure Resource Manager. استخدم الخطوات التالية لتوزيع شبكة Azure الظاهرية، ونظامي مجموعة Kafka، وSpark إلى اشتراك Azure الخاص بك.

  1. استخدم الزر التالي لتسجيل الدخول إلى Azure وافتح النموذج في مدخل Azure.

    Deploy to Azure button for new cluster

    تحذير

    لضمان توفر Kafka على HDInsight، يجب أن تحتوي مجموعتك على أربع عقد عاملة على الأقل. ينشئ هذا القالب مجموعة Kafka التي تحتوي على أربع عقد عاملة.

    ينشئ هذا القالب مجموعة HDInsight 4.0 لكل من Kafka وSpark.

  2. استخدم المعلومات التالية لملء الإدخالات في قسم التوزيع المخصص:

    الخاصية القيمة
    مجموعة الموارد أنشئ مجموعة أو حدد مجموعة موجودة.
    الموقع حدد موقعا جغرافيًّا بالقرب منك.
    اسم نظام المجموعة الأساسي تُستخدم هذه القيمة كاسم أساسي لنظامي مجموعة Spark وKafka. على سبيل المثال، إدخال hdistreaming ينشئ مجموعة نظام مجموعة Spark تسمى spark-hdistreaming ونظام مجموعة Kafka تسمى kafka-hdistreaming.
    Cluster Login User Name اسم المستخدم المسؤول لنظامي مجموعة Spark وKafka.
    Cluster Login Password كلمة مرور المستخدم المسؤول لنظامي مجموعة Spark وKafka.
    SSH User Name مستخدم SSH لإنشاء نظامي مجموعة Spark وKafka.
    SSH Password كلمة مرور مستخدم SSH لنظامي مجموعة Spark وKafka.

    HDInsight custom deployment parameters.

  3. اقرأ البنود والشروط، ثم حدد أوافق على الشروط والأحكام المذكورة أعلاه.

  4. أخيراً، حدد Purchase. يستغرق إنشاء شبكة نظام المجموعة حوالي 20 دقيقة.

بمجرد إنشاء الموارد، تظهر صفحة ملخص.

Resource group summary for the vnet and clusters.

هام

لاحظ أن أسماء مجموعات HDInsight هي spark-BASENAME و kafka-BASENAME، حيث BASENAME هو الاسم الذي قدمته إلى القالب. يمكنك استخدام هذه الأسماء في الخطوات اللاحقة عند الاتصال بالمجموعات.

استخدام دفاتر الملاحظات

تتوفر التعليمات البرمجية للمثال الموضح في هذا المستند في https://github.com/Azure-Samples/hdinsight-spark-scala-kafka.

قم بحذف نظام المجموعة

تحذير

يتم تحديد فوترة مجموعات HDInsight في الدقيقة، سواء كنت تستخدمها أم لا. تأكد من حذف نظام المجموعة بعد انتهائك من استخدامه. تعرف على كيفية حذف مجموعة HDInsight.

نظرًا لأن الخطوات الواردة في هذا المستند تُنشئ كلا المجموعتين في نفس مجموعة موارد Azure، يمكنك حذف مجموعة الموارد في مدخل Azure. حذف المجموعة يزيل كافة الموارد التي تم إنشاؤها باتباع هذا المستند، شبكة Azure الظاهرية، وحساب التخزين المستخدمة من قبل المجموعات.

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

في هذا المثال، تعلمت كيفية استخدام Spark للقراءة والكتابة إلى Kafka. استخدم الروابط التالية لاكتشاف طرق أخرى للعمل من خلال Kafka: