اپاچی کافکا کو ڈوکر کمپوز کے ساتھ تعینات کریں۔

Apachy Kafka Kw Wkr Kmpwz K Sat T Ynat Kry



ڈوکر ایک مفت اور اوپن سورس کنٹینرائزیشن سافٹ ویئر ہے جس نے اس منظر نامے کو مکمل طور پر تبدیل کر دیا ہے کہ کس طرح ڈویلپرز ایپلی کیشنز کو پیکج اور تعینات کرتے ہیں۔ Docker ہمیں ایک ہی ادارے میں ایک درخواست اور تمام مطلوبہ انحصار پیک کرنے کی اجازت دیتا ہے۔ اس کا مطلب ہے کہ ہم پیکج کو تقسیم کر سکتے ہیں، اور ماحول کو تقریباً ہر مشین میں متضاد یا لاپتہ پیکجوں کے بغیر نقل کیا جا سکتا ہے۔

اس ٹیوٹوریل میں، ہم سیکھیں گے کہ ہم ڈوکر کا استعمال کرتے ہوئے اپاچی کافکا کلسٹر کیسے تعینات کر سکتے ہیں۔ یہ ہمیں فراہم کردہ ڈاکر امیج کو استعمال کرنے کی اجازت دیتا ہے تاکہ تقریبا کسی بھی ماحول میں کافکا کلسٹر کو تیزی سے گھمایا جا سکے۔

آئیے بنیادی باتوں سے شروع کریں اور اس بات پر بات کریں کہ کافکا کیا ہے۔







اپاچی کافکا کیا ہے؟

اپاچی کافکا ایک مفت، اوپن سورس، انتہائی قابل توسیع، تقسیم شدہ، اور غلطی برداشت کرنے والا اشاعتی سبسکرائب پیغام رسانی کا نظام ہے۔ یہ ایک اعلی حجم، ہائی تھرو پٹ، اور ریئل ٹائم ڈیٹا سٹریم کو ہینڈل کرنے کے لیے ڈیزائن کیا گیا ہے، جو اسے لاگ ایگریگیشن، ریئل ٹائم اینالیٹکس، اور ایونٹ سے چلنے والے فن تعمیر سمیت استعمال کے بہت سے معاملات کے لیے موزوں بناتا ہے۔



کافکا ایک تقسیم شدہ فن تعمیر پر مبنی ہے جو اسے متعدد سرورز میں ڈیٹا کی بڑی مقدار کو سنبھالنے کی اجازت دیتا ہے۔ یہ پبلش سبسکرائب ماڈل کا استعمال کرتا ہے جہاں پروڈیوسر عنوانات پر پیغامات بھیجتے ہیں اور صارفین انہیں وصول کرنے کے لیے سبسکرائب کرتے ہیں۔ یہ پروڈیوسروں اور صارفین کے درمیان دو جوڑے مواصلات کی اجازت دیتا ہے، اعلی توسیع پذیری اور لچک فراہم کرتا ہے۔



ڈوکر کمپوز کیا ہے۔

ڈوکر کمپوز سے مراد ایک ڈوکر پلگ ان یا ٹول ہے جو ملٹی کنٹینر ایپلی کیشنز کی وضاحت اور چلانے کے لیے ہے۔ ڈاکر ہمیں YAML فائل میں کنٹینر کنفیگریشن کی وضاحت کرنے کے لیے کمپوز کرتا ہے۔ کنفیگریشن فائل میں کنٹینر کی تصریحات شامل ہیں جیسے خدمات، نیٹ ورکس، اور حجم جو کسی ایپلیکیشن کے لیے درکار ہوتے ہیں۔





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/

اس ٹیوٹوریل کو لکھتے وقت، ڈوکر کمپوز کو انسٹال کرنے کے لیے آپ کی ٹارگٹ مشین پر ڈوکر ڈیسک ٹاپ انسٹال کرنا ہوتا ہے۔ لہذا، ڈوکر کمپوز کو اسٹینڈ اکیلے یونٹ کے طور پر انسٹال کرنا فرسودہ ہے۔

ایک بار جب ہم ڈوکر انسٹال کر لیتے ہیں، تو ہم 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 = جی ہاں
منحصرکرتاہے :
- چڑیا گھر
جلدیں :
زوکیپر_ڈیٹا :
ڈرائیور : مقامی
کافکا_ڈیٹا :
ڈرائیور : مقامی

مثال کے طور پر ڈاکر فائل ایک زوکیپر اور کافکا کلسٹر قائم کرتی ہے جہاں کافکا کلسٹر کوآرڈینیشن کے لیے زوکیپر سروس سے منسلک ہوتا ہے۔ فائل ہر سروس کے لیے بندرگاہوں اور ماحولیاتی متغیرات کو بھی ترتیب دیتی ہے تاکہ مواصلات اور خدمات تک رسائی کی اجازت دی جا سکے۔

ہم خدمات کے ڈیٹا کو برقرار رکھنے کے لیے نامزد والیوم بھی ترتیب دیتے ہیں چاہے کنٹینرز دوبارہ شروع کیے جائیں یا دوبارہ بنائے جائیں۔

آئیے پچھلی فائل کو آسان حصوں میں تقسیم کرتے ہیں:

ہم 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 ماحولیاتی متغیر ہے۔ اس ماحولیاتی متغیر کی قدر کو 'ہاں' پر سیٹ کرنے سے کافکا کلسٹر تک غیر محفوظ ٹریفک کی اجازت ملتی ہے۔

آخر میں، ہم وہ حجم فراہم کرتے ہیں جس پر کافکا سروس اپنا ڈیٹا محفوظ کرتی ہے۔

اس بات کو یقینی بنانے کے لیے کہ ڈاکر زوکیپر اور کافکا کے لیے جلدوں کو ترتیب دیتا ہے، ہمیں ان کی وضاحت کرنے کی ضرورت ہے جیسا کہ جلدوں کے سیکشن میں دکھایا گیا ہے۔ یہ زوکیپر_ڈیٹا اور کافکا_ڈیٹا والیوم سیٹ کرتا ہے۔ دونوں جلدیں مقامی ڈرائیور کا استعمال کرتی ہیں جس کا مطلب ہے کہ ڈیٹا میزبان مشین میں محفوظ ہے۔

وہاں آپ کے پاس ہے! ایک سادہ کنفیگریشن فائل جو آپ کو آسان مراحل میں ڈوکر کا استعمال کرتے ہوئے کافکا کنٹینر کو گھمانے کی اجازت دیتی ہے۔

کنٹینر چلانا

اس بات کو یقینی بنانے کے لیے کہ ڈاکر چل رہا ہے، ہم YAML فائل سے کنٹینر کو درج ذیل کمانڈ سے چلا سکتے ہیں۔

$ sudo ڈاکر مرتب کریں۔

کمانڈ کو YAML کنفیگریشن فائل کا پتہ لگانا چاہئے اور کنٹینر کو مخصوص اقدار کے ساتھ چلانا چاہئے:

نتیجہ

اب آپ نے سیکھا ہے کہ آپ اپاچی کافکا کو ڈوکر کمپوز YAML کنفیگریشن فائل سے کنفیگر اور چلا سکتے ہیں۔