Hadoop Distributed File System (HDFS) একটি ডিস্ট্রিবিউটেড ফাইল সিস্টেম, যা Hadoop এর মধ্যে ডেটা সংরক্ষণ এবং প্রসেস করার জন্য ব্যবহৃত হয়। HDFS এর মধ্যে ডেটা স্টোর করার সময়, ফাইল এবং ডিরেক্টরির পермিশনস (Permissions) এবং অ্যাক্সেস কন্ট্রোল (Access Control) অত্যন্ত গুরুত্বপূর্ণ বিষয়, যাতে সঠিক ব্যবহারকারী এবং প্রোগ্রাম ডেটা অ্যাক্সেস করতে পারে।
HDFS তে ফাইল এবং ডিরেক্টরি ব্যবস্থাপনা সিস্টেমের মধ্যে তিনটি মূল কনসেপ্ট থাকে: Owner (মালিক), Group (গ্রুপ), এবং Other (অন্যান্য) ব্যবহারকারীরা। প্রতিটি ফাইল এবং ডিরেক্টরির জন্য তিনটি ধরনের পারমিশন থাকতে পারে: Read (r), Write (w), এবং Execute (x)।
HDFS File Permissions
HDFS এ ফাইল পারমিশন কাজ করে লোকাল ফাইল সিস্টেমের মতোই, তবে এখানে অতিরিক্তভাবে Owner এবং Group এর ভূমিকা থাকে। HDFS এ তিনটি প্রধান পারমিশন নির্ধারণ করা হয়:
- Read (r): ফাইল বা ডিরেক্টরির কনটেন্ট পড়ার অনুমতি।
- Write (w): ফাইল বা ডিরেক্টরির কনটেন্ট পরিবর্তন বা আপডেট করার অনুমতি।
- Execute (x): ফাইলকে রান করার অনুমতি, অথবা ডিরেক্টরি থেকে ফাইল অ্যাক্সেস করার জন্য অনুমতি।
HDFS ফাইল পারমিশন স্ট্রাকচার
HDFS এ একটি ফাইল বা ডিরেক্টরি পারমিশন স্ট্রাকচার সাধারণত এই রকম দেখায়:
-rwxr-xr-x 3 user group 4096 2024-12-16 12:00 myfile.txt
এখানে:
- প্রথম অংশ (
rwxr-xr-x) হলো ফাইলের পারমিশন, যা Owner, Group, এবং Others এর জন্য পৃথকভাবে নির্ধারিত।- প্রথম তিনটি অক্ষর (
rwx) হলো Owner এর জন্য। - পরবর্তী তিনটি অক্ষর (
r-x) হলো Group এর জন্য। - শেষ তিনটি অক্ষর (
r-x) হলো Other ব্যবহারকারীদের জন্য।
- প্রথম তিনটি অক্ষর (
- পরবর্তী তথ্য হল ফাইলের মালিক (
user), গ্রুপ (group), ফাইলের আকার, এবং মডিফাই ডেট (2024-12-16 12:00)।
HDFS File Permissions পরিবর্তন করা
HDFS এর ফাইল বা ডিরেক্টরির পারমিশন পরিবর্তন করার জন্য hadoop fs -chmod কমান্ড ব্যবহার করা হয়। এর মাধ্যমে ফাইলের অনুমতি পরিবর্তন করা যায়। এর সিনট্যাক্স:
hadoop fs -chmod <permissions> <path>
উদাহরণ
১. ফাইলের জন্য পারমিশন পরিবর্তন করা
যদি আপনি একটি ফাইলের পারমিশন পরিবর্তন করতে চান যাতে Owner এর জন্য সম্পূর্ণ পারমিশন এবং Group এবং Others এর জন্য শুধু রিড পারমিশন থাকে, তাহলে:
hadoop fs -chmod 744 /user/hadoop/myfile.txt
- এখানে
744এর মানে:- Owner:
rwx(read, write, execute) - Group:
r--(read only) - Others:
r--(read only)
- Owner:
২. ডিরেক্টরির জন্য পারমিশন পরিবর্তন করা
একটি ডিরেক্টরির পারমিশন পরিবর্তন করতে, আপনি chmod এর সাথে -R ফ্ল্যাগ ব্যবহার করে রিকর্সিভলি সব ফাইল এবং সাব-ডিরেক্টরির পারমিশন পরিবর্তন করতে পারেন:
hadoop fs -chmod -R 755 /user/hadoop/mydir
755এর মানে:- Owner:
rwx(read, write, execute) - Group:
r-x(read, execute) - Others:
r-x(read, execute)
- Owner:
HDFS এ Access Control
HDFS এ Access Control এর মাধ্যমে এটি নিশ্চিত করা হয় যে, ফাইল এবং ডিরেক্টরি শুধুমাত্র নির্দিষ্ট ব্যবহারকারী বা গ্রুপের জন্য অ্যাক্সেসযোগ্য। এটি মূলত Hadoop ACL (Access Control List) এবং Kerberos Authentication এর মাধ্যমে নিশ্চিত করা হয়।
1. Hadoop ACL (Access Control List)
HDFS তে ACL ব্যবহার করে ফাইল এবং ডিরেক্টরির বিস্তারিত পারমিশন নির্ধারণ করা যায়। ACL এ প্রতি ব্যবহারকারী বা গ্রুপের জন্য আলাদাভাবে পারমিশন সেট করা হয়।
ACL কনফিগারেশন:
hadoop fs -setfacl -m user:<username>:<permissions> <path>
উদাহরণ
আপনি যদি ফাইল myfile.txt এর জন্য একটি ব্যবহারকারীকে রিড এবং রাইট পারমিশন দিতে চান:
hadoop fs -setfacl -m user:john:rwx /user/hadoop/myfile.txt
এটি john নামক ব্যবহারকারীকে myfile.txt ফাইলে rwx (read, write, execute) পারমিশন দেবে।
2. Kerberos Authentication
HDFS এর মধ্যে উচ্চতর নিরাপত্তা নিশ্চিত করতে Kerberos Authentication ব্যবহৃত হয়। এটি একটি নেটওয়ার্ক সিকিউরিটি প্রোটোকল, যা ব্যবহারকারীদের এবং সিস্টেমের মধ্যে পরিচয় নিশ্চিত করে। Kerberos ব্যবহারকারীকে ticket-based authentication এর মাধ্যমে সিস্টেমে প্রবেশাধিকার দেয়।
- Kerberos এর মাধ্যমে Authentication:
- Kerberos ব্যবহারকারী এবং সার্ভিসের মধ্যে একটি নির্দিষ্ট এবং নিরাপদ সংযোগ তৈরি করে, যা Hadoop ক্লাস্টারে সঠিক অ্যাক্সেস কন্ট্রোল নিশ্চিত করে।
সারাংশ
HDFS তে ফাইল পারমিশন এবং অ্যাক্সেস কন্ট্রোল একটি অত্যন্ত গুরুত্বপূর্ণ বিষয়, যা ফাইল এবং ডিরেক্টরির সুরক্ষা এবং গোপনীয়তা নিশ্চিত করতে সাহায্য করে। Owner, Group, এবং Other ব্যবহারকারীদের জন্য পারমিশন নির্ধারণ করা হয়, যাতে নির্দিষ্ট ব্যবহারকারী বা গ্রুপ শুধুমাত্র অনুমোদিত ডেটা অ্যাক্সেস করতে পারে। HDFS তে chmod কমান্ড ব্যবহার করে পারমিশন পরিবর্তন করা হয় এবং ACL বা Kerberos Authentication এর মাধ্যমে অ্যাক্সেস কন্ট্রোল ব্যবস্থা আরও শক্তিশালী করা যায়।
Read more