HDFS 2.x హై ఎవైలబిలిటీ క్లస్టర్ ఆర్కిటెక్చర్
ఈ బ్లాగులో, నేను HDFS 2.x హై ఎవైలబిలిటీ క్లస్టర్ ఆర్కిటెక్చర్ మరియు HDFS హై ఎవైలబిలిటీ క్లస్టర్ను ఏర్పాటు చేసే విధానం గురించి మాట్లాడబోతున్నాను.ఇది ఒక ముఖ్యమైన భాగం . ఈ బ్లాగులో విషయాలు కవర్ చేయబడిన క్రమం క్రింది విధంగా ఉంది:
- HDFS HA ఆర్కిటెక్చర్
- పరిచయం
- నేమ్నోడ్ లభ్యత
- HA యొక్క నిర్మాణం
- HA (జర్నల్నోడ్ మరియు షేర్డ్ స్టోరేజ్) అమలు
- హడూప్ క్లస్టర్లో హెచ్ఏ (కోరం జర్నల్ నోడ్స్) ను ఎలా ఏర్పాటు చేయాలి?
పరిచయం:
హై ఎవైలబిలిటీ క్లస్టర్ అనే భావనను హడూప్ 2 లో ప్రవేశపెట్టారు.హడూప్ 1.x లో వైఫల్యం సమస్యను పరిష్కరించడానికి x. నా మునుపటి బ్లాగ్ నుండి మీకు తెలిసినట్లు మాస్టర్ / స్లేవ్ టోపోలాజీని అనుసరిస్తుంది, ఇక్కడ నేమ్నోడ్ మాస్టర్ డెమోన్గా పనిచేస్తుంది మరియు డేటానోడ్స్ అని పిలువబడే ఇతర బానిస నోడ్లను నిర్వహించడానికి బాధ్యత వహిస్తుంది. ఈ సింగిల్ మాస్టర్ డెమోన్ లేదా నేమ్నోడ్ ఒక అవరోధంగా మారుతుంది. అయినప్పటికీ, సెకండరీ నేమ్నోడ్ పరిచయం డేటా నష్టం మరియు నేమ్నోడ్ యొక్క కొంత భారాన్ని ఆఫ్లోడ్ చేయకుండా నిరోధించింది, అయితే, ఇది నేమ్నోడ్ యొక్క లభ్యత సమస్యను పరిష్కరించలేదు.
నేమ్నోడ్ లభ్యత:
మీరు HDFS క్లస్టర్ యొక్క ప్రామాణిక కాన్ఫిగరేషన్ను పరిగణనలోకి తీసుకుంటే, నేమ్నోడ్ a అవుతుంది వైఫల్యం యొక్క ఒకే పాయింట్ . నేమ్నోడ్ అందుబాటులో లేని క్షణం, ఎవరైనా నేమ్నోడ్ను పున ar ప్రారంభించే వరకు లేదా క్రొత్తదాన్ని తీసుకువచ్చే వరకు మొత్తం క్లస్టర్ అందుబాటులో ఉండదు.
నేమ్నోడ్ అందుబాటులో లేకపోవడానికి కారణాలు:
- నిర్వహణ పని వంటి ప్రణాళికాబద్ధమైన సంఘటన సాఫ్ట్వేర్ లేదా హార్డ్వేర్ను అప్గ్రేడ్ చేస్తుంది.
- ఇది కొన్ని కారణాల వల్ల నేమ్నోడ్ క్రాష్ అయ్యే ప్రణాళిక లేని సంఘటన వల్ల కూడా కావచ్చు.
పైన పేర్కొన్న రెండు సందర్భాల్లోనూ, మనకు హెచ్డిఎఫ్ఎస్ క్లస్టర్ను ఉపయోగించలేని సమయములో పనికిరాని సమయం ఉంది, అది సవాలుగా మారుతుంది.
HDFS HA ఆర్కిటెక్చర్:
నేమ్నోడ్ లభ్యత యొక్క ఈ క్లిష్టమైన సమస్యను HDFS HA ఆర్కిటెక్చర్ ఎలా పరిష్కరించిందో అర్థం చేసుకుందాం:
క్రియాశీల / నిష్క్రియాత్మక కాన్ఫిగరేషన్లో రెండు నేమ్నోడ్లను కలిగి ఉండటానికి అనుమతించడం ద్వారా నేమ్నోడ్ లభ్యత యొక్క ఈ సమస్యను HA ఆర్కిటెక్చర్ పరిష్కరించింది. కాబట్టి, హై ఎవైలబిలిటీ క్లస్టర్లో ఒకేసారి రెండు రన్నింగ్ నేమ్నోడ్లు ఉన్నాయి:
- యాక్టివ్ నేమ్నోడ్
- స్టాండ్బై / నిష్క్రియాత్మక నేమ్నోడ్.
ఒక నేమ్నోడ్ దిగజారితే, మరొక నేమ్నోడ్ బాధ్యతను స్వీకరించగలదు మరియు అందువల్ల, క్లస్టర్ డౌన్ సమయం తగ్గించండి. స్టాండ్బై నేమ్నోడ్ బ్యాకప్ నేమ్నోడ్ (సెకండరీ నేమ్నోడ్ కాకుండా) యొక్క ప్రయోజనాన్ని అందిస్తుంది, ఇది హడూప్ క్లస్టర్కు ఫెయిల్ఓవర్ సామర్థ్యాలను కలిగి ఉంటుంది. అందువల్ల, స్టాండ్బైనోడ్తో, నేమ్నోడ్ క్రాష్ అయినప్పుడు (ప్రణాళిక లేని సంఘటన) మేము ఆటోమేటిక్ ఫెయిల్ఓవర్ను కలిగి ఉండవచ్చు లేదా నిర్వహణ వ్యవధిలో మనోహరమైన (మాన్యువల్గా ప్రారంభించిన) ఫెయిల్ఓవర్ను కలిగి ఉండవచ్చు.
HDFS హై ఎవైలబిలిటీ క్లస్టర్లో స్థిరత్వాన్ని కొనసాగించడంలో రెండు సమస్యలు ఉన్నాయి:
- యాక్టివ్ మరియు స్టాండ్బై నేమ్నోడ్ ఎల్లప్పుడూ ఒకదానితో ఒకటి సమకాలీకరించాలి, అనగా అవి ఒకే మెటాడేటాను కలిగి ఉండాలి. ఇది హడూప్ క్లస్టర్ క్రాష్ అయిన అదే నేమ్స్పేస్ స్థితికి పునరుద్ధరించడానికి అనుమతిస్తుంది మరియు అందువల్ల, వేగంగా విఫలమయ్యేలా చేస్తుంది.
- ఒకేసారి ఒక క్రియాశీల నేమ్నోడ్ మాత్రమే ఉండాలి ఎందుకంటే రెండు క్రియాశీల నేమ్నోడ్ డేటా అవినీతికి దారితీస్తుంది. ఈ రకమైన దృష్టాంతాన్ని స్ప్లిట్-మెదడు దృష్టాంతంగా పిలుస్తారు, ఇక్కడ ఒక క్లస్టర్ చిన్న క్లస్టర్గా విభజించబడుతుంది, ప్రతి ఒక్కరూ ఇది మాత్రమే క్రియాశీల క్లస్టర్ అని నమ్ముతారు. అటువంటి దృశ్యాలను నివారించడానికి ఫెన్సింగ్ జరుగుతుంది. ఫెన్సింగ్ అనేది ఒక నిర్దిష్ట సమయంలో ఒక నేమ్నోడ్ మాత్రమే చురుకుగా ఉండేలా చూసే ప్రక్రియ.
HA ఆర్కిటెక్చర్ అమలు:
ఇప్పుడు, HDFS HA ఆర్కిటెక్చర్లో, మాకు ఒకే సమయంలో రెండు నేమ్నోడ్లు ఉన్నాయని మీకు తెలుసు. కాబట్టి, మేము రెండు విధాలుగా యాక్టివ్ మరియు స్టాండ్బై నేమ్నోడ్ కాన్ఫిగరేషన్ను అమలు చేయవచ్చు:
- కోరం జర్నల్ నోడ్స్ ఉపయోగించడం
- NFS ఉపయోగించి భాగస్వామ్య నిల్వ
అమలు చేసే ఈ రెండు మార్గాలను ఒకేసారి తీసుకుందాం:
SQL లో పైవట్ మరియు అన్పివోట్
1. కోరం జర్నల్ నోడ్స్ ఉపయోగించడం:
- స్టాండ్బై నేమ్నోడ్ మరియు క్రియాశీల నేమ్నోడ్ ప్రత్యేక సమూహ నోడ్స్ లేదా డెమోన్ల ద్వారా ఒకదానితో ఒకటి సమకాలీకరిస్తాయి జర్నల్ నోడ్స్ .జర్నల్ నోడ్స్ రింగ్ టోపోలాజీని అనుసరిస్తాయి, ఇక్కడ నోడ్లు ఒకదానితో ఒకటి అనుసంధానించబడి రింగ్ ఏర్పడతాయి.జర్నల్నోడ్ దానికి వచ్చే అభ్యర్థనను అందిస్తుంది మరియు రింగ్లోని ఇతర నోడ్లలోకి సమాచారాన్ని కాపీ చేస్తుంది.జర్నల్నోడ్ వైఫల్యం విషయంలో ఇది తప్పు సహనాన్ని అందిస్తుంది.
- జర్నల్నోడ్స్లో ఉన్న ఎడిట్లాగ్స్ (మెటాడేటా సమాచారం) ను నవీకరించడానికి క్రియాశీల నేమ్నోడ్ బాధ్యత వహిస్తుంది.
- స్టాండ్బైనోడ్ జర్నల్నోడ్లోని ఎడిట్లాగ్స్లో చేసిన మార్పులను చదువుతుంది మరియు దానిని దాని స్వంత నేమ్స్పేస్కు స్థిరంగా ఉపయోగిస్తుంది.
- ఫెయిల్ఓవర్ సమయంలో, స్టాండ్బైనోడ్ కొత్త యాక్టివ్ నేమ్నోడ్ కావడానికి ముందు జర్నల్నోడ్స్ నుండి దాని మెటా డేటా సమాచారాన్ని నవీకరించినట్లు చూస్తుంది. ఇది ప్రస్తుత నేమ్స్పేస్ స్థితిని ఫెయిల్ఓవర్కు ముందు రాష్ట్రంతో సమకాలీకరించేలా చేస్తుంది.
- నేమ్నోడ్ల యొక్క ఐపి చిరునామాలు అన్ని డేటానోడ్లకు అందుబాటులో ఉన్నాయి మరియు అవి వారి హృదయ స్పందనలను పంపుతాయి మరియు స్థాన సమాచారాన్ని నేమ్నోడ్ రెండింటికి బ్లాక్ చేస్తాయి. స్టాండ్బైనోడ్ క్లస్టర్లోని బ్లాక్ స్థానం గురించి నవీకరించబడిన సమాచారాన్ని కలిగి ఉన్నందున ఇది వేగంగా విఫలమవుతుంది (తక్కువ సమయం).
నేమ్నోడ్ యొక్క ఫెన్సింగ్:
ఇప్పుడు, ఇంతకుముందు చర్చించినట్లుగా, ఒక సమయంలో ఒకే యాక్టివ్ నేమ్నోడ్ మాత్రమే ఉందని నిర్ధారించుకోవడం చాలా ముఖ్యం. కాబట్టి, ఫెన్సింగ్ అనేది క్లస్టర్లో ఈ ఆస్తిని నిర్ధారించే ప్రక్రియ.
- ఒక సమయంలో ఒక నేమ్నోడ్ను మాత్రమే రచయితగా అనుమతించడం ద్వారా జర్నల్నోడ్స్ ఈ ఫెన్సింగ్ను నిర్వహిస్తుంది.
- స్టాండ్బై నేమ్నోడ్ జర్నల్నోడ్లకు వ్రాసే బాధ్యతను స్వీకరిస్తుంది మరియు ఇతర నేమ్నోడ్ చురుకుగా ఉండడాన్ని నిషేధిస్తుంది.
- చివరగా, కొత్త యాక్టివ్ నేమ్నోడ్ దాని కార్యకలాపాలను సురక్షితంగా చేయగలదు.
2. భాగస్వామ్య నిల్వను ఉపయోగించడం:
- స్టాండ్బైనోడ్ మరియు క్రియాశీల నేమ్నోడ్ ఒకదానిని ఉపయోగించి ఒకదానితో ఒకటి సమకాలీకరిస్తాయి భాగస్వామ్య నిల్వ పరికరం .క్రియాశీల నేమ్నోడ్ దాని భాగస్వామ్య నిల్వలో ఉన్న ఎడిట్ లాగ్కు దాని నేమ్స్పేస్లో చేసిన ఏదైనా సవరణ యొక్క రికార్డును లాగ్ చేస్తుంది.స్టాండ్బైనోడ్ ఈ భాగస్వామ్య నిల్వలో ఎడిట్ లాగ్స్లో చేసిన మార్పులను చదువుతుంది మరియు దాని స్వంత నేమ్స్పేస్కు వర్తిస్తుంది.
- ఇప్పుడు, ఫెయిల్ఓవర్ విషయంలో, స్టాండ్బైనోడ్ దాని మెటాడేటా సమాచారాన్ని మొదట షేర్డ్ స్టోరేజీలోని ఎడిట్ లాగ్స్ ఉపయోగించి అప్డేట్ చేస్తుంది. అప్పుడు, ఇది యాక్టివ్ నేమ్నోడ్ యొక్క బాధ్యతను తీసుకుంటుంది. ఇది ప్రస్తుత నేమ్స్పేస్ స్థితిని ఫెయిల్ఓవర్కు ముందు రాష్ట్రంతో సమకాలీకరించేలా చేస్తుంది.
- స్ప్లిట్-మెదడు దృష్టాంతాన్ని నివారించడానికి నిర్వాహకుడు కనీసం ఒక ఫెన్సింగ్ పద్ధతిని కాన్ఫిగర్ చేయాలి.
- సిస్టమ్ అనేక రకాల ఫెన్సింగ్ విధానాలను ఉపయోగించవచ్చు. ఇందులో నేమ్నోడ్ ప్రాసెస్ను చంపడం మరియు భాగస్వామ్య నిల్వ డైరెక్టరీకి దాని ప్రాప్యతను ఉపసంహరించుకోవడం ఉండవచ్చు.
- చివరి ప్రయత్నంగా, మేము గతంలో క్రియాశీల నేమ్నోడ్ను స్టోనిత్ అని పిలిచే ఒక సాంకేతికతతో కంచె వేయవచ్చు లేదా “ఇతర నోడ్ను తలలో కాల్చండి”. నేమ్నోడ్ యంత్రాన్ని బలవంతంగా శక్తివంతం చేయడానికి స్టోనిత్ ప్రత్యేక విద్యుత్ పంపిణీ యూనిట్ను ఉపయోగిస్తుంది.
ఆటోమేటిక్ ఫెయిల్ఓవర్:
ఫెయిల్ఓవర్ అనేది ఒక వ్యవస్థ ఒక లోపం లేదా వైఫల్యాన్ని గుర్తించినప్పుడు సిస్టమ్ స్వయంచాలకంగా ద్వితీయ వ్యవస్థకు నియంత్రణను బదిలీ చేస్తుంది. ఫెయిల్ఓవర్లో రెండు రకాలు ఉన్నాయి:
అందమైన ఫెయిల్ఓవర్: ఈ సందర్భంలో, మేము సాధారణ నిర్వహణ కోసం ఫెయిల్ఓవర్ను మాన్యువల్గా ప్రారంభిస్తాము.
ఆటోమేటిక్ ఫెయిల్ఓవర్: ఈ సందర్భంలో, నేమ్నోడ్ వైఫల్యం (ప్రణాళిక లేని సంఘటన) విషయంలో ఫెయిల్ఓవర్ స్వయంచాలకంగా ప్రారంభించబడుతుంది.
అపాచీ జూకీపర్ అనేది HDFS హై అవైలాబిలిటీ క్లస్టర్లో ఆటోమేటిక్ ఫెయిల్ఓవర్ సామర్థ్యాన్ని అందించే సేవ. ఇది చిన్న మొత్తంలో సమన్వయ డేటాను నిర్వహిస్తుంది, ఆ డేటాలోని మార్పులను ఖాతాదారులకు తెలియజేస్తుంది మరియు వైఫల్యాల కోసం ఖాతాదారులను పర్యవేక్షిస్తుంది. జూకీపర్ నేమ్నోడ్లతో సెషన్ను నిర్వహిస్తాడు. విఫలమైతే, సెషన్ గడువు ముగుస్తుంది మరియు ఫెయిల్ఓవర్ ప్రాసెస్ను ప్రారంభించడానికి జూకీపర్ ఇతర నేమ్నోడ్లకు తెలియజేస్తుంది. నేమ్నోడ్ వైఫల్యం విషయంలో, ఇతర నిష్క్రియాత్మక నేమ్నోడ్ తదుపరి యాక్టివ్ నేమ్నోడ్ కావాలని కోరుతూ జూకీపర్లో లాక్ తీసుకోవచ్చు.
జూకీర్ఫైల్ఓవర్ కంట్రోలర్ (ZKFC) అనేది జూకీపర్ క్లయింట్, ఇది నేమ్నోడ్ స్థితిని కూడా పర్యవేక్షిస్తుంది మరియు నిర్వహిస్తుంది. ప్రతి నేమ్నోడ్ ఒక ZKFC ని కూడా నడుపుతుంది. క్రమానుగతంగా నేమ్నోడ్ల ఆరోగ్యాన్ని పర్యవేక్షించాల్సిన బాధ్యత ZKFC కి ఉంది.
హడూప్ క్లస్టర్లో హై ఎవైలబిలిటీ అంటే ఏమిటో ఇప్పుడు మీరు అర్థం చేసుకున్నారు, దీన్ని సెటప్ చేయడానికి సమయం ఆసన్నమైంది. హడూప్ క్లస్టర్లో హై ఎవైలబిలిటీని సెటప్ చేయడానికి మీరు అన్ని నోడ్లలో జూకీపర్ను ఉపయోగించాలి.
యాక్టివ్ నేమ్నోడ్లోని డెమోన్లు:
- జూకీపర్
- జూకీపర్ ఫెయిల్ ఓవర్ కంట్రోలర్
- జర్నల్నోడ్
- నేమ్నోడ్
స్టాండ్బై నేమ్నోడ్లోని డెమోన్లు:
- జూకీపర్
- జూకీపర్ ఫెయిల్ ఓవర్ కంట్రోలర్
- జర్నల్నోడ్
- నేమ్నోడ్
డేటానోడ్లోని డెమోన్లు:
- జూకీపర్
- జర్నల్నోడ్
- డేటానోడ్
మీరు హెచ్డిఎఫ్ఎస్ మరియు హడూప్లను నేర్చుకోవాలనుకుంటే, ఎడురేకా ప్రత్యేకంగా క్యూరేటెడ్ బిగ్ డేటా మరియు హడూప్ కోర్సును చూడండి. ప్రారంభించడానికి క్రింది బటన్ పై క్లిక్ చేయండి.
హడూప్లో హై ఎవైలబిలిటీ క్లస్టర్ను ఏర్పాటు చేయడం మరియు కాన్ఫిగర్ చేయడం:
మీరు మొదట ప్రతి నోడ్ యొక్క జావా మరియు హోస్ట్ పేర్లను సెటప్ చేయాలి.
వర్చువల్ మెషిన్ | IP చిరునామా | హోస్ట్ పేరు |
యాక్టివ్ నేమ్నోడ్ | 192.168.1.81 | nn1.cluster.com లేదా nn1 |
స్టాండ్బై నేమ్నోడ్ | 192.168.1.58 | nn2.cluster.com లేదా nn2 |
డేటానోడ్ | 192.168.1.82 | dn1.cluster.com లేదా dn1 |
హడూప్ మరియు జూకీపర్ బైనరీ తారు ఫైల్ను డౌన్లోడ్ చేయండి, కాన్ఫిగరేషన్ ఫైల్లను సవరించడానికి ఫైల్లను సేకరించండి.
ఆదేశం: wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
జూకీపర్ -3.4.6.tar.gz ని విస్తరించండి
ఆదేశం : tar –xvf జూకీపర్ -3.4.6.tar.gz
అపాచీ హడూప్ సైట్ నుండి స్థిరమైన హడూప్ బైనరీ తారును డౌన్లోడ్ చేయండి.
ఆదేశం : wget https://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz
హడూప్ తారు బంతిని తీయండి.
ఆదేశం : tar –xvf hadoop-2.6.0.tar.gz
హడూప్ బైనరీని విస్తరించండి.
.Bashrc ఫైల్కు హడూప్, జూకీపర్ మరియు మార్గాలను జోడించండి.
.Bashrc ఫైల్ను తెరవండి.
ఆదేశం : sudo gedit ~ / .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 / హడూప్ ఎగుమతి YARN_CONF_DIR = $ HADOOP_HOME / etc / హడూప్ ఎగుమతి JAVA_HOME = ఎగుమతి ZOOKEEPER_HOME = ఎగుమతి PATH = $ PATH: $ JAVA_HOME / bin: $ HADOOP_HOME / bin: $ HADOOP_HOME / sbin: $ ZOOKEEPER_HOME / bin
.Bashrc ఫైల్ను సవరించండి.
అన్ని నోడ్లో SSH ని ప్రారంభించండి.
అన్ని నోడ్లలో SSH కీని సృష్టించండి.
ఆదేశం : ssh-keygen –t rsa (అన్ని నోడ్స్లో ఈ దశ)
అన్ని నోడ్లలో SSH కీని సెటప్ చేయండి.
కీని సేవ్ చేయడానికి ఎంటర్ ఫైల్కు ఏ మార్గాన్ని ఇవ్వవద్దు మరియు పాస్ఫ్రేజ్ని ఇవ్వవద్దు. ఎంటర్ బటన్ నొక్కండి.
అన్ని నోడ్లలో ssh కీ ప్రాసెస్ను రూపొందించండి.
Ssh కీ ఉత్పత్తి అయిన తర్వాత, మీరు పబ్లిక్ కీ మరియు ప్రైవేట్ కీని పొందుతారు.
.Sh కీ డైరెక్టరీలో అనుమతి 700 ఉండాలి మరియు .ssh డైరెక్టరీలోని అన్ని కీలు అనుమతులు 600 కలిగి ఉండాలి.
SSH డైరెక్టరీ అనుమతిని మార్చండి.
డైరెక్టరీని .ssh కు మార్చండి మరియు ఫైళ్ళ అనుమతి 600 కు మార్చండి
పబ్లిక్ మరియు ప్రైవేట్ కీ అనుమతి మార్చండి.
మీరు అన్ని నోడ్లకు నేమ్ నోడ్స్ ssh పబ్లిక్ కీని కాపీ చేయాలి.
యాక్టివ్ నేమ్నోడ్లో, పిల్లి ఆదేశాన్ని ఉపయోగించి id_rsa.pub ని కాపీ చేయండి.
ఆదేశం : cat ~ / .ssh / id_rsa.pub >> ~ / .ssh / author_keys
పేరున్న ssh కీని దాని అధీకృత కీలకు కాపీ చేయండి.
ఉపయోగించి అన్ని నోడ్లకు నేమ్నోడ్ పబ్లిక్ కీని కాపీ చేయండి ssh-copy-id ఆదేశం.
ఆదేశం : ssh-copy-id –i .ssh / id_rsa.pub edureka@nn2.cluster.com
ప్రయోజన కీని స్టాండ్బై నేమ్నోడ్కు కాపీ చేయండి.
డేటా నోడ్కు నేమ్నోడ్ పబ్లిక్ కీని కాపీ చేయండి.
ఆదేశం : ssh-copy-id –i .ssh / id_rsa.pub edureka@dn1.cluster.com
డేటా నోడ్కు నేమ్నోడ్ పబ్లిక్ కీని కాపీ చేయండి.
అన్ని నోడ్లలో sshd సేవను పున art ప్రారంభించండి.
ఆదేశం : sudo service sshd పున art ప్రారంభించు (అన్ని నోడ్లలో చేయండి)
SSH సేవను పున art ప్రారంభించండి.
ఇప్పుడు మీరు ప్రామాణీకరణ లేకుండా నేమ్నోడ్ నుండి ఏదైనా నోడ్కు లాగిన్ అవ్వవచ్చు.
యాక్టివ్ నేమ్ నోడ్ నుండి కోర్-సైట్.ఎక్స్ఎమ్ ఫైల్ను తెరిచి, క్రింది లక్షణాలను జోడించండి.
సక్రియ నేమెనోడ్ నుండి core-site.xml ని సవరించండి
యాక్టివ్ నేమ్నోడ్లో hdfs-site.xml ఫైల్ను తెరవండి. దిగువ లక్షణాలను జోడించండి.
dfs.namenode.name.dir / home / edureka / HA / data / namenode dfs.replication 1 dfs.permissions తప్పుడు dfs.nameservices ha-cluster dfs.ha.namenodes.ha-cluster nn1, nn2 dfs.namenode.rpc- చిరునామా .ha-cluster.nn1 nn1.cluster.com:9000 dfs.namenode.rpc-address.ha-cluster.nn2 nn2.cluster.com:9000 dfs.namenode.http-address.ha-cluster.nn1 nn1.cluster. com: 50070 dfs.namenode.http-address.ha-cluster.nn2 nn2.cluster.com:50070 dfs.namenode.shared.edits.dir qjournal: //nn1.cluster.com: 8485nn2.cluster.com: 8485dn1. క్లస్టర్.కామ్ .quorum nn1.cluster.com:2181,nn2.cluster.com:2181,dn1.cluster.com:2181 dfs.ha.fening.methods sshfence dfs.ha.fening.ssh.private-key-files / home / edureka /.ssh/id_rsa
డైరెక్టరీని జూకీపర్ యొక్క కాన్ డైరెక్టరీకి మార్చండి.
ఆదేశం : సిడి జూకీపర్ -3.4.6 / కాన్
జూకీపర్ కాన్ డైరెక్టరీ.
మీకు zoo_sample.cfg ఫైల్ ఉన్న conf డైరెక్టరీలో, zoo_sample.cfg ఫైల్ ఉపయోగించి zoo.cfg ని సృష్టించండి.
ఆదేశం : cp zoo_sample.cfg zoo.cfg
Zoo.cfg ఫైల్ను సృష్టించండి.
ఏ ప్రదేశంలోనైనా డైరెక్టరీని సృష్టించండి మరియు జూకీపర్ డేటాను నిల్వ చేయడానికి ఈ డైరెక్టరీని ఉపయోగించండి.
ఆదేశం : mkdir
జూకీపర్ డేటాను నిల్వ చేయడానికి డైరెక్టరీని సృష్టించండి.
Zoo.cfg ఫైల్ను తెరవండి.
ఆదేశం : gedit zoo.cfg
డేటాడిర్ ప్రాపర్టీకి పై దశలో సృష్టించబడిన డైరెక్టరీ మార్గాన్ని జోడించి, మిగిలిన నోడ్కు సంబంధించిన వివరాలను జూ.సి.ఎఫ్.జి ఫైల్లో జోడించండి.
సర్వర్ 1 = nn1.cluster.com: 2888: 3888
సర్వర్ 2 = nn2.cluster.com: 2888: 3888
సర్వర్ 3 = dn1.cluster.com: 2888: 3888
Zoo.cfg ఫైల్ను సవరించండి.
ఇప్పుడు జావా మరియు హడూప్ -2.6.0, జూకీపర్ -3.4.6 డైరెక్టరీలు మరియు .bashrc ఫైల్ను scp కమాండ్ ఉపయోగించి అన్ని నోడ్లకు (స్టాండ్బై నేమ్ నోడ్, డేటా నోడ్) కాపీ చేయండి.
ఆదేశం : scp –r edureka @:
హడూప్, జూకీపర్ మరియు .bashrc ఫైల్ను అన్ని నోడ్లకు కాపీ చేయండి.
అదేవిధంగా, .bashrc ఫైల్ మరియు జూకీపర్ డైరెక్టరీని అన్ని నోడ్లకు కాపీ చేసి, ప్రతి నోడ్ ప్రకారం ఎన్విరాన్మెంట్ వేరియబుల్స్ ను సంబంధిత నోడ్ ప్రకారం మార్చండి.
డేటా నోడ్లో, మీరు HDFS బ్లాక్లను నిల్వ చేయాల్సిన చోట ఏదైనా డైరెక్టరీని సృష్టించండి.
system.exit (1) జావా
డేటా నోడ్లో, మీరు dfs.datanode.data.dir లక్షణాలను జోడించాలి.
నా విషయంలో, నేను సృష్టించాను డేటానోడ్ బ్లాకులను నిల్వ చేయడానికి డైరెక్టరీ.
డేటానోడ్ డైరెక్టరీని సృష్టించండి.
డేటా నోడ్ డైరెక్టరీకి అనుమతిని మార్చండి.
డేటానోడ్ డైరెక్టరీ అనుమతి మార్చండి.
HDFS-site.xml ఫైల్ను తెరవండి, dfs.datanode.data.dir ప్రాపర్టీలో ఈ డేటానోడ్ డైరెక్టరీ మార్గాన్ని జోడించండి.
గమనిక: యాక్టివ్ నేమ్నోడ్ నుండి కాపీ చేయబడిన అన్ని లక్షణాలను dfs.datanode.data.dir ను ఒక సారం ఆస్తిని నేమ్నోడ్లో ఉంచండి.
dfs.datanode.data.dir / home / edureka / HA / data / datanode
యాక్టివ్ నేమ్నోడ్లో, మీరు జూకీపర్ కాన్ఫిగరేషన్ ఫైల్ (డేటాడిర్ ప్రాపర్టీ పాత్) ను నిల్వ చేయదలిచిన డైరెక్టరీని మార్చండి.
డైరెక్టరీ లోపల మైడ్ ఫైల్ను సృష్టించండి మరియు ఫైలుకు సంఖ్యా 1 ని జోడించి ఫైల్ను సేవ్ చేయండి.
ఆదేశం : vi myid
మైడ్ ఫైల్ను సృష్టించండి.
స్టాండ్బై నేమ్నోడ్లో మీరు జూకీపర్ కాన్ఫిగరేషన్ ఫైల్ (డేటాడిర్ ప్రాపర్టీ పాత్) ను నిల్వ చేయదలిచిన డైరెక్టరీని మార్చండి.
డైరెక్టరీ లోపల మైడ్ ఫైల్ను సృష్టించండి మరియు ఫైలుకు సంఖ్యా 2 ని జోడించి ఫైల్ను సేవ్ చేయండి.
డేటా నోడ్లో, మీరు జూకీపర్ కాన్ఫిగరేషన్ ఫైల్ (డేటాడిర్ ప్రాపర్టీ పాత్) ను నిల్వ చేయదలిచిన డైరెక్టరీని మార్చండి.
డైరెక్టరీ లోపల మైడ్ ఫైల్ను సృష్టించి, ఫైల్కు సంఖ్యా 3 ని జోడించి ఫైల్ను సేవ్ చేయండి.
మూడు నోడ్లలో జర్నల్నోడ్ ప్రారంభించండి.
ఆదేశం : hadoop-daemon.sh స్టార్ట్ జర్నల్నోడ్
జర్నల్నోడ్ ప్రారంభించండి.
మీరు jps ఆదేశాన్ని నమోదు చేసినప్పుడు, మీరు అన్ని నోడ్లలో జర్నల్నోడ్ డెమోన్ను చూస్తారు.
ఫార్మాట్ చేయండిక్రియాశీల ప్రయోజనం.
ఆదేశం : HDFS ఉద్దేశించిన-ఫార్మాట్
సక్రియ నేమ్నోడ్ ఆకృతి.
నేమ్నోడ్ డెమోన్ మరియు యాక్టివ్ నేమెడోడ్ ప్రారంభించండి.
ఆదేశం : hadoop-daemon.sh ప్రారంభ ప్రయోజనం
నేమ్నోడ్ ప్రారంభించండి.
HDFS మెటా డేటాను యాక్టివ్ నేమ్ నోడ్ నుండి స్టాండ్బై నేమ్నోడ్కు కాపీ చేయండి.
ఆదేశం : HDFS ఉద్దేశించిన -బూట్స్ట్రాప్స్టాండ్బై
HDFS మెటా డేటాను యాక్టివ్ నేమ్ నోడ్ నుండి స్టాండ్బై నేమ్నోడ్కు కాపీ చేయండి.
మీరు ఈ ఆదేశాన్ని అమలు చేసిన తర్వాత, మెటా డేటా ఏ నోడ్ మరియు స్థానం నుండి కాపీ చేయబడుతుందో మరియు అది విజయవంతంగా కాపీ అవుతుందో లేదో మీకు సమాచారం వస్తుంది.
క్రియాశీల ప్రయోజన వివరాల సమాచారం.
సక్రియాత్మక నేమ్నోడ్ నుండి స్టాండ్బై నేమ్నోడ్కు మెటా డేటా కాపీ చేయబడిన తర్వాత, స్క్రీన్షాట్లో క్రింద చూపిన సందేశాన్ని మీరు పొందుతారు.
స్టాండ్బై నేమ్నోడ్లో HDFS కి సంబంధించిన సమాచారం.
స్టాండ్బై నేమ్నోడ్ మెషీన్లో నేమ్నోడ్ డీమన్ ప్రారంభించండి.
ఆదేశం : hadoop-daemon.sh ప్రారంభ ప్రయోజనం
ఇప్పుడు మూడు నోడ్లలో జూకీపర్ సేవను ప్రారంభించండి.
ఆదేశం : zkServer.sh ప్రారంభం (అన్ని నోడ్లలో ఈ ఆదేశాన్ని అమలు చేయండి)
క్రియాశీల ప్రయోజనంలో:
యాక్టివ్ నేమ్నోడ్లో జూకీపర్ను ప్రారంభించండి.
స్టాండ్బై నేమ్నోడ్లో:
స్టాండ్బై నేమ్నోడ్లో జూకీపర్ను ప్రారంభించండి.
డేటా నోడ్లో:
డేటానోడ్లో జూకీపర్ను ప్రారంభించండి.
జూకీపర్ సర్వర్ను అమలు చేసిన తర్వాత, JPS ఆదేశాన్ని నమోదు చేయండి. అన్ని నోడ్లలో మీరు QuorumPeerMain సేవను చూస్తారు.
డేటా నోడ్ మెషీన్లో డేటా నోడ్ డీమన్ ప్రారంభించండి.
ఆదేశం : hadoop-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
ప్రతి నేమ్నోడ్ యొక్క స్థితిని తనిఖీ చేయండి.
ఇప్పుడు వెబ్ బ్రౌజర్ ఉపయోగించి ప్రతి నేమ్నోడ్ యొక్క స్థితిని తనిఖీ చేయండి.
వెబ్ బ్రౌజర్ను తెరిచి, క్రింది URL ని నమోదు చేయండి.
: 50070
ఇది పేరు నోడ్ సక్రియంగా ఉందా లేదా స్టాండ్బైలో ఉందో చూపిస్తుంది.
యాక్టివ్ నేమ్నోడ్.
వెబ్ బ్రౌజర్ను ఉపయోగించి మరొక పేరు నోడ్ వివరాలను తెరవండి.
స్టాండ్బై నేమ్నోడ్.
యాక్టివ్ నేమ్నోడ్లో, స్టాండ్బై నేమ్ నోడ్ను యాక్టివ్ నేమ్నోడ్గా మార్చడానికి నేమ్నోడ్ డీమన్ను చంపండి.
యాక్టివ్ నేమ్నోడ్లో jps ఎంటర్ చేసి డెమోన్ను చంపండి.
ఆదేశం: sudo kill -9
డెమోన్స్ ప్రాసెస్ ID.
నేమ్నోడ్ ప్రాసెస్ ID 7606, నేమ్నోడ్ను చంపండి.
ఆదేశం : సుడో కిల్ -9 7606
నేమ్ నోడ్ ప్రాసెస్ను చంపండి
వెబ్ బ్రౌజర్ ద్వారా రెండు నోడ్లను తెరిచి స్థితిని తనిఖీ చేయండి.
నేమ్నోడ్ వివరాలు.
నేమ్నోడ్ స్థితి.
అభినందనలు, మీరు హడూప్లో HDFS హై ఎవైలబిలిటీ క్లస్టర్ను విజయవంతంగా సెటప్ చేసారు.
ఇప్పుడు మీరు హడూప్ హై ఎవైలబిలిటీ క్లస్టర్ ఆర్కిటెక్చర్ను అర్థం చేసుకున్నారు, చూడండి ప్రపంచవ్యాప్తంగా 250,000 కంటే ఎక్కువ సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. రిటైల్, సోషల్ మీడియా, ఏవియేషన్, టూరిజం, ఫైనాన్స్ డొమైన్లో రియల్ టైమ్ యూజ్ కేసులను ఉపయోగించి హెచ్డిఎఫ్ఎస్, నూలు, మ్యాప్రెడ్యూస్, పిగ్, హైవ్, హెచ్బేస్, ఓజీ, ఫ్లూమ్ మరియు స్కూప్లో నిపుణులు కావడానికి ఎడురేకా బిగ్ డేటా హడూప్ సర్టిఫికేషన్ ట్రైనింగ్ కోర్సు సహాయపడుతుంది.
మాకు ప్రశ్న ఉందా? దయచేసి దీన్ని వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము మిమ్మల్ని సంప్రదిస్తాము.
window._LQ_ = window._LQ_ || {}
lqQuizModal (విండో, పత్రం, {క్విజ్ఇడ్: ’XAIVp8 base, baseUrl:’ https: //quiz.leadquizzes.com/’,trigger: ’exit’}, _LQ_)