Hadoop Tutorial, . के इस ब्लॉग में हम HDFS . को कवर करने जा रहे हैं विस्तार से डिस्क बैलेंसर। सबसे पहले हम चर्चा करेंगे कि Hadoop में डिस्क बैलेंसर क्या है, फिर हम Hadoop डिस्क बैलेंसर के विभिन्न कार्यों पर चर्चा करेंगे।
हम हडूप और इसके एल्गोरिदम में इंट्रा डेटानोड डिस्क बैलेंसर पर भी चर्चा करेंगे। अंत में इस ट्यूटोरियल में, हम Hadoop की विशेषताओं को कवर करेंगे एचडीएफएस डिस्क बैलेंसर विस्तार से।
HDFS डिस्क बैलेंसर का परिचय
HDFS डिस्क बैलेंसर एक कमांड लाइन उपकरण है। यह डेटानोड के सभी डिस्क पर समान रूप से डेटा वितरित करता है। एचडीएफएस डिस्क बैलेंसर बैलेंसर से पूरी तरह अलग है, जो क्लस्टर-वाइड डेटाबैलेंसिंग का ख्याल रखता है।
नीचे दिए गए कारणों से, एचडीएफएस हमेशा डिस्क पर एक समान तरीके से डेटा वितरित नहीं कर सकता है:
- बहुत कुछ लिखना और मिटाना
- डिस्क प्रतिस्थापन
यह डेटानोड के भीतर महत्वपूर्ण तिरछापन की ओर जाता है। इस प्रकार एचडीएफएस बैलेंसर इसे संभाल नहीं सकता है, जो इंटर, नॉन-इंट्रा, डीएन स्क्यू से संबंधित है।
इसलिए, इस स्थिति से निपटने के लिए नई इंट्रा-डेटानोड बैलेंसिंग कार्यक्षमता अस्तित्व में आई। इसे एचडीएफएस डिस्क बैलेंसर सीएलआई के माध्यम से लागू किया जाता है।
डिस्क बैलेंसर किसी दिए गए डेटानोड के खिलाफ काम करता है और ब्लॉक को एक डिस्क से दूसरी डिस्क में ले जाता है।
डिस्क बैलेंसर का संचालन
एक योजना (बयानों का एक सेट) बनाकर और उस योजना को डेटानोड पर क्रियान्वित करके, एचडीएफएस डिस्क बैलेंसर काम करता है। बयानों के ये सेट बताते हैं कि दो डिस्क के बीच कितना डेटा स्थानांतरित होना चाहिए।
एक योजना में कई कदम कदम होते हैं। इन मूव स्टेप्स में मूव करने के लिए कई बाइट्स, सोर्स डिस्क और डेस्टिनेशन डिस्क होती है। एक योजना एक परिचालन डेटानोड के खिलाफ निष्पादित हो सकती है।
एचडीएफएस डिस्क बैलेंसर डिफ़ॉल्ट रूप से सक्षम नहीं है;
इसलिए, HDFS डिस्क बैलेंसर को सक्षम करने के लिए dfs.disk.balancer.enabled सेट है सत्य hdfs-site.xml . में .
HDFS इंट्रा-डेटानोड डिस्कबैलेंसर
जब उपयोगकर्ता एचडीएफएस में नया ब्लॉक लिखता है, तो वॉल्यूम चयन नीति डेटानोड का उपयोग करके ब्लॉक के लिए डिस्क चुनें। नीचे ऐसी दो नीतियां दी गई हैं:
- राउंड-रॉबिन – यह नीति उपलब्ध डिस्क में नए ब्लॉकों को एक समान तरीके से वितरित करती है।
- उपलब्ध स्थान – यह नीति उस डिस्क पर डेटा लिखती है जिसमें प्रतिशत के हिसाब से अधिक खाली स्थान होता है।
डिफ़ॉल्ट रूप से HDFS DataNode राउंड-रॉबिन नीति का उपयोग करता है।
एचडीएफएस में बड़े पैमाने पर फ़ाइल हटाने और जोड़ने के कारण डेटानोड अभी भी महत्वपूर्ण असंतुलन मात्रा पैदा करता है। यह भी संभव है कि उपलब्ध स्थान आधारित वॉल्यूम-चयन नीति कम कुशल डिस्क I/O को जन्म दे सकती है।
प्रत्येक नया लेखन नई जोड़ी गई खाली डिस्क में जाएगा जबकि उस समय अन्य डिस्क निष्क्रिय थे। इस प्रकार, नई डिस्क पर एक अड़चन पैदा करना।
डेटा असंतुलन की समस्या को कम करने के लिए, Apache Hadoop समुदाय ने सर्वर ऑफ़लाइन स्क्रिप्ट विकसित की। एचडीएफएस-1312 ने एक ऑनलाइन डिस्क बैलेंसर भी पेश किया। यह विभिन्न मेट्रिक्स के आधार पर चल रहे डेटानोड पर वॉल्यूम को फिर से संतुलित करता है।
HDFS डिस्क बैलेंसर की क्षमताएं
<एच4>1. डेटा प्रसार रिपोर्टउपयोगकर्ता माप सकते हैं कि मीट्रिक के माध्यम से डेटा कैसे फैलाया जाए।
a) वॉल्यूम डेटा घनत्व या इंट्रा-नोड डेटा घनत्व
यह मीट्रिक गणना कर सकता है कि नोड पर कितना डेटा है। यह भी बताएं कि प्रत्येक वॉल्यूम के लिए आदर्श संग्रहण क्या है।
गणना के लिए सूत्र, यानी उस नोड पर कुल डेटा को उस नोड की कुल डिस्क क्षमता से विभाजित किया जाता है।
आदर्श संग्रहण = कुल उपयोग किया गया% कुल क्षमता
वॉल्यूम डेटा घनत्व = आदर्श संग्रहण – dfsUsedRatio
- सकारात्मक मान- यह इंगित करता है कि डिस्क का उपयोग कम है।
- नकारात्मक मान- यह इंगित करता है कि डिस्क का अधिक उपयोग किया गया है।
b) नोड डेटा घनत्व या इंटर-नोड डेटा घनत्व
अब तक हमने वॉल्यूम डेटा घनत्व की गणना की है। इसलिए, हम आसानी से तुलना कर सकते हैं कि डेटा सेंटर के किन सभी नोड्स को संतुलित करने की आवश्यकता है?
c) रिपोर्ट
अब हमारे पास वॉल्यूम डेटा घनत्व और नोड डेटा घनत्व है। इसलिए डिस्क बैलेंसर क्लस्टर में शीर्ष 20 नोड्स को संतुलित कर सकता है जिसमें डेटा वितरण विषम है।
<एच4>2. डेटानोड के जीवित रहते हुए वॉल्यूम के बीच संतुलन डेटाएचडीएफएस डिस्क बैलेंसर में डेटा को एक वॉल्यूम से दूसरे वॉल्यूम में ले जाने की क्षमता होती है।
निष्कर्ष
अंत में, हम कह सकते हैं कि डिस्क बैलेंसर वह उपकरण है जो डेटानोड के सभी डिस्क पर डेटा वितरित करता है। यह एक योजना (बयानों का सेट) बनाकर काम करता है और उस योजना को डेटानोड पर क्रियान्वित करता है।
एचडीएफएस डिस्क बैलेंसर राउंड-रॉबिन का उपयोग करता है और उपलब्ध स्थान ब्लॉक के लिए डिस्क चुनने की नीतियां। अगर आपको यह ब्लॉग मददगार लगता है, या आपके पास कोई प्रश्न है, तो कृपया हमारे साथ टिप्पणी अनुभाग में साझा करें। हमें उन्हें हल करने में खुशी होगी।