انشر Apache Kafka مع Docker Compose

Anshr Apache Kafka M Docker Compose



Docker هو برنامج حاويات مجاني ومفتوح المصدر غيّر تمامًا المشهد الخاص بكيفية حزم المطورين للتطبيقات ونشرها. يسمح لنا Docker بحزم تطبيق وجميع التبعيات المطلوبة في كيان واحد. هذا يعني أنه يمكننا توزيع الحزمة ، ويمكن تكرار البيئة في كل جهاز تقريبًا دون تعارض أو فقدان الحزم.

في هذا البرنامج التعليمي ، سنتعلم كيف يمكننا نشر مجموعة Apache Kafka باستخدام عامل الإرساء. يتيح لنا ذلك استخدام صورة عامل الإرساء المقدمة لتدوير كتلة كافكا بسرعة في أي بيئة تقريبًا.

لنبدأ بالأساسيات ونناقش ما هو كافكا.







ما هو أباتشي كافكا؟

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



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



ما هو عامل البناء يؤلف

يشير Docker Compose إلى مكون إضافي لرسو السفن أو أداة لتحديد التطبيقات متعددة الحاويات وتشغيلها. يقوم Docker بتكويننا لتحديد تكوين الحاوية في ملف YAML. يتضمن ملف التكوين مواصفات الحاوية مثل الخدمات والشبكات ووحدات التخزين المطلوبة من قبل التطبيق.





باستخدام أمر docker-compose ، يمكننا إنشاء وبدء حاويات متعددة بأمر واحد.

تثبيت Docker و Docker Compose

الخطوة الأولى هي التأكد من تثبيت عامل الإرساء على جهازك المحلي. يمكنك التحقق من الموارد التالية لمعرفة المزيد:



  • https://linuxhint.com/install_configure_docker_ubuntu/
  • https://linuxhint.com/install-docker-debian/
  • https://linuxhint.com/install_docker_debian_10/
  • https://linuxhint.com/install-docker-ubuntu-22-04/
  • https://linuxhint.com/install-docker-on-pop_os/
  • https://linuxhint.com/how-to-install-docker-desktop-windows/
  • https://linuxhint.com/install-use-docker-centos-8/
  • https://linuxhint.com/install_docker_on_raspbian_os/

اعتبارًا من كتابة هذا البرنامج التعليمي ، يتطلب تثبيت تكوين عامل الإرساء تثبيت سطح مكتب Docker على جهازك المستهدف. ومن ثم ، تم إهمال تثبيت عامل الإرساء كوحدة مستقلة.

بمجرد تثبيت Docker ، يمكننا تكوين ملف YAML. يحتوي هذا الملف على جميع التفاصيل التي نحتاجها لتدوير كتلة كافكا باستخدام حاوية عامل إرساء.

إعداد Docker-Compose.YAML

قم بإنشاء docker-compose.yaml وقم بالتعديل باستخدام محرر النصوص المفضل لديك:

$ touch docker-compose.yaml
$ vim docker-compose.yaml

بعد ذلك ، أضف ملف تكوين عامل الإرساء كما هو موضح في ما يلي:

إصدار : '3'
خدمات :
حارس حديقة الحيوان :
صورة : بيتنامي / حارس حديقة الحيوان : 3.8
الموانئ :
- '2181: 2181'
أحجام :
- 'zookeeper_data: / bitnami'
بيئة :
- ALLOW_ANONYMOUS_LOGIN = نعم
كافكا :
صورة : عامل ميناء. هذا / بيتنامي / كافكا : 3.3
الموانئ :
- '9092: 9092'
أحجام :
- 'kafka_data: / bitnami'
بيئة :
- KAFKA_CFG_ZOOKEEPER_CONNECT = حارس حديقة الحيوان : 2181
- ALLOW_PLAINTEXT_LISTENER = نعم
يعتمد على :
- حارس حديقة الحيوان
أحجام :
zookeeper_data :
سائق : محلي
kafka_data :
سائق : محلي

يُنشئ ملف عامل الإرساء المثال Zookeeper ومجموعة كافكا حيث يتم توصيل كتلة كافكا بخدمة Zookeeper للتنسيق. يقوم الملف أيضًا بتكوين المنافذ ومتغيرات البيئة لكل خدمة للسماح بالاتصال والوصول إلى الخدمات.

نقوم أيضًا بإعداد وحدات التخزين المسماة لاستمرار بيانات الخدمات حتى إذا تم إعادة تشغيل الحاويات أو إعادة إنشائها.

دعونا نقسم الملف السابق إلى أقسام بسيطة:

نبدأ بخدمة Zookeeper باستخدام bitnami / zookeeper: 3.8 صورة. ثم تقوم هذه الصورة بتعيين المنفذ 2181 على الجهاز المضيف إلى المنفذ 2181 على الحاوية. قمنا أيضًا بتعيين متغير البيئة ALLOW_ANONYMOUS_LOGIN على 'نعم'. أخيرًا ، قمنا بتعيين الحجم الذي تخزن فيه الخدمة البيانات على هيئة zookeeper_data.

تحدد الكتلة الثانية تفاصيل إنشاء خدمة كافكا. في هذه الحالة ، نستخدم صورة docker.io/bitnami/kafka:3.3 التي تعين المنفذ المضيف 9092 إلى منفذ الحاوية 9092. وبالمثل ، فإننا نحدد أيضًا متغير البيئة KAFKA_CFG_ZOOKEEPER_CONNECT وقمنا بتعيين قيمته على عنوان Zookeeper كما تم تعيينه لـ المنفذ 2181. متغير البيئة الثاني الذي نحدده في هذا القسم هو متغير البيئة ALLOW_PLAINTEXT_LISTENER. يتيح تعيين قيمة متغير البيئة هذا إلى 'نعم' حركة مرور غير آمنة إلى كتلة كافكا.

أخيرًا ، نقدم الحجم الذي تخزن فيه خدمة كافكا بياناتها.

للتأكد من أن عامل التحميل يقوم بتكوين الأحجام لـ Zookeeper و Kafka ، نحتاج إلى تعريفها كما هو موضح في قسم المجلدات. يؤدي هذا إلى إعداد مجلدات zookeeper_data و kafka_data. يستخدم كلا المجلدين برنامج التشغيل المحلي مما يعني أن البيانات مخزنة في الجهاز المضيف.

ها أنت ذا! ملف تكوين بسيط يسمح لك بتدوير حاوية كافكا بخطوات بسيطة.

تشغيل الحاوية

لضمان تشغيل عامل الإرساء ، يمكننا تشغيل الحاوية من ملف YAML باستخدام الأمر التالي:

$ سودو عامل الميناء يؤلف

يجب على الأمر تحديد موقع ملف تكوين YAML وتشغيل الحاوية بالقيم المحددة:

خاتمة

لقد تعلمت الآن كيف يمكنك تكوين وتشغيل Apache Kafka من ملف تكوين YAML لرسو السفن.