HDFS उच्च उपलब्धता के साथ Hadoop क्लस्टर कैसे सेट करें



यह ब्लॉग एचडीएफएस उच्च उपलब्धता वास्तुकला का अवलोकन प्रदान करता है और सरल चरणों में एचडीएफएस उच्च उपलब्धता क्लस्टर को कैसे सेट और कॉन्फ़िगर किया जाए।

HDFS 2.x उच्च उपलब्धता क्लस्टर वास्तुकला

इस ब्लॉग में, मैं एचडीएफएस 2. एक्स उच्च उपलब्धता क्लस्टर वास्तुकला और एचडीएफएस उच्च उपलब्धता क्लस्टर स्थापित करने की प्रक्रिया के बारे में बात करने जा रहा हूं।यह एक महत्वपूर्ण हिस्सा है इस ब्लॉग में जिन विषयों को शामिल किया गया है वे इस प्रकार हैं:

  • एचडीएफएस हा आर्किटेक्चर
    • परिचय
    • NameNode उपलब्धता
    • हा का आर्किटेक्चर
    • हा (जर्नलोड और साझा भंडारण) का कार्यान्वयन
  • Hadoop क्लस्टर में HA (Quorum जर्नल नोड्स) कैसे सेट करें?

परिचय:

उच्च उपलब्धता क्लस्टर की अवधारणा Hadoop 2 में पेश की गई थीHadoop 1.x में विफलता समस्या के एकल बिंदु को हल करने के लिए x। जैसा कि आप मेरे पिछले ब्लॉग से जानते हैं कि द मास्टर / स्लेव टोपोलॉजी का अनुसरण करता है, जहां NameNode एक मास्टर डेमॉन के रूप में कार्य करता है और DataNodes नामक अन्य दास नोड्स के प्रबंधन के लिए जिम्मेदार है। यह एकल मास्टर डेमॉन या नेमकोड एक अड़चन बन जाता है। हालाँकि, माध्यमिक NameNode की शुरूआत ने हमें डेटा हानि से रोका और NameNode के कुछ बोझ को उतारने से रोका, लेकिन, इसने NameNode की उपलब्धता समस्या को हल नहीं किया।





NameNode उपलब्धता:

यदि आप HDFS क्लस्टर के मानक विन्यास पर विचार करते हैं, तो NameNode एक हो जाता है असफलता की एक भी वजह । ऐसा इसलिए होता है क्योंकि जब तक NameNode अनुपलब्ध हो जाता है, तब तक पूरा क्लस्टर अनुपलब्ध हो जाता है जब तक कोई NameNode पुनरारंभ नहीं करता है या कोई नया नहीं लाता है।

NameNode की अनुपलब्धता के कारण निम्न हो सकते हैं:



  • रखरखाव कार्य जैसे नियोजित कार्यक्रम में सॉफ्टवेयर या हार्डवेयर का उन्नयन होता है।
  • यह एक अनियोजित घटना के कारण भी हो सकता है जहां कुछ कारणों की वजह से NameNode क्रैश हो जाता है।

उपरोक्त दोनों मामलों में, हमारे पास एक डाउनटाइम है जहां हम एचडीएफएस क्लस्टर का उपयोग करने में सक्षम नहीं हैं जो एक चुनौती बन जाता है।

एचडीएफएस हा आर्किटेक्चर:

आइए हम समझते हैं कि HDFS HA ​​आर्किटेक्चर ने NameNode उपलब्धता की इस गंभीर समस्या को कैसे हल किया:

हा आर्किटेक्चर ने NameNode उपलब्धता की इस समस्या को हमें एक सक्रिय / निष्क्रिय विन्यास में दो NameNodes की अनुमति देकर हल किया। इसलिए, हमारे पास उच्च उपलब्धता क्लस्टर में एक ही समय में दो नामांकित नाम हैं:



  • सक्रिय नाम
  • स्टैंडबाय / पैसिव नेमोड।

