Πώς να ρυθμίσετε το Hadoop Cluster με υψηλή διαθεσιμότητα HDFS



Αυτό το ιστολόγιο παρέχει μια επισκόπηση της αρχιτεκτονικής υψηλής διαθεσιμότητας HDFS και πώς να ρυθμίσετε και να διαμορφώσετε ένα σύμπλεγμα υψηλής διαθεσιμότητας HDFS με απλά βήματα.

HDFS 2.x Αρχιτεκτονική συμπλέγματος υψηλής διαθεσιμότητας

Σε αυτό το blog, πρόκειται να μιλήσω για το HDFS 2.x High Availability Cluster Architecture και τη διαδικασία για τη δημιουργία ενός συμπλέγματος HDFS High Availability.Αυτό είναι ένα σημαντικό μέρος του . Η σειρά με την οποία καλύπτονται τα θέματα σε αυτό το ιστολόγιο έχει ως εξής:

  • Αρχιτεκτονική HDFS HA
    • Εισαγωγή
    • ΌνομαΔιαθεσιμότητα Διαθεσιμότητα
    • Αρχιτεκτονική του HA
    • Υλοποίηση HA (JournalNode και Shared storage)
  • Πώς να ρυθμίσετε το HA (Κόμβος Εφημερίδας Απαρτίας) σε ένα σύμπλεγμα Hadoop;

Εισαγωγή:

Η ιδέα του συμπλέγματος υψηλής διαθεσιμότητας παρουσιάστηκε στο Hadoop 2.x για την επίλυση του προβλήματος αποτυχίας στο Hadoop 1.x. Όπως γνωρίζετε από το προηγούμενο blog μου ότι το ακολουθεί την τοπολογία Master / Slave όπου το NameNode ενεργεί ως κύριος δαίμονας και είναι υπεύθυνος για τη διαχείριση άλλων υποτελών κόμβων που ονομάζονται DataNodes. Αυτό το μοναδικό Master Daemon ή NameNode γίνεται εμπόδιο. Παρόλο που, η εισαγωγή του Secondary NameNode μας εμπόδισε από την απώλεια δεδομένων και την εκφόρτωση κάποιου από το φορτίο του NameNode, αλλά δεν έλυσε το ζήτημα διαθεσιμότητας του NameNode.





ΌνομαΔιαθεσιμότητα Διαθεσιμότητα:

Εάν λάβετε υπόψη την τυπική διαμόρφωση του συμπλέγματος HDFS, το NameNode γίνεται a μοναδικό σημείο αποτυχίας . Συμβαίνει επειδή τη στιγμή που το NameNode καθίσταται μη διαθέσιμο, ολόκληρο το σύμπλεγμα καθίσταται μη διαθέσιμο έως ότου κάποιος επανεκκινήσει το NameNode ή φέρνει νέο.

Οι λόγοι για τη μη διαθεσιμότητα του NameNode μπορεί να είναι:



  • Μια προγραμματισμένη εκδήλωση, όπως εργασίες συντήρησης, έχει αναβάθμιση λογισμικού ή υλικού.
  • Μπορεί επίσης να οφείλεται σε ένα μη προγραμματισμένο συμβάν όπου το NameNode διακόπτεται λόγω ορισμένων λόγων.

Σε οποιαδήποτε από τις παραπάνω περιπτώσεις, έχουμε ένα χρόνο διακοπής όπου δεν είμαστε σε θέση να χρησιμοποιήσουμε το σύμπλεγμα HDFS που καθίσταται πρόκληση.

Αρχιτεκτονική HDFS HA:

Ας καταλάβουμε ότι πώς η HDFS HA ​​Architecture έλυσε αυτό το κρίσιμο πρόβλημα της διαθεσιμότητας NameNode:

