Σε αυτό το σεμινάριο- θα μάθετε,
- Λειτουργίες εγκατάστασης Apache HBase
- Τρόπος λήψης σταθερής έκδοσης αρχείου tar Hbase
- Hbase - Αυτόνομη εγκατάσταση
- Hbase - Ψευδο κατανεμημένος τρόπος εγκατάστασης
- Hbase - Εγκατάσταση πλήρους κατανεμημένης λειτουργίας
- Αντιμετώπιση προβλημάτων εγκατάστασης HBase
Λειτουργίες εγκατάστασης Apache HBase
Το Apache HBase μπορεί να εγκατασταθεί σε τρεις λειτουργίες. Τα χαρακτηριστικά αυτών των λειτουργιών αναφέρονται παρακάτω.
1) Εγκατάσταση αυτόνομης λειτουργίας (Χωρίς εξάρτηση από το σύστημα Hadoop)
- Αυτή είναι η προεπιλεγμένη λειτουργία του HBase
- Τρέχει ενάντια στο τοπικό σύστημα αρχείων
- Δεν χρησιμοποιεί Hadoop HDFS
- Μόνο ο δαίμονας HMaster μπορεί να τρέξει
- Δεν συνιστάται για περιβάλλον παραγωγής
- Τρέχει σε ενιαίο JVM
2) Εγκατάσταση ψευδο-κατανεμημένης λειτουργίας (Σύστημα Hadoop ενός κόμβου + εγκατάσταση HBase)
- Τρέχει σε Hadoop HDFS
- Όλοι οι Δαίμονες εκτελούνται σε έναν κόμβο
- Προτείνετε για περιβάλλον παραγωγής
3) Πλήρως κατανεμημένη εγκατάσταση λειτουργίας (περιβάλλον MultinodeHadoop + εγκατάσταση HBase)
- Τρέχει σε Hadoop HDFS
- Όλοι οι δαίμονες θα τρέχουν σε όλους τους κόμβους που υπάρχουν στο σύμπλεγμα
- Συνιστάται ιδιαίτερα για περιβάλλον παραγωγής
Για εγκατάσταση Hadoop Ανατρέξτε σε αυτήν τη διεύθυνση URL εδώ
Τρόπος λήψης σταθερής έκδοσης αρχείου tar Hbase
Βήμα 1) Μεταβείτε στον σύνδεσμο εδώ για να κατεβάσετε το HBase. Θα ανοίξει μια ιστοσελίδα όπως φαίνεται παρακάτω.
Βήμα 2) Επιλέξτε σταθερή έκδοση όπως φαίνεται παρακάτω 1.1.2
Βήμα 3) Κάντε κλικ στο hbase-1.1.2-bin.tar.gz. Θα κατεβάσει το αρχείο tar. Αντιγράψτε το αρχείο tar σε μια θέση εγκατάστασης.
Hbase - Εγκατάσταση αυτόνομης λειτουργίας:
Η εγκατάσταση πραγματοποιείται στο Ubuntu με ήδη εγκατεστημένο το Hadoop.
Βήμα 1) Τοποθετήστε το hbase-1.1.2-bin.tar.gz στο / home / hduser
Βήμα 2) Αποσυμπιέστε το εκτελώντας την εντολή $ tar -xvf hbase-1.1.2-bin.tar.gz . Θα αποσυμπιέσει τα περιεχόμενα και θα δημιουργήσει το hbase-1.1.2 στην τοποθεσία / σπίτι / hduser
Βήμα 3) Ανοίξτε το hbase-env.sh όπως παρακάτω και αναφέρετε τη διαδρομή JAVA_HOME στην τοποθεσία.
Βήμα 4) Ανοίξτε το αρχείο ~ / .bashrc και αναφέρετε τη διαδρομή HBASE_HOME όπως φαίνεται παρακάτω
εξαγωγή HBASE_HOME = / home / hduser / hbase-1.1.1 εξαγωγή PATH = $ PATH: $ HBASE_HOME / bin |
Βήμα 5) Ανοίξτε το hbase-site.xml και τοποθετήστε τις ακόλουθες ιδιότητες μέσα στο αρχείο
hduser @ ubuntu $ gedit hbase-site.xml (κωδικός όπως παρακάτω)
hbase.rootdir file:///home/hduser/HBASE/hbase hbase.zookeeper.property.dataDir /home/hduser/HBASE/zookeeper
Εδώ βάζουμε δύο ιδιότητες
- Ένα για τον ριζικό κατάλογο HBase και
- Ο δεύτερος για τον κατάλογο δεδομένων αντιστοιχεί στο ZooKeeper.
Όλες οι δραστηριότητες του HMaster και του ZooKeeper επισημαίνουν αυτό το hbase-site.xml.
Βήμα 6) Άνοιγμα αρχείου κεντρικών υπολογιστών που υπάρχει στο / etc. τοποθετήστε και αναφέρετε τις IP όπως φαίνεται παρακάτω.
Βήμα 7) Τώρα εκτελέστε το Start-hbase.sh στην τοποθεσία hbase-1.1.1 / bin όπως φαίνεται παρακάτω.
Και μπορούμε να ελέγξουμε με εντολή jps για να δούμε ότι το HMaster λειτουργεί ή όχι.
Βήμα 8) Το κέλυφος HBase μπορεί να ξεκινήσει χρησιμοποιώντας το "κέλυφος hbase" και θα τεθεί σε λειτουργία διαδραστικού κελύφους όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Μόλις εισέλθει σε λειτουργία κελύφους, μπορούμε να εκτελέσουμε όλους τους τύπους εντολών.
Η αυτόνομη λειτουργία δεν απαιτεί να ξεκινήσουν οι δαίμονες Hadoop. Το HBase μπορεί να λειτουργεί ανεξάρτητα.
Hbase - Ψευδο κατανεμημένος τρόπος εγκατάστασης:
Αυτή είναι μια άλλη μέθοδος για την εγκατάσταση του Apache Hbase, γνωστή ως Pseudo Distributed mode of Installation. Ακολουθούν τα βήματα για την εγκατάσταση του HBase μέσω αυτής της μεθόδου.
Βήμα 1) Τοποθετήστε το hbase-1.1.2-bin.tar.gz στο / home / hduser
Βήμα 2) Αποσυμπιέστε το εκτελώντας την εντολή $ tar -xvf hbase-1.1.2-bin.tar.gz . Θα αποσυμπιέσει τα περιεχόμενα και θα δημιουργήσει το hbase-1.1.2 στην τοποθεσία / σπίτι / hduser
Βήμα 3) Ανοίξτε το hbase-env.sh ως εξής παρακάτω και αναφέρετε τη διαδρομή JAVA_HOME και τη διαδρομή των διακομιστών περιοχής στην τοποθεσία και εξαγάγετε την εντολή όπως φαίνεται
Βήμα 4) Σε αυτό το βήμα, θα ανοίξουμε το αρχείο ~ / .bashrc και θα αναφέρουμε τη διαδρομή HBASE_HOME όπως φαίνεται στην οθόνη.
Βήμα 5) Ανοίξτε το HBase-site.xml και αναφέρετε τις παρακάτω ιδιότητες στο αρχείο. (Κωδικός όπως παρακάτω)
hbase.rootdir hdfs://localhost:9000/hbase hbase.cluster.distributed true hbase.zookeeper.quorum localhost dfs.replication 1 hbase.zookeeper.property.clientPort 2181 hbase.zookeeper.property.dataDir /home/hduser/hbase/zookeeper
- Ρύθμιση του ριζικού καταλόγου Hbase σε αυτήν την ιδιότητα
- Για διανεμημένη εγκατάσταση πρέπει να ορίσουμε αυτήν την ιδιότητα
- Η ιδιοκτησία απαρτίας ZooKeeper πρέπει να ρυθμιστεί εδώ
- Η ρύθμιση αναπαραγωγής έγινε σε αυτήν την ιδιότητα. Από προεπιλογή τοποθετούμε την αναπαραγωγή ως 1.
Στην πλήρως κατανεμημένη λειτουργία, υπάρχουν πολλοί κόμβοι δεδομένων, ώστε να μπορούμε να αυξήσουμε την αναπαραγωγή τοποθετώντας περισσότερες από 1 τιμές στην ιδιότητα
- Η θύρα πελάτη πρέπει να αναφέρεται σε αυτήν την ιδιότητα
- Ο κατάλογος δεδομένων ZooKeeper μπορεί να αναφέρεται σε αυτήν την ιδιότητα
Βήμα 6) Ξεκινήστε πρώτα τους δαίμονες Hadoop και μετά ξεκινήστε τους δαίμονες HBase όπως φαίνεται παρακάτω
Εδώ πρώτα πρέπει να ξεκινήσετε τους δαίμονες Hadoop χρησιμοποιώντας την εντολή "./start-all.sh" όπως φαίνεται παρακάτω.
Αφού ξεκινήσετε τους δαίμονες Hbase από το hbase-start.sh
Τώρα ελέγξτε το jps
Hbase - Πλήρως κατανεμημένη εγκατάσταση λειτουργίας: -
- Αυτή η ρύθμιση θα λειτουργήσει σε λειτουργία συμπλέγματος Hadoop όπου πολλοί κόμβοι γεννιούνται και λειτουργούν.
- Η εγκατάσταση είναι ίδια με την ψευδο κατανεμημένη λειτουργία. η μόνη διαφορά είναι ότι θα δημιουργηθεί σε πολλούς κόμβους.
- Τα αρχεία ρυθμίσεων που αναφέρονται στο HBase-site.xml και το hbase-env.sh είναι ίδια με αυτά που αναφέρονται στην ψευδο-λειτουργία.
Αντιμετώπιση προβλημάτων εγκατάστασης HBase
1) Δήλωση προβλήματος: Ο κεντρικός διακομιστής αρχικοποιεί, αλλά οι διακομιστές περιοχής δεν αρχικοποιούνται
Η επικοινωνία μεταξύ διακομιστών Master και περιοχής μέσω των διευθύνσεων IP τους. Όπως με τον τρόπο που το Master πρόκειται να ακούσει ότι οι διακομιστές περιοχής εκτελούνται ή έχουν τη διεύθυνση IP του 127.0.0.1. Η διεύθυνση IP 127.0.0.1 που είναι ο τοπικός κεντρικός υπολογιστής και επιλύει στον τοπικό κεντρικό υπολογιστή τον κεντρικό διακομιστή.
Αιτία:
Σε διπλή επικοινωνία μεταξύ διακομιστών περιοχής και κύριου, ο διακομιστής περιοχής ενημερώνει συνεχώς τον κύριο διακομιστή σχετικά με τις διευθύνσεις IP τους είναι 127.0.0.1.
Λύση:
- Πρέπει να καταργήσετε τον κόμβο ονόματος κεντρικού διακομιστή από τον τοπικό κεντρικό υπολογιστή που υπάρχει στο αρχείο κεντρικών υπολογιστών
- Τοποθεσία αρχείου κεντρικού υπολογιστή / etc / hosts
Τι να αλλάξετε:
Ανοίξτε το /etc./hosts και μεταβείτε σε αυτήν την τοποθεσία
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost: : 1 localhost3.localdomain3 localdomain3
Τροποποιήστε την παραπάνω διαμόρφωση όπως παρακάτω (αφαιρέστε το όνομα διακομιστή περιοχής όπως επισημαίνεται παραπάνω)
127.0.0.1 localhost.localdomainlocalhost: : 1 localhost3.localdomain3 localdomain3
2) Δήλωση προβλήματος: Δεν ήταν δυνατή η εύρεση της διεύθυνσής μου: XYZ στη λίστα των διακομιστών απαρτίας Zookeeper
Αιτία:
- Ο διακομιστής ZooKeeper δεν μπόρεσε να ξεκινήσει και θα εμφανίσει σφάλμα όπως .xyz στο όνομα του διακομιστή.
- Η HBase προσπαθεί να ξεκινήσει έναν διακομιστή ZooKeeper σε κάποιο μηχάνημα, αλλά ταυτόχρονα το μηχάνημα δεν είναι σε θέση να βρει τον εαυτό του τη διαμόρφωση απαρτίας που υπάρχει στο αρχείο διαμόρφωσης HBase.zookeeper.quorum .
Λύση:-
- Πρέπει να αντικαταστήσετε το όνομα κεντρικού υπολογιστή με ένα όνομα κεντρικού υπολογιστή που εμφανίζεται στο μήνυμα σφάλματος
- Ας υποθέσουμε ότι έχουμε διακομιστή DNS και στη συνέχεια μπορούμε να ορίσουμε τις παρακάτω διαμορφώσεις στο HBase-site.xml.
- HBase.zookeeper.dns.interface
- HBase.zookeeper.dns.nameserver
3) Δήλωση προβλήματος: Δημιουργήθηκε Root Directory για HBase μέσω Hadoop DFS
- Το Master λέει ότι πρέπει να εκτελέσετε το σενάριο μετεγκαταστάσεων HBase.
- Κατά την εκτέλεση αυτού , το σενάριο μετεγκατάστασης HBase αποκρίνεται σαν να μην υπάρχουν αρχεία στον ριζικό κατάλογο .
Αιτία:
- Δημιουργία νέου καταλόγου για το HBase με χρήση του συστήματος κατανεμημένων Hadoop
- Εδώ το HBase αναμένει δύο δυνατότητες
1) Δεν υπάρχει κατάλογος ρίζας
2) Το προηγούμενο στιγμιότυπο λειτουργίας HBase είχε αρχικοποιηθεί πριν
Λύση:
- Βεβαιωθείτε ότι ο ριζικός κατάλογος HBase δεν υπάρχει προς το παρόν ή έχει αρχικοποιηθεί από προηγούμενη εκτέλεση της παρουσίας HBase.
- Ως μέρος της λύσης, πρέπει να ακολουθήσουμε τα βήματα
Βήμα 1) Χρήση του Hadoop dfs για τη διαγραφή του ριζικού καταλόγου HBase
Βήμα 2) Το HBase δημιουργεί και αρχικοποιεί τον κατάλογο από μόνο του
4) Δήλωση προβλήματος: Τα συμβόλαια του Zookeeper έληξαν
Αιτία:
- Οι διακομιστές HMaster ή HRegion κλείνουν ρίχνοντας εξαιρέσεις
- Εάν παρατηρήσουμε αρχεία καταγραφής, μπορούμε να ανακαλύψουμε τις πραγματικές εξαιρέσεις που ρίχτηκαν
Το παρακάτω δείχνει την εξαίρεση που ρίχτηκε λόγω του γεγονότος που έληξε ο Zookeeper. Τα επισημασμένα συμβάντα είναι μερικές από τις εξαιρέσεις που προέκυψαν στο αρχείο καταγραφής
Καταγράψτε τον κώδικα αρχείων όπως φαίνεται παρακάτω:
WARN org.apache.zookeeper.ClientCnxn: Exceptionclosing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ecjava.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906)WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORTINFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT]INFO org.apache.zookeeper.ClientCnxn: Server connection successfulWARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65ejava.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589)at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709)at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945)ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
Λύση:
- Το προεπιλεγμένο μέγεθος RAM είναι 1 GB. Για τις μακροχρόνιες εισαγωγές, διατηρούμε τη χωρητικότητα RAM μεγαλύτερη από 1 GB.
- Πρέπει να αυξήσετε το χρονικό όριο περιόδου λειτουργίας για το Zookeeper.
- Για την αύξηση του χρόνου περιόδου λειτουργίας από το Zookeeper, πρέπει να τροποποιήσουμε την ακόλουθη ιδιότητα στο "hbase-site.xml" που υπάρχει στη διαδρομή του φακέλου hbase / conf.
- Το προεπιλεγμένο χρονικό όριο περιόδου σύνδεσης είναι 60 δευτερόλεπτα. Μπορούμε να το αλλάξουμε σε 120 δευτερόλεπτα όπως αναφέρεται παρακάτω
zookeeper.session.timeout 1200000 hbase.zookeeper.property.tickTime 6000