एचडीएफएस हा आर्किटेक्चर - उच्च उपलब्धता क्लस्टर - एडुर्का

यदि एक NameNode नीचे चला जाता है, तो दूसरा NameNode जिम्मेदारी ले सकता है और इसलिए, क्लस्टर डाउन समय को कम करें। स्टैंडबाय NameNode बैकअप NameNode (द्वितीयक NameNode के विपरीत) के उद्देश्य को पूरा करता है, जो Hadoop क्लस्टर में विफलता क्षमताओं को शामिल करता है। इसलिए, स्टैंडबायोड के साथ, जब भी कोई NameNode क्रैश (अनियोजित घटना) हो जाता है या रखरखाव अवधि के दौरान हम एक ग्रेसफुल (मैन्युअल रूप से शुरू किया गया) फेलओवर हो सकता है, तो हम स्वचालित विफलता हो सकते हैं।

HDFS उच्च उपलब्धता क्लस्टर में स्थिरता बनाए रखने में दो मुद्दे हैं:

  • Active और Standby NameNode हमेशा एक-दूसरे के साथ तालमेल में होना चाहिए, यानी उनमें समान मेटाडेटा होना चाहिए। यह हमें Hadoop क्लस्टर को उसी नामस्थान राज्य में पुनर्स्थापित करने की अनुमति देगा जहां यह दुर्घटनाग्रस्त हो गया था और इसलिए, हमें तेजी से विफल होने के लिए प्रदान करेगा।
  • एक समय में केवल एक ही सक्रिय NameNode होना चाहिए क्योंकि दो सक्रिय NameNode डेटा के भ्रष्टाचार को जन्म देगा। इस तरह के परिदृश्य को विभाजित-मस्तिष्क परिदृश्य के रूप में कहा जाता है, जहां एक क्लस्टर छोटे क्लस्टर में विभाजित हो जाता है, प्रत्येक का मानना ​​है कि यह एकमात्र सक्रिय क्लस्टर है। ऐसे परिदृश्यों से बचने के लिए बाड़ लगाई जाती है। बाड़ लगाना यह सुनिश्चित करने की एक प्रक्रिया है कि किसी विशेष समय पर केवल एक NameNode सक्रिय रहता है।

हा वास्तुकला का कार्यान्वयन:

अब, आप जानते हैं कि HDFS HA ​​आर्किटेक्चर में, हमारे पास एक ही समय में दो NameNodes चल रहे हैं। तो, हम निम्नलिखित दो तरीकों से सक्रिय और स्टैंडबाय नेमकोड कॉन्फ़िगरेशन को लागू कर सकते हैं:

  1. कोरम जर्नल नोड्स का उपयोग करना
  2. NFS का उपयोग करके साझा संग्रहण

आइए हम एक बार में कार्यान्वयन के इन दो तरीकों को समझें:

1. कोरम जर्नल नोड्स का उपयोग करना:

  • स्टैंडबाय NameNode और सक्रिय NameNode नोड्स या डेमोंस के अलग-अलग समूह के माध्यम से एक दूसरे के साथ तालमेल रखते हैं जर्नलोड्सजर्नलनॉड्स रिंग टोपोलॉजी का अनुसरण करता है, जहां रिंग बनाने के लिए नोड्स एक दूसरे से जुड़े होते हैं।जर्नलनोड उसके पास आने वाले अनुरोध का कार्य करता है और रिंग में अन्य नोड्स में जानकारी की प्रतिलिपि बनाता हैयह जर्नलनोड विफलता के मामले में दोष सहिष्णुता प्रदान करता है।
  • सक्रिय नामनाम जर्नल जर्नल में मौजूद EditLogs (मेटाडेटा जानकारी) को अपडेट करने के लिए जिम्मेदार है।
  • स्टैंडबायोड जर्नलनलोड में EditLogs में किए गए परिवर्तनों को पढ़ता है और इसे एक स्थिर तरीके से अपने स्वयं के नामस्थान पर लागू करता है।
  • असफल होने के दौरान, स्टैंडबायोड यह सुनिश्चित करता है कि उसने नए सक्रिय उपयोगकर्ता कोड बनने से पहले जर्नलकोड से अपनी मेटा डेटा जानकारी को अपडेट कर दिया है। यह वर्तमान नाम स्थान स्थिति को विफलता से पहले स्थिति के साथ सिंक्रनाइज़ करता है।
  • दोनों NameNodes के IP पते सभी DataNodes के लिए उपलब्ध हैं और वे दोनों NameNode को अपने दिल की धड़कन और स्थान की जानकारी भेजते हैं। यह एक फास्ट फेलओवर (कम समय) प्रदान करता है क्योंकि स्टैंडबायोड में क्लस्टर में ब्लॉक स्थान के बारे में एक अद्यतन जानकारी है।

