Hadoop এর আর্কিটেকচার: HDFS, YARN, MapReduce

Hadoop Framework এর বেসিক ধারণা - বিগ ডেটা এনালাইটিক্স (Big Data Analytics) - Big Data and Analytics

277

হ্যাডুপ (Hadoop) একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা বিশাল পরিমাণ ডেটা স্টোর, প্রসেস এবং বিশ্লেষণ করার জন্য ব্যবহৃত হয়। এটি মূলত একটি ডিস্ট্রিবিউটেড কম্পিউটিং ফ্রেমওয়ার্ক, যা ডেটাকে একাধিক নোডে বিভক্ত করে দ্রুততার সাথে প্রক্রিয়া করতে সক্ষম। Hadoop-এর আর্কিটেকচার তিনটি মূল উপাদান দ্বারা গঠিত: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator) এবং MapReduce

এগুলোই Hadoop-এর বেসিক কম্পোনেন্ট এবং প্রতিটি উপাদান বিভিন্ন কার্যাবলী সম্পাদন করে। চলুন, প্রতিটি উপাদান সম্পর্কে বিস্তারিত আলোচনা করা যাক।

1. HDFS (Hadoop Distributed File System)

HDFS হলো Hadoop এর ডিস্ট্রিবিউটেড ফাইল সিস্টেম, যা বিশাল পরিমাণ ডেটা স্টোর করতে এবং এটি পরিচালনা করতে ব্যবহৃত হয়। HDFS ডেটাকে ছোট ব্লকে ভাগ করে এবং একাধিক সার্ভারে সেগুলো সংরক্ষণ করে, যাতে দ্রুত প্রক্রিয়াকরণ এবং উচ্চতর স্কেলেবিলিটি নিশ্চিত করা যায়।

HDFS এর মূল বৈশিষ্ট্য:

  • ডিস্ট্রিবিউটেড স্টোরেজ: HDFS ডেটাকে একাধিক নোডে (কম্পিউটিং সার্ভারে) ভাগ করে সংরক্ষণ করে, যার ফলে উচ্চ স্কেলেবিলিটি এবং ফ্যলওভার সুবিধা পাওয়া যায়।
  • ডেটা ব্লক: HDFS-এ ডেটা সাধারণত 128MB বা 256MB আকারের ব্লকে ভাগ করা হয়। এটি ডেটাকে পারফেক্টলি ডিসট্রিবিউটেড করে, যাতে বড় আকারের ডেটা সহজে পরিচালনা করা যায়।
  • ডুপ্লিকেশন: ডেটার নিরাপত্তা নিশ্চিত করার জন্য HDFS স্বয়ংক্রিয়ভাবে ডেটার কপি তৈরি করে। ডেটার একটি ব্লক কমপক্ষে তিনটি কপি (যা কনফিগার করা যেতে পারে) বিভিন্ন নোডে সংরক্ষণ করা হয়।
  • উচ্চতর উপলভ্যতা (Availability): HDFS কনফিগারেশন অনুযায়ী, যদি কোনো ব্লক নোডে ডেটা না পাওয়া যায়, তাহলে অন্য নোড থেকে তা দ্রুত পাওয়া যেতে পারে।

HDFS-এর উপাদান:

  • NameNode: এটি প্রধান মেটাডেটা (ডিরেক্টরি ও ফাইলের অবস্থান ইত্যাদি) সংরক্ষণ করে। NameNode-ই নিয়ন্ত্রণ করে কোন ফাইল কোথায় সংরক্ষিত রয়েছে।
  • DataNode: DataNode হলো সেই সার্ভার যেখানে প্রকৃত ডেটা ব্লক সংরক্ষিত থাকে। এটি NameNode-এর নির্দেশ অনুযায়ী ডেটা সংরক্ষণ এবং পুনরুদ্ধার করে।

2. YARN (Yet Another Resource Negotiator)

YARN হলো Hadoop-এর রিসোর্স ম্যানেজার, যা ক্লাস্টার রিসোর্সের ব্যবস্থাপনা করে এবং বিভিন্ন অ্যাপ্লিকেশনকে (যেমন MapReduce, Spark ইত্যাদি) সেগুলি প্রাপ্ত রিসোর্স প্রদান করে। YARN মূলত MapReduce এবং অন্যান্য প্রসেসিং ফ্রেমওয়ার্কের কার্যকারিতা উন্নত করতে ব্যবহৃত হয়।