Η αρχιτεκτονική HA έλυσε αυτό το πρόβλημα της διαθεσιμότητας NameNode επιτρέποντάς μας να έχουμε δύο NameNodes σε μια ενεργή / παθητική διαμόρφωση. Λοιπόν, έχουμε δύο τρέχοντα NameNodes ταυτόχρονα σε ένα σύμπλεγμα Υψηλής Διαθεσιμότητας:



  • Ενεργός ΌνομαNode
  • Αναμονή / Παθητικό ΌνομαΚωδικός.

HDFS HA ​​Architecture - Σύμπλεγμα υψηλής διαθεσιμότητας - Edureka

Εάν ένα NameNode πέσει κάτω, το άλλο NameNode μπορεί να αναλάβει την ευθύνη και, ως εκ τούτου, να μειώσει το χρόνο λειτουργίας του συμπλέγματος. Το εφεδρικό NameNode εξυπηρετεί το σκοπό ενός εφεδρικού NameNode (σε αντίθεση με το Secondary NameNode) που ενσωματώνει δυνατότητες ανακατεύθυνσης στο σύμπλεγμα Hadoop. Επομένως, με το StandbyNode, μπορούμε να έχουμε αυτόματη ανακατεύθυνση κάθε φορά που διακόπτεται ένα NameNode (μη προγραμματισμένο συμβάν) ή μπορούμε να έχουμε μια χαριτωμένη (χειροκίνητη) ανακατεύθυνση κατά τη διάρκεια της περιόδου συντήρησης.

Υπάρχουν δύο ζητήματα στη διατήρηση της συνοχής στο σύμπλεγμα υψηλής διαθεσιμότητας HDFS:

  • Το ενεργό και το Standby NameNode πρέπει να είναι πάντα συγχρονισμένα μεταξύ τους, δηλαδή θα πρέπει να έχουν τα ίδια μεταδεδομένα. Αυτό θα μας επιτρέψει να επαναφέρουμε το σύμπλεγμα Hadoop στην ίδια κατάσταση χώρου ονομάτων όπου είχε καταρρεύσει και, ως εκ τούτου, θα μας προσφέρει γρήγορη ανακατεύθυνση.
  • Θα πρέπει να υπάρχει μόνο ένα ενεργό NameNode κάθε φορά, επειδή δύο ενεργά NameNode θα οδηγήσουν σε καταστροφή των δεδομένων. Αυτό το είδος σεναρίου ονομάζεται σενάριο split-brain όπου ένα σύμπλεγμα χωρίζεται σε μικρότερο σύμπλεγμα, το καθένα πιστεύει ότι είναι το μόνο ενεργό σύμπλεγμα. Για την αποφυγή τέτοιων σεναρίων γίνεται περίφραξη. Η περίφραξη είναι μια διαδικασία διασφάλισης ότι μόνο ένα NameNode παραμένει ενεργό σε μια συγκεκριμένη στιγμή.

Υλοποίηση της αρχιτεκτονικής HA:

Τώρα, γνωρίζετε ότι στην HDFS HA ​​Architecture, έχουμε δύο NameNodes που λειτουργούν ταυτόχρονα. Έτσι, μπορούμε να εφαρμόσουμε τη διαμόρφωση ActiveNand Standby NameNode με δύο ακόλουθους τρόπους:

  1. Χρήση κόμβων περιοδικού απαρτίας
  2. Κοινόχρηστος χώρος αποθήκευσης χρησιμοποιώντας NFS

Ας καταλάβουμε αυτούς τους δύο τρόπους εφαρμογής λαμβάνοντας έναν κάθε φορά:

1. Χρήση κόμβων περιοδικού απαρτίας:

  • Η κατάσταση αναμονής NameNode και το ενεργό NameNode διατηρούνται συγχρονισμένα μεταξύ τους μέσω μιας ξεχωριστής ομάδας κόμβων ή δαιμόνων JournalNodes .Το JournalNodes ακολουθεί την τοπολογία του δακτυλίου όπου οι κόμβοι συνδέονται μεταξύ τους για να σχηματίσουν έναν δακτύλιο.Το JournalNode εξυπηρετεί το αίτημα που έρχεται σε αυτό και αντιγράφει τις πληροφορίες σε άλλους κόμβους του δακτυλίου.Αυτό παρέχει ανοχή σφαλμάτων σε περίπτωση αποτυχίας του JournalNode.
  • Το ενεργό NameNode είναι υπεύθυνο για την ενημέρωση των EditLogs (πληροφορίες μεταδεδομένων) που υπάρχουν στα JournalNodes.
  • Το StandbyNode διαβάζει τις αλλαγές που έγιναν στο EditLogs στο JournalNode και το εφαρμόζει στον δικό του χώρο ονομάτων με συνεχή τρόπο.
  • Κατά τη διάρκεια της ανακατεύθυνσης, το StandbyNode διασφαλίζει ότι έχει ενημερώσει τις μεταδεδομένες πληροφορίες του από το JournalNodes πριν γίνει το νέο Active NameNode. Αυτό καθιστά την τρέχουσα κατάσταση χώρου ονομάτων συγχρονισμένη με την κατάσταση πριν από την ανακατεύθυνση.
  • Οι διευθύνσεις IP και των δύο NameNodes είναι διαθέσιμες σε όλους τους DataNodes και στέλνουν τους καρδιακούς παλμούς τους και μπλοκάρουν τις πληροφορίες τοποθεσίας και στους δύο NameNode. Αυτό παρέχει ένα γρήγορο failover (λιγότερο χρόνο λήξης) καθώς το StandbyNode έχει ενημερωμένες πληροφορίες σχετικά με τη θέση του μπλοκ στο σύμπλεγμα.

Περίφραξη ΌνομαΚωδικός:

Τώρα, όπως συζητήθηκε νωρίτερα, είναι πολύ σημαντικό να διασφαλιστεί ότι υπάρχει μόνο ένα Active NameNode κάθε φορά. Έτσι, η περίφραξη είναι μια διαδικασία για να διασφαλιστεί αυτή η ιδιότητα σε ένα σύμπλεγμα.

  • Το JournalNodes εκτελεί αυτήν την περίφραξη επιτρέποντας σε έναν μόνο NameNode να είναι ο συγγραφέας κάθε φορά.
  • Το Standby NameNode αναλαμβάνει την ευθύνη της γραφής στο JournalNodes και απαγορεύει σε οποιοδήποτε άλλο NameNode να παραμείνει ενεργό.
  • Τέλος, το νέο Active NameNode μπορεί να εκτελέσει τις δραστηριότητές του με ασφάλεια.

2. Χρήση κοινόχρηστου χώρου αποθήκευσης:

  • Το StandbyNode και το ενεργό NameNode διατηρούνται συγχρονισμένα μεταξύ τους χρησιμοποιώντας ένα κοινόχρηστη συσκευή αποθήκευσης .Το ενεργό NameNode καταγράφει την εγγραφή οποιασδήποτε τροποποίησης που πραγματοποιήθηκε στο χώρο ονομάτων της σε ένα EditLog που υπάρχει σε αυτόν τον κοινόχρηστο χώρο αποθήκευσης.Το StandbyNode διαβάζει τις αλλαγές που έγιναν στο EditLogs σε αυτόν τον κοινόχρηστο χώρο αποθήκευσης και το εφαρμόζει στον δικό του χώρο ονομάτων.
  • Τώρα, σε περίπτωση ανακατεύθυνσης, το StandbyNode ενημερώνει τις πληροφορίες μεταδεδομένων του χρησιμοποιώντας το EditLogs στον κοινόχρηστο χώρο αποθήκευσης στην αρχή. Στη συνέχεια, αναλαμβάνει την ευθύνη του Active NameNode. Αυτό καθιστά την τρέχουσα κατάσταση χώρου ονομάτων συγχρονισμένη με την κατάσταση πριν από την ανακατεύθυνση.
  • Ο διαχειριστής πρέπει να διαμορφώσει τουλάχιστον μία μέθοδο περίφραξης για να αποφύγει ένα σενάριο split-brain.
  • Το σύστημα μπορεί να χρησιμοποιεί μια σειρά μηχανισμών περίφραξης. Μπορεί να περιλαμβάνει τη δολοφονία της διαδικασίας του NameNode και την ανάκληση της πρόσβασης στον κοινόχρηστο κατάλογο αποθήκευσης.
  • Ως έσχατη λύση, μπορούμε να φράξουμε το προηγούμενο ενεργό NameNode με μια τεχνική γνωστή ως STONITH ή «πυροβολήστε τον άλλο κόμβο στο κεφάλι». Η STONITH χρησιμοποιεί μια εξειδικευμένη μονάδα διανομής ισχύος για να απενεργοποιήσει τη μηχανή NameNode.