NameNode की बाड़ लगाना:

अब, जैसा कि पहले चर्चा की गई है, यह सुनिश्चित करना बहुत महत्वपूर्ण है कि एक समय में केवल एक सक्रिय नामकोड है। तो, बाड़ लगाना एक क्लस्टर में यह बहुत संपत्ति सुनिश्चित करने के लिए एक प्रक्रिया है।

  • जर्नलनोड्स एक समय में केवल एक NameNode को लेखक होने की अनुमति देकर यह बाड़ लगाता है।
  • स्टैंडबाय नेमोड ने जर्नलनोड्स को लिखने की ज़िम्मेदारी संभाली है और किसी भी अन्य नेनोड को सक्रिय रहने के लिए मना किया है।
  • अंत में, नया Active NameNode अपनी गतिविधियों को सुरक्षित रूप से कर सकता है।

2. साझा भंडारण का उपयोग करना:

  • स्टैंडबाईनोड और सक्रिय नेमकोड एक का उपयोग करके एक दूसरे के साथ सिंक में रहते हैं साझा संग्रहण डिवाइससक्रिय NameNode अपने नामस्थान में किए गए किसी भी संशोधन के रिकॉर्ड को इस साझा संग्रहण में मौजूद EditLog में लॉग करता है।स्टैंडबायोड इस साझा संग्रहण में EditLogs में किए गए परिवर्तनों को पढ़ता है और इसे अपने स्वयं के नामस्थान पर लागू करता है।
  • अब, विफलता के मामले में, StandbyNode ने पहले साझा किए गए स्टोरेज में EditLogs का उपयोग करके अपनी मेटाडेटा जानकारी को अपडेट किया। उसके बाद, यह सक्रिय नामनाम की जिम्मेदारी लेता है। यह वर्तमान नाम स्थान स्थिति को विफलता से पहले स्थिति के साथ सिंक्रनाइज़ करता है।
  • विभाजन-मस्तिष्क परिदृश्य से बचने के लिए व्यवस्थापक को कम से कम एक बाड़ लगाने की विधि को कॉन्फ़िगर करना होगा।
  • प्रणाली बाड़ लगाने की एक श्रृंखला को नियोजित कर सकती है। इसमें NameNode की प्रक्रिया को मारना और साझा संग्रहण निर्देशिका तक इसकी पहुंच को शामिल करना शामिल हो सकता है।
  • अंतिम उपाय के रूप में, हम पहले सक्रिय NameNode को STONITH के रूप में ज्ञात तकनीक के साथ बाड़ सकते हैं, या 'सिर में अन्य नोड को शूट कर सकते हैं'। STONITH एक विशेष बिजली वितरण इकाई का उपयोग NameNode मशीन से जबरन करने के लिए करता है।

स्वचालित विफलता:

फेलओवर एक ऐसी प्रक्रिया है जिसके द्वारा कोई प्रणाली गलती या विफलता का पता लगाने पर स्वचालित रूप से माध्यमिक प्रणाली में नियंत्रण स्थानांतरित कर देती है। विफलता के दो प्रकार हैं:

सुंदर विफलता: इस मामले में, हम नियमित रखरखाव के लिए विफलता को मैन्युअल रूप से आरंभ करते हैं।

