HDFS কী?
HDFS (Hadoop Distributed File System) হলো Hadoop এর ডিস্ট্রিবিউটেড ফাইল সিস্টেম, যা বিশেষভাবে বড় আকারের ডেটা সংরক্ষণ এবং পরিচালনা করার জন্য ডিজাইন করা হয়েছে। এটি Hadoop এর একটি গুরুত্বপূর্ণ উপাদান, যার মাধ্যমে ডেটাকে বিভিন্ন নোডে ভাগ করে সংরক্ষণ করা হয় এবং ডিস্ট্রিবিউটেড আর্কিটেকচারের মাধ্যমে ডেটার অ্যাক্সেস নিশ্চিত করা হয়।
HDFS একটি ক্লাস্টার-ভিত্তিক ফাইল সিস্টেম, যেখানে ডেটা বিভিন্ন মেশিনে বিভক্ত করে রাখা হয়, যা ডেটা প্রসেসিং এবং সংরক্ষণকে আরও দ্রুত এবং সাশ্রয়ী করে তোলে।
HDFS এর প্রধান বৈশিষ্ট্য
ডিস্ট্রিবিউটেড স্টোরেজ (Distributed Storage)
HDFS এর মাধ্যমে ডেটা ছোট ছোট ব্লকে বিভক্ত করে বিভিন্ন নোডে সংরক্ষণ করা হয়। এই পদ্ধতিতে, ডেটা একটি একক মেশিনে না থেকে পুরো ক্লাস্টারে ছড়িয়ে পড়ে, যা ডেটার স্থায়িত্ব এবং স্কেলেবিলিটি বৃদ্ধি করে।
ডেটা রিপ্লিকেশন (Data Replication)
HDFS ডেটাকে ডিফল্টভাবে তিনটি কপি বা রিপ্লিকা তৈরি করে, যাতে কোনো একটি নোড বা মেশিন ব্যর্থ হলে অন্য নোড থেকে ডেটা পুনরুদ্ধার করা যায়। এটি সিস্টেমকে ফল্ট টলারেন্স প্রদান করে এবং ডেটা হারানোর ঝুঁকি কমায়।
উচ্চ ক্ষমতাসম্পন্ন অ্যাক্সেস (High Throughput Access)
HDFS ডেটা দ্রুত অ্যাক্সেস এবং প্রসেস করার জন্য অপটিমাইজড। এটি বিশেষভাবে বড় আকারের ডেটা সেটের জন্য ডিজাইন করা হয়েছে, যেখানে ডেটা রিড এবং রাইট অপারেশন দ্রুত এবং কার্যকরীভাবে সম্পন্ন হয়।
ফাইল সিস্টেমের সিম্পল স্ট্রাকচার (Simple File System Structure)
HDFS এর ফাইল সিস্টেমের আর্কিটেকচার সিম্পল এবং পরিষ্কার। এতে ফাইল এবং ডিরেক্টরি কাঠামো সহজেই তৈরি এবং পরিচালনা করা যায়। এটি জটিল স্টোরেজ সিস্টেমের তুলনায় আরও কার্যকরী এবং ব্যবহারকারী-বান্ধব।
প্রোগ্রামেবল এপিআই (Programmable API)
HDFS Java ভিত্তিক API প্রদান করে, যার মাধ্যমে ব্যবহারকারীরা তাদের কাস্টম ডেটা প্রসেসিং অ্যাপ্লিকেশন তৈরি করতে পারেন।
HDFS এর উপাদান
HDFS মূলত দুইটি প্রধান উপাদান নিয়ে গঠিত:
১. NameNode
NameNode হলো HDFS এর কেন্দ্রীয় কম্পোনেন্ট, যা ফাইল সিস্টেমের মেটাডেটা পরিচালনা করে। এটি কোন ফাইল কোথায় সংরক্ষিত রয়েছে, সেই তথ্য সংরক্ষণ করে এবং ক্লাস্টারের অন্যান্য নোডের সাথে যোগাযোগ করে ডেটার অবস্থান জানায়।
২. DataNode
DataNode হলো HDFS এর ক্লাস্টারের নোড যেখানে প্রকৃত ডেটা সংরক্ষণ করা হয়। DataNode গুলি ডেটা ব্লককে সংরক্ষণ করে এবং NameNode থেকে নির্দেশ পেয়ে ডেটা রিড বা রাইট করার কাজ সম্পন্ন করে।
HDFS এর কাজ করার পদ্ধতি
- ফাইল আপলোড (File Uploading): যখন একটি ফাইল HDFS এ আপলোড করা হয়, তখন সেই ফাইলটি ছোট ছোট ব্লকে (প্রত্যেক ব্লকের আকার সাধারণত 128 MB বা 256 MB হয়) ভাগ করা হয়।
- ডেটা রিপ্লিকেশন (Data Replication): প্রতিটি ব্লকটি ডিফল্টভাবে তিনটি কপি তৈরি করে বিভিন্ন DataNode এ সংরক্ষণ করা হয়।
- ডেটা অ্যাক্সেস (Data Access): যখন ব্যবহারকারী কোনো ডেটা অ্যাক্সেস করতে চায়, NameNode সেই ফাইলের মেটাডেটা দেখিয়ে DataNode এর অবস্থান জানায় এবং তারপর DataNode থেকে ডেটা রিড করা হয়।
HDFS এর সুবিধা
- ফল্ট টলারেন্স (Fault Tolerance): ডেটার কপি বা রিপ্লিকা তৈরি করা হয়, যাতে কোনো DataNode ব্যর্থ হলে ডেটা পুনরুদ্ধার করা যায়।
- স্কেলেবিলিটি (Scalability): সহজেই নতুন নোড যুক্ত করা যায়, ফলে সিস্টেমের ক্ষমতা বৃদ্ধি করা সম্ভব।
- ডেটা প্রক্রিয়া এবং স্টোরেজের উচ্চ ক্ষমতা (High Throughput): বড় ডেটাসেটের দ্রুত প্রক্রিয়া এবং স্টোরেজ সম্ভব।
- স্বতন্ত্রভাবে কাজ করার ক্ষমতা (Independence): একাধিক DataNode একযোগে কাজ করতে পারে, যাতে ডেটার প্রসেসিং আরও দ্রুত হয়।
সারাংশ
HDFS হলো Hadoop এর গুরুত্বপূর্ণ উপাদান, যা Big Data এর স্টোরেজ এবং প্রসেসিংয়ের জন্য কার্যকরী। এটি ডিস্ট্রিবিউটেড স্টোরেজ, ডেটা রিপ্লিকেশন এবং ফল্ট টলারেন্স প্রদান করে, যা হাদুপ সিস্টেমকে আরো স্থিতিশীল এবং কার্যকরী করে তোলে। HDFS এর মাধ্যমে বড় ডেটাসেট সহজে সংরক্ষণ এবং প্রসেস করা যায়, যা Big Data বিশ্লেষণ এবং অ্যাপ্লিকেশনে গুরুত্বপূর্ণ ভূমিকা পালন করে।
Hadoop Distributed File System (HDFS) হলো Hadoop ফ্রেমওয়ার্কের একটি মূল উপাদান, যা ডিস্ট্রিবিউটেড স্টোরেজ এবং ফাইল সিস্টেমের কাজ করে। এটি বড় আকারের ডেটা স্টোরেজের জন্য ব্যবহৃত হয় এবং ডেটাকে সঞ্চয় করতে একটি বিশেষ পদ্ধতি অনুসরণ করে। HDFS এ ডেটা স্টোরেজের জন্য দুটি প্রধান কম্পোনেন্ট ব্যবহার করা হয়: ফাইল ব্লক (File Block) এবং ডেটা রিপ্লিকেশন (Data Replication)।
ফাইল ব্লক (File Block)
HDFS এ, ডেটা বড় আকারের ফাইল হিসেবে সংরক্ষিত হয়। কিন্তু সেগুলো সরাসরি একক ফাইলের আকারে সংরক্ষণ না করে, ডেটাকে ছোট ছোট ব্লকে ভাগ করা হয়। এই ব্লকগুলো বিভিন্ন মেশিনে (নোডে) ভাগ করা হয়, যাতে ডেটার প্রসেসিং এবং স্টোরেজ কার্যক্রম দ্রুত এবং কার্যকর হয়।
ব্লকের আকার
- ডিফল্ট ব্লক সাইজ: HDFS এর ডিফল্ট ব্লক সাইজ 128MB, তবে এটি কাস্টমাইজ করা যায় (যেমন 64MB বা 256MB)।
- ব্লক সাইজের গুরুত্ব: বড় ব্লক সাইজ বেশি ডেটা একত্রে স্টোর করতে সাহায্য করে এবং এতে I/O অপারেশন কম হয়, ফলে সিস্টেমের কর্মক্ষমতা বৃদ্ধি পায়।
ব্লক স্টোরেজের সুবিধা
- ডেটা পার্টিশনিং: বড় ফাইলগুলো ছোট ছোট ব্লকে বিভক্ত করে দ্রুত ডেটা স্টোর এবং প্রসেসিং করা যায়।
- ডিস্ট্রিবিউটেড স্টোরেজ: ব্লকগুলো আলাদা আলাদা মেশিনে (নোডে) সংরক্ষিত হওয়ায়, ডেটা একাধিক স্থানে উপস্থিত থাকে এবং স্টোরেজ ক্ষমতা স্কেল করা সহজ হয়।
ডেটা রিপ্লিকেশন (Data Replication)
HDFS এর আরেকটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো ডেটা রিপ্লিকেশন, যা ডেটার সুরক্ষা এবং উচ্চ উপলব্ধতা নিশ্চিত করতে সহায়ক। রিপ্লিকেশন দ্বারা ডেটার একাধিক কপি তৈরি করা হয় এবং সেগুলো সিস্টেমের বিভিন্ন নোডে সংরক্ষিত থাকে।
রিপ্লিকেশন ফ্যাক্টর
- ডিফল্ট রিপ্লিকেশন ফ্যাক্টর: HDFS এ ডিফল্ট রিপ্লিকেশন ফ্যাক্টর ৩, যার মানে হলো, একটি ফাইলের তিনটি কপি তৈরি করা হয় এবং সেগুলো বিভিন্ন নোডে সংরক্ষিত হয়।
- রিপ্লিকেশন ফ্যাক্টরের কাস্টমাইজেশন: ব্যবহারকারীরা রিপ্লিকেশন ফ্যাক্টর কাস্টমাইজ করে নির্ধারণ করতে পারেন, যাতে ডেটার সুরক্ষা প্রয়োজন অনুযায়ী একাধিক কপি তৈরি করা যায়।
রিপ্লিকেশন এর সুবিধা
- ফল্ট টলারেন্স (Fault Tolerance): যদি কোনো নোড বা মেশিন ব্যর্থ হয়, তাহলে ডেটার একাধিক কপি থাকা সত্ত্বেও ডেটা হারানোর ঝুঁকি থাকে না। ডেটার অন্য কপি থেকে পুনরুদ্ধার করা সম্ভব।
- উচ্চ উপলব্ধতা (High Availability): ডেটার একাধিক কপি থাকার কারণে, একটি নোড বা সার্ভারের সমস্যা হলে অন্য কপিগুলো ব্যবহার করা যায়, ফলে সিস্টেমের কর্মক্ষমতা ক্ষতিগ্রস্ত হয় না।
HDFS এর ফাইল স্টোরেজ মেকানিজম: কিভাবে কাজ করে?
- ফাইল আপলোড: যখন একটি ফাইল HDFS এ আপলোড করা হয়, তখন তা প্রথমে ব্লকে বিভক্ত হয়। তারপর, প্রতিটি ব্লক সিস্টেমের নোডে একাধিক কপিতে (যতটা রিপ্লিকেশন ফ্যাক্টর নির্ধারণ করা হয়েছে) সংরক্ষিত হয়।
- ডেটা ডিসট্রিবিউশন: ব্লকগুলো সিস্টেমের বিভিন্ন নোডে বিতরণ করা হয়, যেখানে প্রতিটি ব্লক এক বা একাধিক নোডে সংরক্ষিত হয়।
- রিপ্লিকেশন ম্যানেজমেন্ট: হাডুপের নেমডে (NameNode) একটি মেটাডেটা ডাটাবেস থাকে, যেখানে প্রতিটি ব্লক এবং তার রিপ্লিকেশনের অবস্থান ট্র্যাক করা হয়।
- ফল্ট ডিটেকশন এবং রিপ্লিকেশন: যদি কোনো ব্লকের কপি নোডে কোনো সমস্যা হয় (যেমন নোড ডাউন হয়ে যায়), তাহলে HDFS নিজে থেকেই নতুন কপি তৈরি করে এবং সিস্টেমের অন্যান্য অংশে সংরক্ষণ করে, যাতে ডেটা নিরাপদ থাকে।
সারাংশ
HDFS এর ফাইল স্টোরেজ মেকানিজম ব্লক এবং রিপ্লিকেশন ব্যবস্থার মাধ্যমে কাজ করে। ডেটাকে ব্লকে বিভক্ত করে বিভিন্ন নোডে সংরক্ষণ করা হয় এবং প্রতিটি ব্লকের একাধিক কপি তৈরি করা হয়। এটি ডেটার সুরক্ষা, স্কেলেবিলিটি এবং উচ্চ কর্মক্ষমতা নিশ্চিত করে। HDFS এর এই বৈশিষ্ট্যগুলোর ফলে, বড় আকারের ডেটা সহজে এবং কার্যকরভাবে স্টোর এবং প্রসেস করা সম্ভব হয়।
Hadoop Distributed File System (HDFS) হলো Hadoop ফ্রেমওয়ার্কের একটি মূল উপাদান, যা ডিস্ট্রিবিউটেড স্টোরেজ এবং ফাইল সিস্টেমের কাজ করে। এটি বড় আকারের ডেটা স্টোরেজের জন্য ব্যবহৃত হয় এবং ডেটাকে সঞ্চয় করতে একটি বিশেষ পদ্ধতি অনুসরণ করে। HDFS এ ডেটা স্টোরেজের জন্য দুটি প্রধান কম্পোনেন্ট ব্যবহার করা হয়: ফাইল ব্লক (File Block) এবং ডেটা রিপ্লিকেশন (Data Replication)।
ফাইল ব্লক (File Block)
HDFS এ, ডেটা বড় আকারের ফাইল হিসেবে সংরক্ষিত হয়। কিন্তু সেগুলো সরাসরি একক ফাইলের আকারে সংরক্ষণ না করে, ডেটাকে ছোট ছোট ব্লকে ভাগ করা হয়। এই ব্লকগুলো বিভিন্ন মেশিনে (নোডে) ভাগ করা হয়, যাতে ডেটার প্রসেসিং এবং স্টোরেজ কার্যক্রম দ্রুত এবং কার্যকর হয়।
ব্লকের আকার
- ডিফল্ট ব্লক সাইজ: HDFS এর ডিফল্ট ব্লক সাইজ 128MB, তবে এটি কাস্টমাইজ করা যায় (যেমন 64MB বা 256MB)।
- ব্লক সাইজের গুরুত্ব: বড় ব্লক সাইজ বেশি ডেটা একত্রে স্টোর করতে সাহায্য করে এবং এতে I/O অপারেশন কম হয়, ফলে সিস্টেমের কর্মক্ষমতা বৃদ্ধি পায়।
ব্লক স্টোরেজের সুবিধা
- ডেটা পার্টিশনিং: বড় ফাইলগুলো ছোট ছোট ব্লকে বিভক্ত করে দ্রুত ডেটা স্টোর এবং প্রসেসিং করা যায়।
- ডিস্ট্রিবিউটেড স্টোরেজ: ব্লকগুলো আলাদা আলাদা মেশিনে (নোডে) সংরক্ষিত হওয়ায়, ডেটা একাধিক স্থানে উপস্থিত থাকে এবং স্টোরেজ ক্ষমতা স্কেল করা সহজ হয়।
ডেটা রিপ্লিকেশন (Data Replication)
HDFS এর আরেকটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো ডেটা রিপ্লিকেশন, যা ডেটার সুরক্ষা এবং উচ্চ উপলব্ধতা নিশ্চিত করতে সহায়ক। রিপ্লিকেশন দ্বারা ডেটার একাধিক কপি তৈরি করা হয় এবং সেগুলো সিস্টেমের বিভিন্ন নোডে সংরক্ষিত থাকে।
রিপ্লিকেশন ফ্যাক্টর
- ডিফল্ট রিপ্লিকেশন ফ্যাক্টর: HDFS এ ডিফল্ট রিপ্লিকেশন ফ্যাক্টর ৩, যার মানে হলো, একটি ফাইলের তিনটি কপি তৈরি করা হয় এবং সেগুলো বিভিন্ন নোডে সংরক্ষিত হয়।
- রিপ্লিকেশন ফ্যাক্টরের কাস্টমাইজেশন: ব্যবহারকারীরা রিপ্লিকেশন ফ্যাক্টর কাস্টমাইজ করে নির্ধারণ করতে পারেন, যাতে ডেটার সুরক্ষা প্রয়োজন অনুযায়ী একাধিক কপি তৈরি করা যায়।
রিপ্লিকেশন এর সুবিধা
- ফল্ট টলারেন্স (Fault Tolerance): যদি কোনো নোড বা মেশিন ব্যর্থ হয়, তাহলে ডেটার একাধিক কপি থাকা সত্ত্বেও ডেটা হারানোর ঝুঁকি থাকে না। ডেটার অন্য কপি থেকে পুনরুদ্ধার করা সম্ভব।
- উচ্চ উপলব্ধতা (High Availability): ডেটার একাধিক কপি থাকার কারণে, একটি নোড বা সার্ভারের সমস্যা হলে অন্য কপিগুলো ব্যবহার করা যায়, ফলে সিস্টেমের কর্মক্ষমতা ক্ষতিগ্রস্ত হয় না।
HDFS এর ফাইল স্টোরেজ মেকানিজম: কিভাবে কাজ করে?
- ফাইল আপলোড: যখন একটি ফাইল HDFS এ আপলোড করা হয়, তখন তা প্রথমে ব্লকে বিভক্ত হয়। তারপর, প্রতিটি ব্লক সিস্টেমের নোডে একাধিক কপিতে (যতটা রিপ্লিকেশন ফ্যাক্টর নির্ধারণ করা হয়েছে) সংরক্ষিত হয়।
- ডেটা ডিসট্রিবিউশন: ব্লকগুলো সিস্টেমের বিভিন্ন নোডে বিতরণ করা হয়, যেখানে প্রতিটি ব্লক এক বা একাধিক নোডে সংরক্ষিত হয়।
- রিপ্লিকেশন ম্যানেজমেন্ট: হাডুপের নেমডে (NameNode) একটি মেটাডেটা ডাটাবেস থাকে, যেখানে প্রতিটি ব্লক এবং তার রিপ্লিকেশনের অবস্থান ট্র্যাক করা হয়।
- ফল্ট ডিটেকশন এবং রিপ্লিকেশন: যদি কোনো ব্লকের কপি নোডে কোনো সমস্যা হয় (যেমন নোড ডাউন হয়ে যায়), তাহলে HDFS নিজে থেকেই নতুন কপি তৈরি করে এবং সিস্টেমের অন্যান্য অংশে সংরক্ষণ করে, যাতে ডেটা নিরাপদ থাকে।
সারাংশ
HDFS এর ফাইল স্টোরেজ মেকানিজম ব্লক এবং রিপ্লিকেশন ব্যবস্থার মাধ্যমে কাজ করে। ডেটাকে ব্লকে বিভক্ত করে বিভিন্ন নোডে সংরক্ষণ করা হয় এবং প্রতিটি ব্লকের একাধিক কপি তৈরি করা হয়। এটি ডেটার সুরক্ষা, স্কেলেবিলিটি এবং উচ্চ কর্মক্ষমতা নিশ্চিত করে। HDFS এর এই বৈশিষ্ট্যগুলোর ফলে, বড় আকারের ডেটা সহজে এবং কার্যকরভাবে স্টোর এবং প্রসেস করা সম্ভব হয়।
HDFS (Hadoop Distributed File System) এর পরিচিতি
HDFS হলো Hadoop এর ডিস্ট্রিবিউটেড ফাইল সিস্টেম, যা বড় আকারের ডেটা সংরক্ষণ এবং প্রসেসিংয়ের জন্য ব্যবহৃত হয়। HDFS ডেটাকে ব্লকে ভাগ করে বিভিন্ন নোডে স্টোর করে, এবং ডেটা প্রসেসিংয়ের জন্য একাধিক মেশিন ব্যবহার করা হয়। HDFS এর মাধ্যমে ডেটার উচ্চ-ক্ষমতা, স্কেলেবিলিটি এবং ফল্ট টলারেন্স নিশ্চিত করা হয়। HDFS-এর মধ্যে দুটি প্রধান উপাদান থাকে, যা ডেটার স্টোরেজ এবং পরিচালনার জন্য অত্যন্ত গুরুত্বপূর্ণ: Namenode এবং Datanode।
Namenode এর ভূমিকা
Namenode হলো HDFS এর কেন্দ্রীয় অংশ, যা পুরো ফাইল সিস্টেমের মেটাডেটা এবং কাঠামো পরিচালনা করে। এটি ফাইলের অবস্থান, নাম, ব্লক তথ্য এবং স্টোরেজের কাঠামো সংরক্ষণ করে। Namenode কোনো ডেটা নিজে সংরক্ষণ করে না, বরং এটি জানে কিভাবে এবং কোথায় ডেটা ব্লকগুলি Datanode-এ সংরক্ষিত থাকে। এটি HDFS এর "মাস্টার" নোড হিসেবে কাজ করে এবং ডেটার সঠিকতা এবং অবস্থান সঠিকভাবে ট্র্যাক করে।
Namenode এর প্রধান দায়িত্ব:
- ফাইল সিস্টেমের মেটাডেটা সংরক্ষণ: ফাইলের নাম, সাইজ, এবং ব্লকগুলোর অবস্থান সংরক্ষণ করে।
- ব্লক ম্যানেজমেন্ট: HDFS-এ ডেটা ব্লকগুলির অবস্থান এবং রিপ্লিকেশন ফ্যাক্টর ট্র্যাক করে।
- ডেটা ব্লকের রিপ্লিকেশন নিশ্চিত করা: কোনো ব্লক যদি কোনো কারণে হারিয়ে যায়, তবে Namenode তা পুনরুদ্ধার করে এবং ডেটা নিরাপত্তা নিশ্চিত করে।
- ক্লাস্টারের সাধারণ পরিচালনা: Namenode ক্লাস্টারের অন্যান্য নোডের কার্যকারিতা এবং স্টেটাস পর্যবেক্ষণ করে।
Datanode এর ভূমিকা
Datanode হলো HDFS-এর "ক্লায়েন্ট" নোড, যা ডেটা ব্লকগুলি বাস্তবে সংরক্ষণ এবং রিড / রাইট অপারেশন করে। Datanode প্রতিটি ব্লকের কপি তৈরি করে এবং তার অবস্থানের তথ্য Namenode কে পাঠায়। Datanode-এ ডেটা সংরক্ষিত থাকে, এবং যখন ক্লায়েন্ট কোনো ডেটা রিকোয়েস্ট করে, Datanode তা পাঠানোর দায়িত্ব পালন করে।
Datanode এর প্রধান দায়িত্ব:
- ডেটা স্টোরেজ: Datanode হাডুপ ক্লাস্টারে ডেটা ব্লকগুলিকে সংরক্ষণ করে।
- ডেটা রিড / রাইট: ক্লায়েন্টের অনুরোধে ডেটা ব্লক রিড এবং রাইট করে।
- নিরাপত্তা এবং ব্লক রিপ্লিকেশন: Datanode ডেটার সঠিক কপি রাখে এবং নিয়মিতভাবে রিপ্লিকেশন নিশ্চিত করে।
- ব্লক স্ট্যাটাস রিপোর্ট করা: Datanode প্রতিটি ব্লকের অবস্থা এবং সঠিকতা সম্পর্কে Namenode কে জানায়।
Namenode এবং Datanode এর মধ্যে পার্থক্য
| বিষয় | Namenode | Datanode |
|---|---|---|
| ভূমিকা | ফাইল সিস্টেমের মেটাডেটা এবং কাঠামো পরিচালনা করে। | ডেটা ব্লক সংরক্ষণ এবং রিড/রাইট অপারেশন করে। |
| ডেটা সংরক্ষণ | ডেটা ব্লক সংরক্ষণ করে না, শুধু তাদের অবস্থান ট্র্যাক করে। | ডেটা ব্লক সংরক্ষণ করে। |
| পারফর্মেন্স | সিস্টেমের সব মেটাডেটা এক জায়গায় থাকে, তাই একক পয়েন্ট অফ ফেইল। | ডেটা ব্লককে বিভিন্ন নোডে ভাগ করে ডিস্ট্রিবিউটেডভাবে সংরক্ষণ করা হয়। |
| ব্যবহারকারীর ইন্টারফেস | ক্লায়েন্টের মাধ্যমে মেটাডেটা পরিচালনা করে। | ক্লায়েন্টের অনুরোধে ডেটা ব্লক প্রসেস করে। |
| ফল্ট টলারেন্স | ডেটা ব্লকের একাধিক কপি থাকে Datanode-এ, যা রিপ্লিকেশনের মাধ্যমে নিশ্চিত করা হয়। | রিপ্লিকেশন কার্যকরী রাখার জন্য হোস্ট ডেটা ব্লক। |
সারাংশ
Namenode এবং Datanode HDFS এর দুটি অত্যন্ত গুরুত্বপূর্ণ উপাদান। Namenode ফাইল সিস্টেমের মেটাডেটা এবং কাঠামো পরিচালনা করে, এবং Datanode ডেটার বাস্তব সংরক্ষণ ও রিড/রাইট অপারেশন সম্পাদন করে। HDFS-এর কার্যকরী এবং স্কেলেবেল ফাইল সিস্টেম নিশ্চিত করতে এই দুটি উপাদানের সঠিক সমন্বয় অত্যন্ত গুরুত্বপূর্ণ।
HDFS (Hadoop Distributed File System) হাদুপের ফাইল সিস্টেম, যা বড় আকারের ডেটা স্টোর করতে এবং পরিচালনা করতে ব্যবহৃত হয়। HDFS এ ডেটা সংরক্ষণ এবং পরিচালনার জন্য কিছু নির্দিষ্ট কমান্ড এবং ফাইল অপারেশন রয়েছে। নিচে HDFS কমান্ড এবং ফাইল অপারেশনের কিছু মৌলিক ধারণা এবং কমান্ড দেয়া হলো।
HDFS এর মৌলিক কমান্ড
HDFS এর সাথে কাজ করার জন্য hadoop fs কমান্ড ব্যবহার করা হয়। এই কমান্ডের মাধ্যমে আপনি HDFS এ ফাইল অপারেশন পরিচালনা করতে পারেন, যেমন ফাইল কপি করা, ডিলিট করা, ফাইল তালিকা দেখানো, এবং অন্যান্য কাজ।
ফাইলের তালিকা দেখানো
HDFS এর মধ্যে কোনো ডিরেক্টরি বা ফাইলের তালিকা দেখতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
hadoop fs -ls /path/to/directory
এই কমান্ডটি path/to/directory এর মধ্যে থাকা ফাইল এবং ডিরেক্টরি তালিকা দেখাবে।
ফাইল কপি করা
লোকাল সিস্টেম থেকে HDFS এ ফাইল কপি করতে:
hadoop fs -copyFromLocal /local/path/to/file /hdfs/path/to/destination
এবং HDFS থেকে লোকাল সিস্টেমে ফাইল কপি করতে:
hadoop fs -copyToLocal /hdfs/path/to/file /local/path/to/destination
ফাইল মুভ করা
HDFS এর মধ্যে ফাইল স্থানান্তর করতে:
hadoop fs -mv /hdfs/path/to/source /hdfs/path/to/destination
ফাইল ডিলিট করা
HDFS থেকে ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য:
hadoop fs -rm /hdfs/path/to/file
এবং সম্পূর্ণ ডিরেক্টরি মুছে ফেলার জন্য:
hadoop fs -rm -r /hdfs/path/to/directory
ডিরেক্টরি তৈরি করা
HDFS এর মধ্যে নতুন ডিরেক্টরি তৈরি করতে:
hadoop fs -mkdir /hdfs/path/to/directory
ফাইল কনটেন্ট দেখা
HDFS এ থাকা ফাইলের কনটেন্ট দেখতে:
hadoop fs -cat /hdfs/path/to/file
ফাইলের আকার দেখতে
HDFS এ থাকা একটি ফাইলের আকার দেখতে:
hadoop fs -du /hdfs/path/to/file
HDFS File Operations
HDFS এ ফাইল অপারেশনগুলি সাধারণত স্থানীয় ফাইল সিস্টেমের মতোই কাজ করে, তবে কিছু বিশেষ বিষয় মনে রাখতে হয়, যেমন ডিস্ট্রিবিউটেড ফাইল স্টোরেজ এবং ডেটা রিপ্লিকেশন।
ফাইলের ডেটা রিপ্লিকেশন
HDFS ডেটাকে বিভিন্ন ব্লকে ভাগ করে এবং ব্লকের একাধিক কপি (রিপ্লিকেশন) তৈরি করে। ডিফল্টভাবে, HDFS একটি ব্লকের ৩টি কপি তৈরি করে। তবে, hadoop fs -setrep কমান্ড ব্যবহার করে আপনি ফাইলের রিপ্লিকেশন সংখ্যা পরিবর্তন করতে পারেন:
hadoop fs -setrep -w 2 /hdfs/path/to/file
এই কমান্ডটি ফাইলটির রিপ্লিকেশন সংখ্যা ২ করে দেবে।
ফাইল পাথ চেক করা
HDFS এ কোন ফাইল বা ডিরেক্টরি রয়েছে কিনা তা চেক করতে:
hadoop fs -test -e /hdfs/path/to/file
এটি ফাইল বা ডিরেক্টরি উপস্থিতি পরীক্ষা করবে এবং ফলাফল হিসেবে কিছু জানাবে।
ফাইলের পারমিশন পরিবর্তন করা
HDFS এ ফাইলের পারমিশন (read, write, execute) পরিবর্তন করার জন্য:
hadoop fs -chmod 755 /hdfs/path/to/file
এটি ফাইলের পারমিশন 755 এ সেট করবে।
সারাংশ
HDFS এ ফাইল অপারেশন এবং কমান্ডগুলি বড় ডেটা সেট পরিচালনা করতে অত্যন্ত গুরুত্বপূর্ণ। hadoop fs কমান্ড ব্যবহার করে আপনি ফাইল তালিকা দেখানো, কপি করা, মুভ করা, ডিলিট করা, এবং অন্যান্য অপারেশন করতে পারেন। HDFS এর মাধ্যমে ডিস্ট্রিবিউটেড ডেটা সিস্টেমে ফাইল পরিচালনা করা সহজ ও কার্যকরী হয়, যা Hadoop এর মূল বৈশিষ্ট্যগুলোর একটি।
Read more