Αυτόματη ανακατεύθυνση:

Το Failover είναι μια διαδικασία με την οποία ένα σύστημα μεταφέρει αυτόματα τον έλεγχο σε δευτερεύον σύστημα όταν εντοπίζει σφάλμα ή αστοχία. Υπάρχουν δύο τύποι ανακατεύθυνσης:

Χαριτωμένη αποτυχία: Σε αυτήν την περίπτωση, ξεκινάμε με μη αυτόματο τρόπο το failover για συντήρηση ρουτίνας.

Αυτόματη ανακατεύθυνση: Σε αυτήν την περίπτωση, το failover ξεκινά αυτόματα σε περίπτωση αποτυχίας NameNode (μη προγραμματισμένο συμβάν).

Το Apache Zookeeper είναι μια υπηρεσία που παρέχει τη δυνατότητα αυτόματης ανακατεύθυνσης στο σύμπλεγμα HDFS High Availabilty. Διατηρεί μικρές ποσότητες δεδομένων συντονισμού, ενημερώνει τους πελάτες για αλλαγές σε αυτά τα δεδομένα και παρακολουθεί τους πελάτες για αποτυχίες. Ο Zookeeper διατηρεί μια συνεδρία με τους NameNodes. Σε περίπτωση αποτυχίας, η περίοδος λειτουργίας θα λήξει και ο Zookeeper θα ενημερώσει άλλους NameNodes για να ξεκινήσει η διαδικασία ανακατεύθυνσης. Σε περίπτωση αποτυχίας του NameNode, άλλο παθητικό NameNode μπορεί να πάρει ένα κλείδωμα στο Zookeeper δηλώνοντας ότι θέλει να γίνει το επόμενο Active NameNode.

Το ZookeerFailoverController (ZKFC) είναι ένα πρόγραμμα-πελάτης Zookeeper που παρακολουθεί και διαχειρίζεται την κατάσταση NameNode. Κάθε όνομαNode τρέχει επίσης ένα ZKFC. Το ZKFC είναι υπεύθυνο για την παρακολούθηση της υγείας των NameNodes περιοδικά.

Τώρα που έχετε καταλάβει τι είναι η υψηλή διαθεσιμότητα σε ένα σύμπλεγμα Hadoop, ήρθε η ώρα να το ρυθμίσετε. Για να ρυθμίσετε την υψηλή διαθεσιμότητα στο σύμπλεγμα Hadoop πρέπει να χρησιμοποιήσετε το Zookeeper σε όλους τους κόμβους.

Οι δαίμονες στο Active NameNode είναι:

  • Zookeeper
  • Ελεγκτής αποτυχίας Zookeeper
  • JournalNode
  • ΌνομαΚωδικός

Οι δαίμονες στο Standby NameNode είναι:

  • Zookeeper
  • Ελεγκτής αποτυχίας Zookeeper
  • JournalNode
  • ΌνομαΚωδικός

Οι δαίμονες στο DataNode είναι:

  • Zookeeper
  • JournalNode
  • DataNode

Αν θέλετε να μάθετε HDFS και Hadoop, δείτε το ειδικά επιμελημένο μάθημα Big Data and Hadoop από την Edureka. Κάντε κλικ στο παρακάτω κουμπί για να ξεκινήσετε.