स्वचालित विफलता: इस स्थिति में, NameNode विफलता (अनियोजित घटना) के मामले में फेलओवर स्वचालित रूप से शुरू हो जाता है।

Apache Zookeeper एक ऐसी सेवा है जो HDFS हाई एवेलेबिलिटी क्लस्टर में स्वचालित फेलओवर क्षमता प्रदान करती है। यह समन्वय डेटा की छोटी मात्रा को बनाए रखता है, ग्राहकों को उस डेटा में परिवर्तन की सूचना देता है, और विफलताओं के लिए ग्राहकों की निगरानी करता है। ज़ूकाइपर NameNodes के साथ एक सत्र रखता है। विफलता के मामले में, सत्र समाप्त हो जाएगा और ज़ूकीपर अन्य NameNodes को विफलता प्रक्रिया शुरू करने के लिए सूचित करेगा। NameNode विफलता के मामले में, अन्य निष्क्रिय NameNode, Zookeeper में यह कहते हुए लॉक कर सकता है कि वह अगला Active NameNode बनना चाहता है।

ZookeerFailoverController (ZKFC) एक Zookeeper क्लाइंट है जो NameNn स्थिति की निगरानी और प्रबंधन भी करता है। NameNode में से प्रत्येक एक ZKFC भी चलाता है। ZKFC समय-समय पर NameNodes के स्वास्थ्य की निगरानी के लिए जिम्मेदार है।

अब जब आप समझ गए हैं कि किसी Hadoop क्लस्टर में उच्च उपलब्धता क्या है, तो इसे सेट करने का समय आ गया है। Hadoop क्लस्टर में उच्च उपलब्धता स्थापित करने के लिए आपको सभी नोड्स में Zookeeper का उपयोग करना होगा।

सक्रिय NameNode में डेमॉन हैं:

  • ज़ुकर करनेवाला
  • ज़ुकीपर फेल ओवर कंट्रोलर
  • जर्नलोडे
  • NameNode

स्टैंडबाय NameNode में डेमॉन हैं:

  • ज़ुकर करनेवाला
  • ज़ुकीपर फेल ओवर कंट्रोलर
  • जर्नलोडे
  • NameNode

DataNode में डेमॉन हैं:

  • ज़ुकर करनेवाला
  • जर्नलोडे
  • DataNode

यदि आप एचडीएफएस और हाडोप को मास्टर करना चाहते हैं, तो एडुरका द्वारा विशेष रूप से क्यूरेट किए गए बिग डेटा और हडोप कोर्स की जांच करें। आरंभ करने के लिए नीचे दिए गए बटन पर क्लिक करें।

Hadoop में उच्च उपलब्धता क्लस्टर स्थापित करना और कॉन्फ़िगर करना:

आपको पहले प्रत्येक नोड का जावा और होस्ट नाम सेट करना होगा।

आभासी मशीन आईपी ​​पता होस्ट का नाम
सक्रिय नाम192.168.1.81nn1.cluster.com या nn1
स्टैंडबाय नेमकोड192.168.1.58nn2.cluster.com या nn2
DataNode192.168.1.82dn1.cluster.com या dn1

Hadoop और Zookeeper बाइनरी टार फ़ाइल डाउनलोड करें, कॉन्फ़िगरेशन फ़ाइलों को संपादित करने के लिए फ़ाइलों को निकालें।

आदेश: wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

Zookeeper-3.4.6.tar.gz फैलाएं

कमान : tar –xvf zookeeper-3.4.6.tar.gz

Apache Hadoop साइट से स्थिर Hadoop बाइनरी टार डाउनलोड करें।

कमान : wget https://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz

Hadoop टार बॉल निकालें।

कमान : tar –xvf hadoop-2.6.0.tar.gz

फैल हूप बाइनरी।

Hadoop, Zookeeper और पथों को .bashrc फ़ाइल में जोड़ें।

.Bashrc फ़ाइल खोलें।

