ডকার কম্পোজের সাথে অ্যাপাচি কাফকা স্থাপন করুন

Dakara Kampojera Sathe A Yapaci Kaphaka Sthapana Karuna



ডকার হল একটি বিনামূল্যের এবং ওপেন-সোর্স কন্টেইনারাইজেশন সফ্টওয়্যার যা বিকাশকারীরা কীভাবে অ্যাপ্লিকেশনগুলিকে প্যাকেজ এবং স্থাপন করে তার ল্যান্ডস্কেপকে সম্পূর্ণরূপে পরিবর্তন করেছে৷ ডকার আমাদের একটি একক সত্তায় একটি অ্যাপ্লিকেশন এবং সমস্ত প্রয়োজনীয় নির্ভরতা প্যাকেজ করার অনুমতি দেয়। এর মানে হল যে আমরা প্যাকেজটি বিতরণ করতে পারি, এবং পরিবেশটি প্রায় প্রতিটি মেশিনে বিরোধপূর্ণ বা অনুপস্থিত প্যাকেজ ছাড়াই প্রতিলিপি করা যেতে পারে।

এই টিউটোরিয়ালে, আমরা শিখব কিভাবে আমরা ডকার ব্যবহার করে একটি অ্যাপাচি কাফকা ক্লাস্টার স্থাপন করতে পারি। এটি আমাদের প্রায় যেকোনো পরিবেশে কাফকা ক্লাস্টারকে দ্রুত স্পিন করতে প্রদত্ত ডকার ইমেজ ব্যবহার করতে দেয়।

আসুন মূল বিষয়গুলি দিয়ে শুরু করি এবং কাফকা কী তা নিয়ে আলোচনা করি।







অ্যাপাচি কাফকা কি?

Apache Kafka হল একটি বিনামূল্যের, ওপেন সোর্স, অত্যন্ত পরিমাপযোগ্য, বিতরণ করা, এবং ত্রুটি-সহনশীল প্রকাশ-সাবস্ক্রাইব মেসেজিং সিস্টেম। এটি একটি উচ্চ ভলিউম, উচ্চ থ্রুপুট এবং রিয়েল-টাইম ডেটা স্ট্রিম পরিচালনা করার জন্য ডিজাইন করা হয়েছে, এটি লগ একত্রিতকরণ, রিয়েল-টাইম অ্যানালিটিক্স এবং ইভেন্ট-চালিত আর্কিটেকচার সহ অনেক ব্যবহারের ক্ষেত্রে উপযুক্ত করে তোলে।



কাফকা একটি বিতরণকৃত আর্কিটেকচারের উপর ভিত্তি করে তৈরি করা হয়েছে যা এটিকে একাধিক সার্ভারে প্রচুর পরিমাণে ডেটা পরিচালনা করতে দেয়। এটি একটি প্রকাশ-সাবস্ক্রাইব মডেল ব্যবহার করে যেখানে প্রযোজকরা বিষয়গুলিতে বার্তা পাঠায় এবং ভোক্তারা সেগুলি গ্রহণ করার জন্য তাদের সদস্যতা নেয়। এটি প্রযোজক এবং ভোক্তাদের মধ্যে দ্বিগুণ যোগাযোগের অনুমতি দেয়, উচ্চ মাপযোগ্যতা এবং নমনীয়তা প্রদান করে।



ডকার রচনা কি

ডকার কম্পোজ একটি ডকার প্লাগইন বা মাল্টি-কন্টেইনার অ্যাপ্লিকেশন সংজ্ঞায়িত এবং চালানোর জন্য টুল বোঝায়। ডকার একটি YAML ফাইলে ধারক কনফিগারেশন সংজ্ঞায়িত করতে আমাদের রচনা করে। কনফিগারেশন ফাইলে কনটেইনার স্পেসিফিকেশন যেমন পরিষেবা, নেটওয়ার্ক এবং ভলিউম রয়েছে যা একটি অ্যাপ্লিকেশনের জন্য প্রয়োজনীয়।