Ρύθμιση και διαμόρφωση συμπλέγματος υψηλής διαθεσιμότητας στο Hadoop:

Πρέπει πρώτα να ρυθμίσετε τα ονόματα Java και κεντρικού υπολογιστή κάθε κόμβου.

Εικονική μηχανή διεύθυνση IP Όνομα κεντρικού υπολογιστή
Ενεργός ΌνομαNode192.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

Πραγματοποιήστε λήψη του σταθερού δυαδικού πίσσα Hadoop από τον ιστότοπο Apache 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.

Προσθέστε τα Hadoop, Zookeeper και διαδρομές στο αρχείο .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 / Hadoop εξαγωγή YARN_CONF_DIR = $ HADOOP_HOME / etc / Hadoop εξαγωγή JAVA_HOME = εξαγωγή ZOOKEEPER_HOME = export PATH = $ PATH: $ JAVA_HOME / bin: $ HADOOP_HOME / bin: $ HADOOP_HOME / sbin: $ ZOOKEEPER_HOME / κάδο

Επεξεργασία αρχείου .bashrc.

Ενεργοποιήστε το SSH σε όλους τους κόμβους.

Δημιουργήστε το κλειδί SSH σε όλους τους κόμβους.

Εντολή : ssh-keygen –t rsa (Αυτό το βήμα σε όλους τους κόμβους)

Ρυθμίστε το κλειδί SSH σε όλους τους κόμβους.

Μην δώσετε καμία διαδρομή στο αρχείο Enter για να αποθηκεύσετε το κλειδί και μην δώσετε καμία φράση πρόσβασης. Πατήστε το κουμπί Enter.

Δημιουργήστε τη διαδικασία κλειδιού ssh σε όλους τους κόμβους.

Μόλις δημιουργηθεί το κλειδί ssh, θα λάβετε το δημόσιο κλειδί και το ιδιωτικό κλειδί.

Ο κατάλογος κλειδιών .ssh πρέπει να περιέχει την άδεια 700 και όλα τα κλειδιά στον κατάλογο .ssh πρέπει να περιέχουν τα δικαιώματα 600.

Αλλάξτε την άδεια καταλόγου SSH.

Αλλάξτε τον κατάλογο σε .ssh και αλλάξτε την άδεια των αρχείων σε 600

Αλλαγή άδειας δημόσιου και ιδιωτικού κλειδιού.

Πρέπει να αντιγράψετε το δημόσιο κλειδί Όνομα κόμβων ssh σε όλους τους κόμβους.

Στο Active Namenode, αντιγράψτε το id_rsa.pub χρησιμοποιώντας την εντολή cat.

Εντολή : cat ~ / .ssh / id_rsa.pub >> ~ / .ssh / Author_keys

Αντιγράψτε το κλειδί Namenode ssh στα εξουσιοδοτημένα κλειδιά του.

Αντιγράψτε το δημόσιο κλειδί NameNode σε όλους τους κόμβους που χρησιμοποιούν ssh-copy-id εντολή.

Εντολή : ssh-copy-id –i .ssh / id_rsa.pub edureka@nn2.cluster.com

Αντιγράψτε το κλειδί σκοπού στο Standby NameNode.

Αντιγράψτε το δημόσιο κλειδί NameNode στον κόμβο δεδομένων.

Εντολή : ssh-copy-id –i .ssh / id_rsa.pub edureka@dn1.cluster.com

Αντιγραφή δημόσιου κλειδιού ονόματος στον κόμβο δεδομένων.

Επανεκκινήστε την υπηρεσία sshd σε όλους τους κόμβους.

Εντολή : sudo service sshd επανεκκίνηση (Κάντε σε όλους τους κόμβους)

Επανεκκινήστε την υπηρεσία SSH.

Τώρα μπορείτε να συνδεθείτε σε οποιονδήποτε κόμβο από το Namenode χωρίς έλεγχο ταυτότητας.