कमान : सुडो गेडिट ~ / .बशस्क

नीचे दिए गए पथ जोड़ें:

निर्यात HADOOP_HOME = निर्यात HADOOP_MAPRED_HOME = $ HADOOP_HOME निर्यात HADOOP_COMMON_HOME = $ HADOOP_HOME निर्यात HADOOP_HDFS_HOME = $ HADOOP_HOME निर्यात YARN_HOME = $ HADOOP_HOME निर्यात HADOOP_CONF_DIR = $ HADOOP_HOME / etc / Hadoop निर्यात YARN_CONF_DIR = $ HADOOP_HOME / etc / Hadoop निर्यात JAVA_HOME = निर्यात ZOOKEEPER_HOME = निर्यात पथ = $ PATH: $ JAVA_HOME / bin: $ HADOOP_HOME / bin: $ HADOOP_HOME / sbin: $ ZOOKEEPER_HOME / bin

.Bashrc फ़ाइल संपादित करें।

SSH को सभी नोड में सक्षम करें।

सभी नोड्स में SSH कुंजी उत्पन्न करें।

कमान : ssh-keygen –t rsa (यह सभी नोड्स में कदम)

सभी नोड्स में SSH कुंजी सेट करें।

कुंजी को सहेजने के लिए Enter फ़ाइल को कोई भी रास्ता न दें और कोई पासफ़्रेज़ न दें। एंटर बटन दबाएं।

सभी नोड्स में ssh कुंजी प्रक्रिया उत्पन्न करें।

एक बार ssh कुंजी जनरेट होने के बाद, आपको सार्वजनिक कुंजी और निजी कुंजी मिल जाएगी।

.Ssh कुंजी निर्देशिका में अनुमति 700 होनी चाहिए और .sh निर्देशिका के अंदर सभी कुंजियाँ अनुमतियाँ 600 होनी चाहिए।

SSH निर्देशिका की अनुमति बदलें।

निर्देशिका को .sh पर बदलें और फ़ाइलों की अनुमति को 600 में बदलें

सार्वजनिक और निजी कुंजी की अनुमति बदलें।

आपको नाम नोड्स ssh सार्वजनिक कुंजी को सभी नोड्स पर कॉपी करना होगा।

सक्रिय नामेनोड में, cat कमांड का उपयोग करके id_rsa.pub को कॉपी करें।

कमान : बिल्ली ~ /। ssh / id_rsa.pub >> ~ / .ssh / अधिकृत_की

नामेनोड ssh कुंजी को उसकी अधिकृत कुंजी पर कॉपी करें।

सभी नोड्स का उपयोग करके NameNode सार्वजनिक कुंजी की प्रतिलिपि बनाएँ ssh-copy-id आज्ञा।

कमान : ssh-copy-id –i .ssh / id_rsa.pub edureka@nn2.cluster.com

स्टैंडबाय NameNode के उद्देश्य की प्रतिलिपि बनाएँ।

डेटा नोड के लिए NameNode सार्वजनिक कुंजी की प्रतिलिपि बनाएँ।

कमान : ssh-copy-id –i .ssh / id_rsa.pub edureka@dn1.cluster.com

डेटा नोड में नामेनोड सार्वजनिक कुंजी की प्रतिलिपि बनाएँ।

सभी नोड्स में sshd सेवा को पुनरारंभ करें।

कमान : sudo service sshd पुनरारंभ (सभी नोड्स में करें)

SSH सेवा को पुनरारंभ करें।

अब आप बिना किसी प्रमाणीकरण के नामेनोडे से किसी भी नोड में प्रवेश कर सकते हैं।

सक्रिय नाम नोड से कोर-site.xml फ़ाइल खोलें और नीचे के गुण जोड़ें।

सक्रिय namenode से कोर-site.xml संपादित करें

एक्टिव नेमेनोड में hdfs-site.xml फ़ाइल खोलें। नीचे दिए गए गुण जोड़ें।