ডকার-কম্পোজ কমান্ড ব্যবহার করে, আমরা একক কমান্ড দিয়ে একাধিক কন্টেইনার তৈরি এবং শুরু করতে পারি।

ডকার এবং ডকার কম্পোজ ইনস্টল করা হচ্ছে

প্রথম ধাপ হল আপনি আপনার স্থানীয় মেশিনে ডকার ইনস্টল করেছেন তা নিশ্চিত করা। আরও জানতে আপনি নিম্নলিখিত সংস্থানগুলি পরীক্ষা করতে পারেন:



  • 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'
ভলিউম :
- 'চিড়িয়াখানার_ডাটা:/বিটনামি'
পরিবেশ :
- ALLOW_ANONYMOUS_LOGIN = হ্যাঁ
কাফকা :
ইমেজ : ডকার এই / বিটনামি / কাফকা : 3.3
বন্দর :
- '9092:9092'
ভলিউম :
- 'কাফকা_ডেটা:/বিটনামি'
পরিবেশ :
- KAFKA_CFG_ZOOKEEPER_CONNECT = চিড়িয়াখানা : 2181
- ALLOW_PLAINTEXT_LISTENER = হ্যাঁ
নির্ভর করে :
- চিড়িয়াখানা
ভলিউম :
চিড়িয়াখানার_ডাটা :
ড্রাইভার : স্থানীয়
kafka_data :
ড্রাইভার : স্থানীয়

উদাহরণ ডকার ফাইলটি একটি জুকিপার এবং একটি কাফকা ক্লাস্টার সেট আপ করে যেখানে কাফকা ক্লাস্টারটি সমন্বয়ের জন্য জুকিপার পরিষেবার সাথে সংযুক্ত থাকে। ফাইলটি প্রতিটি পরিষেবার জন্য পোর্ট এবং এনভায়রনমেন্ট ভেরিয়েবলগুলিও কনফিগার করে যাতে যোগাযোগ এবং পরিষেবাগুলিতে অ্যাক্সেসের অনুমতি দেওয়া যায়।

আমরা পরিষেবাগুলির ডেটা বজায় রাখার জন্য নামযুক্ত ভলিউমগুলিও সেট আপ করি এমনকি কন্টেনারগুলি পুনরায় চালু করা বা পুনরায় তৈরি করা হলেও৷

আসুন আগের ফাইলটিকে সহজ ভাগে ভাগ করি:

আমরা bitnami/zookeeper:3.8 ইমেজ ব্যবহার করে Zookeeper পরিষেবা দিয়ে শুরু করি। এই চিত্রটি হোস্ট মেশিনে পোর্ট 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_data এবং kafka_data ভলিউম সেট আপ করে। উভয় ভলিউম স্থানীয় ড্রাইভার ব্যবহার করে যার অর্থ হোস্ট মেশিনে ডেটা সংরক্ষণ করা হয়।

সেখানে আপনি এটা আছে! একটি সাধারণ কনফিগারেশন ফাইল যা আপনাকে সহজ ধাপে ডকার ব্যবহার করে একটি কাফকা কন্টেইনার স্পিন করতে দেয়।

কন্টেইনার চালানো

ডকারটি চলছে তা নিশ্চিত করতে, আমরা নিম্নলিখিত কমান্ডের সাহায্যে YAML ফাইল থেকে ধারকটি চালাতে পারি:

$ sudo ডকার রচনা আপ

কমান্ডটি YAML কনফিগারেশন ফাইলটি সনাক্ত করতে হবে এবং নির্দিষ্ট মান সহ ধারকটি চালাতে হবে:

উপসংহার

আপনি এখন শিখেছেন কিভাবে আপনি একটি ডকার কম্পোজ YAML কনফিগারেশন ফাইল থেকে Apache Kafka কনফিগার এবং চালাতে পারেন।