Ανοίξτε το αρχείο core-site.xml από τον κόμβο Active Name και προσθέστε τις παρακάτω ιδιότητες.

Επεξεργασία core-site.xml από το ενεργό όνομα ονόματος

Ανοίξτε το αρχείο hdfs-site.xml στο Active Namenode. Προσθέστε τις παρακάτω Ιδιότητες.

dfs.namenode.name.dir / home / edureka / HA / data / namenode dfs.replication 1 dfs.permissions false dfs.nameservices ha-cluster dfs.ha.namenodes.ha-cluster nn1, nn2 dfs.namenode.rpc-address .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. cluster.com:8485/ha-cluster dfs.client.failover.proxy.provider.ha-cluster org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider dfs.ha.automatic-failover.enabled true ha.zookeeper .quorum nn1.cluster.com ::181,nn2.cluster.com ::181,dn1.cluster.com ::181 dfs.ha.fencing.methods sshfence dfs.ha.fencing.ssh.private-key-files / home / edureka /.ssh/id_rsa

Αλλάξτε τον κατάλογο στον κατάλογο conf του zookeeper.

Εντολή : cd zookeeper-3.4.6 / conf

Κατάλογος Zookeeper Conf.

Σε έναν κατάλογο conf έχετε το αρχείο zoo_sample.cfg, δημιουργήστε το zoo.cfg χρησιμοποιώντας το αρχείο zoo_sample.cfg.

Εντολή : cp zoo_sample.cfg zoo.cfg

Δημιουργία αρχείου zoo.cfg.

Δημιουργήστε τον κατάλογο σε οποιαδήποτε τοποθεσία και χρησιμοποιήστε αυτόν τον κατάλογο για να αποθηκεύσετε τα δεδομένα του zookeeper.

εάν δηλώσεις σε ερωτήματα sql

Εντολή : mkdir

Δημιουργήστε έναν κατάλογο για την αποθήκευση δεδομένων zookeeper.

Ανοίξτε το αρχείο zoo.cfg.

Εντολή : gedit zoo.cfg

Προσθέστε τη διαδρομή καταλόγου που δημιουργήθηκε στο παραπάνω βήμα στην ιδιότητα dataDir και προσθέστε τις παρακάτω λεπτομέρειες σχετικά με τον υπόλοιπο κόμβο, στο αρχείο zoo.cfg.

Διακομιστής.1 = nn1.cluster.com: 2888: 3888

Διακομιστής.2 = nn2.cluster.com: 2888: 3888

Διακομιστής.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 και τον κατάλογο zookeeper σε όλους τους κόμβους και αλλάξτε τις μεταβλητές περιβάλλοντος σε καθένα σύμφωνα με τον αντίστοιχο κόμβο.

Σε έναν κόμβο δεδομένων, δημιουργήστε οποιονδήποτε κατάλογο όπου πρέπει να αποθηκεύσετε τα μπλοκ HDFS.

Σε έναν κόμβο δεδομένων, πρέπει να προσθέσετε τις ιδιότητες dfs.datanode.data.dir.

Στην περίπτωσή μου, δημιούργησα Δατάνοδος κατάλογο για την αποθήκευση των μπλοκ.

Δημιουργία καταλόγου Datanode.

Αλλάξτε την άδεια στον κατάλογο κόμβων δεδομένων.

Αλλαγή άδειας καταλόγου Datanode.

τάξη αποθήκευσης c ++

Ανοίξτε το αρχείο HDFS-site.xml, προσθέστε αυτήν τη διαδρομή καταλόγου Datanode στην ιδιότητα dfs.datanode.data.dir.

Σημείωση: Διατηρήστε όλες τις ιδιότητες που αντιγράφονται από το Active namenode add dfs.datanode.data.dir μία ιδιότητα εξαγωγής στο όνομα.

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

Στο ενεργό όνομα ονόματος, αλλάξτε τον κατάλογο στον οποίο θέλετε να αποθηκεύσετε το αρχείο διαμόρφωσης zookeeper (διαδρομή ιδιοκτησίας dataDir).