dfs.namenode.name.dir / home / edureka / HA / data / namenode dfs.replication 1 dfs.permissions झूठे dfs.nameservices हा-क्लस्टर dfs.ha.namenodes.ha-क्लस्टर nn1, nn2 dfs.namenode.rpc- पता .ha-column.nn1 nn1.cluster.com:9000 dfs.namenode.rpc-address.ha-क्लस्टर.nn2 nn2.cluster.com:9000 dfs.namenode.http-address.ha-क्लस्टर.nn1 nn1.cluster। com: 50070 dfs.namenode.http-address.ha-spin.nn2 nn2.cluster.com:50070 dfs.namenode.soded.edits.dir qjournal: //nn1.cluster.com: 8485nn2.cluster.com: 8485dn1। क्लस्टर.com:8485/ha-cluster dfs.client.failover.proxy.provider.ha- क्लस्टर org.apache.haddf.hdfs.server.namenode.ha.ConfiguredForFoveroverProxyProvider dfs.ha.automatic-failover.enabled true ha.zookeeper .quorum nn1.cluster.com:2181,nn2.cluster.com:2181,dn1.cluster.com:2181 dfs.ha.fencing.methods sshfence df.ha.fencing.ssh.pStreet-key-files / home / edureka। /.ssh/id_rsa

निर्देशिका को ज़ूकीपर की गोपनीय निर्देशिका में बदलें।

कमान : cd zookeeper-3.4.6 / conf

ज़ुकीपर कन्फ़र्म डायरेक्टरी।

आपके पास zoo_sample.cfg फ़ाइल की एक निर्देशिका निर्देशिका में, zoo_sample.cfg फ़ाइल का उपयोग करके zoo.cfg बनाएँ।

कमान : cp zoo_sample.cfg zoo.cfg

Zoo.cfg फ़ाइल बनाएँ।

किसी भी स्थान में निर्देशिका बनाएं और इस निर्देशिका का उपयोग ज़ूकीपर डेटा संग्रहीत करने के लिए करें।

कमान : मकिदिर

Zookeeper data store करने के लिए एक Directory बनाएँ।

Zoo.cfg फ़ाइल खोलें।

जावा में दशमलव के लिए द्विआधारी

कमान : gedit zoo.cfg

उस निर्देशिका पथ को जोड़ें, जो डेटाडायर प्रॉपर्टी के ऊपर चरण में बनाया गया है और शेष नोड के बारे में नीचे विवरण जोड़ें, zoo.cfx फ़ाइल में।

Server.1 = nn1.cluster.com: 2888: 3888

Server.2 = nn2.cluster.com: 2888: 3888

Server.3 = dn1.cluster.com: 2888: 3888

Zoo.cfg फ़ाइल संपादित करें।

अब Java और Hadoop-2.6.0, zookeeper-3.4.6 डाइरेक्टरीज़, और .bashrc फ़ाइल को scp कमांड का उपयोग करके सभी नोड्स (स्टैंडबाय नाम नोड, डेटा नोड) पर कॉपी करें।

कमान : scp -r edureka @:

Hadoop, Zookeeper और .bashrc फाइल को सभी नोड्स में कॉपी करें।

इसी तरह, सभी नोड्स के लिए .bashrc फ़ाइल और ज़ुकीपर निर्देशिका को कॉपी करें और संबंधित नोड के अनुसार प्रत्येक में पर्यावरण चर को बदलें।

डेटा नोड में, किसी भी निर्देशिका को बनाएं जहां आपको एचडीएफएस ब्लॉकों को संग्रहीत करने की आवश्यकता होती है।

डेटा नोड में, आपको dfs.datanode.data.dir गुण जोड़ना होगा।

मेरे मामले में, मैंने बनाया डेटानोड निर्देशिका ब्लॉक संग्रहीत करने के लिए।

डेटेनोड निर्देशिका बनाएँ।

डेटा नोड निर्देशिका की अनुमति बदलें।

Datanode निर्देशिका अनुमति बदलें।