YARN-এর মূল বৈশিষ্ট্য:

  • রিসোর্স ম্যানেজমেন্ট: YARN ক্লাস্টারে চলমান সমস্ত টাস্কের জন্য রিসোর্স বরাদ্দ করে। এটি CPU, মেমরি, ডিস্ক স্পেস ইত্যাদি রিসোর্স ম্যানেজমেন্টের কাজ করে।
  • একাধিক অ্যাপ্লিকেশন সাপোর্ট: YARN একসাথে একাধিক অ্যাপ্লিকেশন চালাতে সক্ষম, যেমন MapReduce, Apache Spark, Apache Tez, এবং অন্যান্য ফ্রেমওয়ার্ক।
  • অ্যাপ্লিকেশন মনিটরিং: YARN ক্লাস্টারের কর্মক্ষমতা এবং অ্যাপ্লিকেশনের অবস্থা পর্যবেক্ষণ করে, যাতে ডেটা প্রক্রিয়াকরণের সময় কোনো সমস্যা হলে তা সনাক্ত করা যায়।

YARN এর উপাদান:

  • ResourceManager: এটি YARN-এর মূল কম্পোনেন্ট যা রিসোর্স বরাদ্দ এবং ব্যবস্থাপনা করে। এটি ক্লাস্টারের সমস্ত রিসোর্সকে মনিটর করে এবং কাজের জন্য রিসোর্স বরাদ্দ করে।
  • NodeManager: এটি প্রতিটি নোডে চলা এক্সিকিউটেবল টাস্কের জন্য রিসোর্স বরাদ্দ এবং পর্যবেক্ষণ করে। এটি ResourceManager-কে অবহিত করে যে কোনো সমস্যা হলে।
  • ApplicationMaster: এটি কোনো নির্দিষ্ট অ্যাপ্লিকেশনটির জন্য রিসোর্স বরাদ্দ এবং নিয়ন্ত্রণ করে। এটি রিসোর্স ম্যানেজমেন্টের সাথে অ্যাপ্লিকেশন টাস্কের ভারসাম্য স্থাপন করে।

3. MapReduce

MapReduce হলো Hadoop-এর একটি মূল প্রসেসিং মডেল যা বিশাল পরিমাণ ডেটা প্রক্রিয়া করতে ব্যবহৃত হয়। এটি ডেটা প্রক্রিয়াকরণের দুটি মূল ধাপ ব্যবহার করে: Map এবং Reduce

MapReduce এর প্রক্রিয়া:

  1. Map Phase:
    • এই ধাপে ইনপুট ডেটাকে ছোট ছোট অংশে ভাগ করা হয় এবং প্রতিটি অংশের উপর ম্যাপ ফাংশন প্রয়োগ করা হয়। উদাহরণস্বরূপ, কোনো ডেটাসেটের শব্দের সংখ্যা গননা করতে হলে, প্রতিটি শব্দকে আলাদা আলাদা করে টোকেনাইজ করা হয়।
    • ম্যাপ ফেজের কাজ হলো ডেটাকে একটি কী-ভ্যালু (Key-Value) পেয়ার আকারে সাজানো, যেমন: (“word1”, 1), (“word2”, 1) ইত্যাদি।
  2. Shuffle and Sort:
    • Map ফেজ শেষে, একই কিওয়ালা ডেটাগুলো একত্রিত করা হয়। এটি ডেটাকে সাজানোর এবং গ্রুপ করার প্রক্রিয়া।
  3. Reduce Phase:
    • এই ধাপে শাফেল্ড ডেটাকে কম্প্রেস বা প্রক্রিয়া করা হয়। উদাহরণস্বরূপ, যদি “word1” এর অনেক ইনস্ট্যান্স থাকে, তবে এগুলো যোগফল করা হয়। এভাবে, Reducer সব ডেটাকে রিডিউস করে এবং একটি ফলাফল প্রস্তুত করে।

MapReduce এর বৈশিষ্ট্য:

  • ডিস্ট্রিবিউটেড প্রসেসিং: MapReduce একাধিক নোডে একযোগে ডেটা প্রক্রিয়া করে, যার ফলে বিশাল ডেটাসেট দ্রুত এবং কার্যকরভাবে প্রসেস করা সম্ভব হয়।
  • Fault Tolerance: MapReduce ফ্রেমওয়ার্কে ফেইলিউর যখন ঘটে, তখন কাজ স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করা হয়। এটি ডেটার কপি সংগ্রহ করে রাখে এবং কাজ পুনরায় শুরু হয়।

সারাংশ

Hadoop এর আর্কিটেকচার তিনটি মূল উপাদান দ্বারা গঠিত: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), এবং MapReduce। HDFS একটি ডিস্ট্রিবিউটেড ফাইল সিস্টেম যা বিশাল পরিমাণ ডেটা স্টোর এবং পরিচালনা করতে সাহায্য করে, YARN রিসোর্স ম্যানেজমেন্ট এবং অ্যাপ্লিকেশন পরিচালনা করে, এবং MapReduce ডেটার বিশ্লেষণ ও প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এই তিনটি উপাদান একত্রে Hadoop ফ্রেমওয়ার্কের শক্তিশালী কার্যক্ষমতা এবং স্কেলেবিলিটি নিশ্চিত করে, যা বিগ ডেটা প্রক্রিয়াকরণ এবং বিশ্লেষণকে অনেক সহজ ও কার্যকর করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...