Δημιουργήστε το αρχείο myid μέσα στον κατάλογο και προσθέστε το αριθμητικό 1 στο αρχείο και αποθηκεύστε το αρχείο.

Εντολή : vi myid

Δημιουργήστε το αρχείο myid.

Σε κατάσταση αναμονής, αλλάξτε τον κατάλογο στον οποίο θέλετε να αποθηκεύσετε το αρχείο διαμόρφωσης zookeeper (διαδρομή ιδιοκτησίας dataDir).

Δημιουργήστε το αρχείο myid μέσα στον κατάλογο και προσθέστε το αριθμητικό 2 στο αρχείο και αποθηκεύστε το αρχείο.

Σε έναν κόμβο δεδομένων, αλλάξτε τον κατάλογο στον οποίο θέλετε να αποθηκεύσετε το αρχείο διαμόρφωσης zookeeper (διαδρομή ιδιοκτησίας dataDir).

Δημιουργήστε το αρχείο myid μέσα στον κατάλογο και προσθέστε το αριθμητικό 3 στο αρχείο και αποθηκεύστε το αρχείο.

Ξεκινήστε το Journalnode και στους τρεις κόμβους.

Εντολή : hadoop-daemon.sh ξεκινήστε το ημερολόγιο

Ξεκινήστε το Journalnode.

Όταν εισάγετε την εντολή jps, θα δείτε τον δαίμονα JournalNode σε όλους τους κόμβους.

Διαμορφώστε τοΕνεργός σκοπός.

Εντολή : HDFS προοριζόμενη μορφή

Ενεργή μορφή NameNode.

Ξεκινήστε το δαίμονα Namenode και το Active Namedode.

Εντολή : σκοπός έναρξης hadoop-daemon.sh

Ξεκινήστε το Namenode.

Αντιγράψτε τα δεδομένα μετα-HDFS από τον ενεργό κόμβο ονόματος στο όνομα ονομάτων αναμονής.

Εντολή : Το HDFS προορίζεται -bootstrapStandby

Αντιγράψτε τα μεταδεδομένα HDFS από τον κόμβο Active name στο Standby Namenode.

Μόλις εκτελέσετε αυτήν την εντολή, θα λάβετε τις πληροφορίες από τον κόμβο και τη θέση που αντιγράφουν τα μετα-δεδομένα και αν αντιγράφει επιτυχώς ή όχι.

Πληροφορίες για στοιχεία ενεργού σκοπού.

Μόλις τα μεταδεδομένα αντιγραφούν από το ενεργό όνομα σε κατάσταση αναμονής, θα λάβετε το μήνυμα που εμφανίζεται παρακάτω στο στιγμιότυπο οθόνης.

Πληροφορίες σχετικά με το HDFS στο Standby Namenode.

Ξεκινήστε το δαίμονα ονομάτων στο μηχάνημα αναμονής Standby.

Εντολή : σκοπός έναρξης hadoop-daemon.sh

Τώρα ξεκινήστε την υπηρεσία Zookeeper και στους τρεις κόμβους.

Εντολή : zkServer.sh start (Εκτελέστε αυτήν την εντολή σε όλους τους κόμβους)

Σε ενεργό σκοπό:

Ξεκινήστε το zookeeper στο Active NameNode.

Στο όνομα αναμονής σε αναμονή:

Ξεκινήστε το zookeeper σε κατάσταση αναμονής NameNode.

Στον κόμβο δεδομένων:

Ξεκινήστε το zookeeper στο DataNode.

Αφού εκτελέσετε τον διακομιστή Zookeeper, εισαγάγετε την εντολή JPS. Σε όλους τους κόμβους θα δείτε την υπηρεσίαorumPeerMain.

Ξεκινήστε το δαίμονα κόμβου δεδομένων στο μηχάνημα κόμβου δεδομένων.

Εντολή : hadoop-daemon.sh ξεκινήστε το datanode