HDFS-site.xml फ़ाइल खोलें, इस Datanode निर्देशिका पथ को dfs.datanode.data.dir गुण में जोड़ें।

नोट: सक्रिय नामेनोड से कॉपी किए गए सभी गुण dfs.datanode.data.dir को नामेनोड में एक निकालने की संपत्ति जोड़ें।

dfs.datanode.data.dir / home / edureka / HA / data / datanode

Active namenode में, उस निर्देशिका को बदलें जहाँ आप zookeeper configuration file (dataDir property path) को स्टोर करना चाहते हैं।

निर्देशिका के अंदर myid फ़ाइल बनाएँ और फ़ाइल में संख्यात्मक 1 जोड़ें और फ़ाइल सहेजें।

कमान - vi मायड

Myid फाइल बनाएं।

स्टैंडबाय नमेनोड में उस डायरेक्टरी को बदलें जहां आप ज़ूकीपर कॉन्फ़िगरेशन फ़ाइल (डेटाडायर प्रॉपर्टी पाथ) को स्टोर करना चाहते हैं।

निर्देशिका के अंदर myid फ़ाइल बनाएँ और फ़ाइल में संख्यात्मक 2 जोड़ें और फ़ाइल को सहेजें।

डेटा नोड में, उस निर्देशिका को बदलें जहां आप ज़ूकीपर कॉन्फ़िगरेशन फ़ाइल (डेटाडायर प्रॉपर्टी पाथ) को स्टोर करना चाहते हैं।

निर्देशिका के अंदर myid फ़ाइल बनाएँ और फ़ाइल में संख्यात्मक 3 जोड़ें और फ़ाइल को सहेजें।

तीनों नोड्स में जर्नलोड शुरू करें।

कमान : hasoop-daemon.sh प्रारंभ जर्नल

इस जावा का उपयोग कब करें

जर्नलोडन शुरू करें।

जब आप jps कमांड दर्ज करते हैं, तो आप सभी नोड्स में जर्नलकोड डेमन देखेंगे।

स्वरूपित करेंसक्रिय उद्देश्य।

कमान : एचडीएफएस इरादा -फॉर्म

सक्रिय NameNode प्रारूप।

नामेनोड डेमन और एक्टिव नेमोडे शुरू करें।

कमान : hasoop-daemon.sh प्रारंभ उद्देश्य

नामेनोडे शुरू करें।

सक्रिय नाम नोड से स्टैंडबाय नमेनोड तक एचडीएफएस मेटा डेटा की प्रतिलिपि बनाएँ।

कमान : HDFS इरादा -bootstrapStandby

सक्रिय नाम नोड से स्टैंडबाय नमेनोड पर एचडीएफएस मेटा डेटा की प्रतिलिपि बनाएँ।

एक बार जब आप इस कमांड को चलाते हैं, तो आपको जानकारी मिलेगी कि मेटा डेटा किस नोड और स्थान से कॉपी कर रहा है और यह सफलतापूर्वक कॉपी हो रहा है या नहीं।

सक्रिय उद्देश्य के विवरण की जानकारी।

एक बार मेटा डेटा को एक्टिव नामेनोड से स्टैंडबाय नमनोड में कॉपी कर लेने पर, आपको स्क्रीनशॉट में नीचे दिखाया गया संदेश मिल जाएगा।

स्टैंडबाई नमेनोड में एचडीएफएस के बारे में जानकारी।

स्टैंडबाई नमेनोड मशीन में नामेनोड डेमन शुरू करें।

कमान : hasoop-daemon.sh प्रारंभ उद्देश्य

अब तीनों नोड्स में ज़ुकीपर सेवा शुरू करें।

कमान : zkServer.sh start (सभी नोड्स में यह कमांड चलाएँ)

सक्रिय उद्देश्य में:

सक्रिय NameNode में zookeeper प्रारंभ करें।

स्टैंडबाय नमेनोडे में:

स्टैंडबाय NameNode में ज़ूकीपर शुरू करें।

