Πώς να εγκαταστήσετε το HBase σε Ubuntu (Εγκατάσταση HBase)
Λειτουργίες εγκατάστασης Apache HBase
Το Apache HBase μπορεί να εγκατασταθεί σε τρεις λειτουργίες. Τα χαρακτηριστικά αυτών των λειτουργιών αναφέρονται παρακάτω.
1) Εγκατάσταση αυτόνομης λειτουργίας (Καμία εξάρτηση από το σύστημα Hadoop)
- Αυτή είναι η προεπιλεγμένη λειτουργία του HBase
- Τρέχει σε τοπικό σύστημα αρχείων
- Δεν χρησιμοποιεί Hadoop ΚΑΕ
- Μόνο ο δαίμονας HMaster μπορεί να τρέξει
- Δεν συνιστάται για περιβάλλον παραγωγής
- Εκτελείται σε single JVM
2) Εγκατάσταση ψευδο-κατανεμημένου τρόπου λειτουργίας (σύστημα Hadoop ενός κόμβου + εγκατάσταση HBase)
- Συνεχίζει Hadoop HDFS
- Όλοι οι Δαίμονες τρέχουν σε έναν κόμβο
- Προτείνετε για περιβάλλον παραγωγής
3) Εγκατάσταση πλήρως κατανεμημένης λειτουργίας (περιβάλλον MultiodeHadoop + εγκατάσταση 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 με αυτόνομη λειτουργία
Ακολουθεί η διαδικασία βήμα προς βήμα της εγκατάστασης σε αυτόνομη λειτουργία HBase Ubuntu:
Βήμα 1) Τοποθετήστε την παρακάτω εντολή
Τοποθετήστε το hbase-1.1.2-bin.tar.gz στο /home/hduser
Βήμα 2) Αποσυμπιέστε το εκτελώντας την εντολή $tar -xvf hbase-1.1.2-bin.tar.gz.
Θα αποσυμπιέσει τα περιεχόμενα και θα δημιουργήσει το hbase-1.1.2 στη θέση /home/hduser
Βήμα 3) Ανοίξτε το hbase-env.sh
Ανοίξτε το 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 (κωδικός όπως παρακάτω)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
Εδώ τοποθετούμε δύο ακίνητα
- Ένα για τον ριζικό κατάλογο HBase και
- Το δεύτερο για τον κατάλογο δεδομένων αντιστοιχεί στο ZooKeeper.
Όλες οι δραστηριότητες του HMaster και του ZooKeeper επισημαίνονται σε αυτό το hbase-site.xml.
Βήμα 6) Αναφέρετε τις IP
Ανοίξτε το αρχείο hosts που υπάρχει στο /etc. τοποθεσία και αναφέρετε τις IP όπως φαίνεται παρακάτω.
Βήμα 7) Τώρα εκτελέστε το Start-hbase.sh στη θέση hbase-1.1.1/bin όπως φαίνεται παρακάτω.
Και μπορούμε να ελέγξουμε με την εντολή jps για να δούμε ότι το HMaster εκτελείται ή όχι.
Βήμα 8) Ξεκινήστε το HBase Shell
Το κέλυφος HBase μπορεί να ξεκινήσει χρησιμοποιώντας το "κέλυφος hbase” και θα μπει σε διαδραστική λειτουργία κελύφους όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Μόλις μπει σε λειτουργία φλοιού, μπορούμε να εκτελέσουμε όλους τους τύπους εντολών.
Η αυτόνομη λειτουργία δεν απαιτεί να ξεκινήσουν οι δαίμονες Hadoop. Το HBase μπορεί να λειτουργήσει ανεξάρτητα.
HBase Pseudo Distributed Mode of Installation
Αυτή είναι μια άλλη μέθοδος για την εγκατάσταση Apache HBase, γνωστή ως Ψευδοκατανεμημένη λειτουργία εγκατάστασης.
Παρακάτω είναι τα βήματα για να εγκαταστήσετε το HBase μέσω της λειτουργίας Pseudo Distributed:
Βήμα 1) Τοποθετήστε το hbase-1.1.2-bin.tar.gz στο /home/hduser
Βήμα 2) Αποσυμπιέστε το εκτελώντας την εντολή$tar -xvf hbase-1.1.2-bin.tar.gz. Θα αποσυμπιέσει τα περιεχόμενα και θα δημιουργήσει το hbase-1.1.2 στη θέση /home/hduser
Βήμα 3) Ανοίξτε το hbase-env.sh όπως παρακάτω και αναφέρετε τη διαδρομή JAVA_HOME και τη διαδρομή των διακομιστών περιοχής στην τοποθεσία και εξάγετε την εντολή όπως φαίνεται
Βήμα 4) Σε αυτό το βήμα, θα ανοίξουμε το αρχείο ~/.bashrc και θα αναφέρουμε τη διαδρομή HBASE_HOME όπως φαίνεται στο στιγμιότυπο οθόνης.
Βήμα 5) Ανοίξτε το HBase-site.xml και αναφέρετε τις παρακάτω ιδιότητες στο αρχείο. (Κωδικός όπως παρακάτω)
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
- Ρύθμιση ριζικού καταλόγου Hbase σε αυτήν την ιδιότητα
- Για κατανεμημένη εγκατάσταση πρέπει να ορίσουμε αυτήν την ιδιότητα
- Η ιδιότητα απαρτίας ZooKeeper θα πρέπει να ρυθμιστεί εδώ
- Η ρύθμιση της αναπαραγωγής ολοκληρώθηκε σε αυτήν την ιδιότητα. Από προεπιλογή τοποθετούμε την αναπαραγωγή ως 1. Στην πλήρως κατανεμημένη λειτουργία, υπάρχουν πολλοί κόμβοι δεδομένων, ώστε να μπορούμε να αυξήσουμε την αναπαραγωγή τοποθετώντας περισσότερες από 1 τιμές στην ιδιότητα dfs.replication
- Η θύρα πελάτη θα πρέπει να αναφέρεται σε αυτήν την ιδιοκτησία
- Ο κατάλογος δεδομένων ZooKeeper μπορεί να αναφέρεται σε αυτήν την ιδιότητα
Βήμα 6) Ξεκινήστε πρώτα τους δαίμονες Hadoop και μετά ξεκινήστε τους δαίμονες HBase όπως φαίνεται παρακάτω
Εδώ πρώτα πρέπει να ξεκινήσετε τους δαίμονες Hadoop χρησιμοποιώντας"./start-all.sh" εντολή όπως φαίνεται παρακάτω.
Μετά την εκκίνηση του Hbase daemons από το 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.απαρτία αρχείο ρυθμίσεων.
Λύση:-
- Πρέπει να αντικαταστήσετε το όνομα κεντρικού υπολογιστή με ένα όνομα κεντρικού υπολογιστή που εμφανίζεται στο μήνυμα σφάλματος
- Ας υποθέσουμε ότι έχουμε διακομιστή DNS, τότε μπορούμε να ορίσουμε τις παρακάτω διαμορφώσεις στο HBase-site.xml.
- HBase.zookeeper.dns.interface
- HBase.zookeeper.dns.nameserver
3) Δήλωση προβλήματος: Δημιουργήθηκε κατάλογος ρίζας για το 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: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.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: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO 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 successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.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, πρέπει να τροποποιήσουμε την ακόλουθη ιδιότητα στο "hbase-site.xml" που υπάρχει στη διαδρομή φακέλου hbase /conf.
- Το προεπιλεγμένο χρονικό όριο περιόδου λειτουργίας είναι 60 δευτερόλεπτα. Μπορούμε να το αλλάξουμε σε 120 δευτερόλεπτα όπως αναφέρεται παρακάτω
<property> <name> zookeeper.session.timeout </name> <value>1200000</value> </property> <property> <name> hbase.zookeeper.property.tickTime </name> <value>6000</value> </property>