Ξεκινήστε τον ελεγκτή αποτυχίας Zookeeper στον κόμβο Active name και στον κόμβο ονόματος αναμονής.

Διαμορφώστε τον ελεγκτή αποτυχίας πάνω από το zookeeper στο Active namenode.

Εντολή: HDFS zkfc –formatZK

Μορφοποίηση ZKFC.

Ξεκινήστε το ZKFC στο ενεργό όνομα ονόματος.

Εντολή : hadoop-daemon.sh έναρξη zkfc

Εισαγάγετε την εντολή jps για να ελέγξετε τους δαίμονες DFSZkFailoverController.

Ξεκινήστε το ZKFC.

Διαμορφώστε τον ελεγκτή αποτυχίας πάνω από το zookeeper στην ονομασία Standby.

Εντολή : hdfs zkfc –formatZK

Ξεκινήστε το ZKFC στο όνομα αναμονής σε κατάσταση αναμονής.

Εντολή : hadoop-daemon.sh έναρξη zkfc

Εισαγάγετε την εντολή jps για να ελέγξετε τους δαίμονες DFSZkFailoverController.

Τώρα ελέγξτε την κατάσταση κάθε ονόματος, ποιος κόμβος είναι ενεργός ή ποιος κόμβος βρίσκεται σε κατάσταση αναμονής χρησιμοποιώντας την παρακάτω εντολή.

Εντολή : hdfs haadmin –getServiceState nn1

Ελέγξτε την κατάσταση κάθε NameNode.

Τώρα Ελέγξτε την κατάσταση κάθε ονόματος χρησιμοποιώντας το πρόγραμμα περιήγησης ιστού.

Ανοίξτε το πρόγραμμα περιήγησης Web και εισαγάγετε την παρακάτω διεύθυνση URL.

: 50070

Θα δείξει εάν ο κόμβος ονόματος είναι Ενεργός ή σε κατάσταση αναμονής.

Ενεργός ΌνομαNode.

Ανοίξτε άλλες λεπτομέρειες κόμβου ονόματος χρησιμοποιώντας το πρόγραμμα περιήγησης ιστού.

Όνομα αναμονής

Στο ενεργό όνομα ονομάτων, σκοτώστε τον δαίμονα ονομάτων για να αλλάξετε τον κόμβο ονομάτων αναμονής σε ενεργό ονομαστικό όνομα.

Εισαγάγετε jps στο Active namenode και σκοτώστε τον δαίμονα.

Εντολή: sudo kill -9

Αναγνωριστικό διεργασίας Daemons.

Το αναγνωριστικό διαδικασίας Namenode είναι 7606, σκοτώστε το όνομα.

Εντολή : Sudo kill -9 7606

Σκοτώστε τη διαδικασία Όνομα κόμβου

Ανοίξτε τους δύο κόμβους μέσω του προγράμματος περιήγησης ιστού και ελέγξτε την κατάσταση.

Λεπτομέρειες ονόματος ονόματος.

Κατάσταση NameNode.

Συγχαρητήρια, έχετε ρυθμίσει με επιτυχία ένα σύμπλεγμα υψηλής διαθεσιμότητας HDFS στο Hadoop.

Τώρα που έχετε κατανοήσει το Hadoop High Availability Cluster Architecture, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το πρόγραμμα εκπαίδευσης Edureka Big Data Hadoop Certification βοηθά τους μαθητές να γίνουν ειδικοί σε HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume και Sqoop χρησιμοποιώντας περιπτώσεις χρήσης σε πραγματικό χρόνο σε τομείς λιανικής, κοινωνικής δικτύωσης, αεροπορίας, τουρισμού, χρηματοοικονομικών

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.

window._LQ_ = window._LQ_ || {}

lqQuizModal (παράθυρο, έγγραφο, {quizId: 'XAIVp8 ′, baseUrl:' https: //quiz.leadquizzes.com/',trigger: 'exit'}, _LQ_)