डेटा नोड में:

DataNode में zookeeper शुरू करें।

Zookeeper सर्वर चलाने के बाद, JPS कमांड दर्ज करें। सभी नोड्स में आपको QuorumPeerMain सर्विस दिखाई देगी।

डेटा नोड मशीन में डेटा नोड डेमॉन प्रारंभ करें।

कमान : hasoop-daemon.sh स्टार्ट डेटेनोड

सक्रिय नाम नोड और स्टैंडबाय नाम नोड में नियंत्रक से अधिक ज़ुकेर शुरू करें।

एक्टिव नामेनोड में कंट्रोलर पर ज़ुकीपर फेल को फॉर्मेट करें।

आदेश: HDFS zkfc -formatZK

प्रारूप ZKFC।

सक्रिय नामीनोड में ZKFC प्रारंभ करें।

कमान : hadoop-daemon.sh प्रारंभ zkfc

DFSZkFailoverController डेमॉन की जांच करने के लिए jps कमांड दर्ज करें।

ZKFC प्रारंभ करें।

ज़ूबीटर को स्टैंडबाय नमेनोड में नियंत्रक पर विफल करें।

कमान : hdfs zkfc -formatZK

स्टैंडबाय नमनोड में ZKFC शुरू करें।

कमान : hadoop-daemon.sh प्रारंभ zkfc

DFSZkFailoverController डेमॉन की जांच करने के लिए jps कमांड दर्ज करें।

अब प्रत्येक नामेनोड की स्थिति की जांच करें कि कौन सा नोड सक्रिय है या कौन सा नोड नीचे कमांड का उपयोग करके स्टैंडबाय पर है।

कमान : hdfs haadmin –getServiceState nn1

प्रत्येक NameNode की स्थिति जांचें।

अब वेब ब्राउज़र का उपयोग करके प्रत्येक नामेनोड की स्थिति की जांच करें।

वेब ब्राउज़र खोलें और नीचे दिया गया URL दर्ज करें।

: 50070

यह दिखाएगा कि नाम नोड सक्रिय है या स्टैंडबाय पर।

सक्रिय नाम

वेब ब्राउज़र का उपयोग करके एक और नाम नोड विवरण खोलें।

स्टैंडबाय नेमकोड।

सक्रिय नामेनोड में, नामेनोड डेमन को मारें ताकि स्टैंडबाई नाम नोड को सक्रिय नामेनोड में बदल सकें।

सक्रिय नामीनोड में jps दर्ज करें और डेमन को मार डालें।

आदेश: सूदो मार-९

डेमोंस प्रोसेस आई.डी.

नामेनोड प्रक्रिया आईडी 7606 है, नामेनोड को मारें।

कमान : सूदो मार-९ 6६०६

नाम नोड प्रक्रिया को मार डालो

वेब ब्राउज़र के माध्यम से दो नोड खोलें और स्थिति की जांच करें।

नामेनोड विवरण।

NameNode की स्थिति।

बधाई हो, आपने Hadoop में HDFS उच्च उपलब्धता क्लस्टर को सफलतापूर्वक सेटअप किया है।

अब जब आप Hadoop उच्च उपलब्धता क्लस्टर आर्किटेक्चर को समझ गए हैं, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka Big Data Hadoop सर्टिफिकेशन ट्रेनिंग कोर्स, शिक्षार्थियों को रिटेल, सोशल मीडिया, एविएशन, टूरिज्म, फाइनेंस डोमेन पर रियल-टाइम उपयोग मामलों का उपयोग करके HDFS, यार्न, MapReduce, Pig, Hive, HBase, Oozie, Flume और Sqoop में विशेषज्ञ बनने में मदद करता है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे।

window._LQ_ = window._LQ_ || {}

lqQuizModal (विंडो, दस्तावेज़, {QuizId: 'XAIVp8 od, baseUrl:' https: //quiz.leadquizzes.com/’ttrigger: 'exit'}, _LIN_)