Πώς να εγκαταστήσετε το HIVE Ubuntu (Οδηγός λήψης και ρύθμισης)
⚡ Έξυπνη Σύνοψη
Εγκαταστάσεις Apache Hive σε Ubuntu ως ένα λεπτό επίπεδο αποθήκης δεδομένων πάνω από ένα ήδη εκτελούμενο σύμπλεγμα Hadoop, επομένως η εγκατάσταση είναι κυρίως θέμα αποσυμπίεσης ενός αρχείου και κατάδειξης τριών μεταβλητών περιβάλλοντος στους σωστούς καταλόγους.

Πριν από την εγκατάσταση του Apache Hive, χρειαζόμαστε έναν ειδικό Hadoop εγκατάσταση, σε λειτουργία με όλους τους δαίμονες Hadoop.
Για την εγκατάσταση του Hadoop, ελέγξτε αυτό σύνδεσμος.
Μόλις όλα τα daemon του Hadoop λειτουργούν σωστά, απλώς ξεκινήστε την εγκατάσταση του τμήματος Hive. Η παρακάτω αναλυτική παρουσίαση περιλαμβάνει τέσσερα στάδια:
Διαδικασία εγκατάστασης Apache Hive
- Προαπαιτούμενα και συμβατότητα εκδόσεων
- Εγκατάσταση Hive
- Αρχικοποίηση σχήματος Metastore
- Εντολές κελύφους κυψέλης
Προϋποθέσεις για την εγκατάσταση του Apache Hive σε Ubuntu
Το Hive δεν είναι μια αυτόνομη βάση δεδομένων. Είναι ένα επίπεδο ερωτημάτων που μεταφράζει το HiveQL σε εργασίες που εκτελούνται σε ένα υπάρχον σύμπλεγμα, επομένως σχεδόν κάθε αποτυχημένη εγκατάσταση tracεπιστρέφει σε μια προαπαιτούμενη προϋπόθεση που λείπει αντί για το ίδιο το Hive. Επιβεβαιώστε τα ακόλουθα πριν από τη λήψη οποιουδήποτε στοιχείου:
- Ένα υποστηριζόμενο JDK. Το Hive 4.1.x τρέχει σε JDK 17, ενώ το Hive 4.2.x ανεβάζει το ελάχιστο σε JDK 21. Ελέγξτε την έκδοση με java -version και βεβαιωθείτε ότι έχει εξαχθεί το JAVA_HOME.
- Ένα εκτελούμενο σύμπλεγμα Hadoop. Τόσο το NameNode όσο και το DataNode πρέπει να είναι ενεργά. Εκτέλεση jps και επιβεβαιώστε ότι τα NameNode, DataNode, ResourceManager και NodeManager εμφανίζονται όλα στη λίστα.
- Πρόσβαση εγγραφής στο HDFS. Ο λογαριασμός που εκκινεί το Hive χρειάζεται άδεια για να δημιουργήσει καταλόγους στην ενότητα ΚΑΕ.
- Αντίστοιχες εκδόσεις. Το Hive 4.2.0 βασίζεται στα Hadoop 3.4.1 και Tez 0.10.5. Η σειρά Hive 3.x έφτασε στο τέλος της τον Οκτώβριο του 2024, επομένως μια νέα εγκατάσταση θα πρέπει να στοχεύσει τη γραμμή 4.x.
- Δωρεάν πόροι. Μια ρύθμιση εκμάθησης με έναν κόμβο είναι άνετη με περίπου 4 GB μνήμης RAM και 20 GB ελεύθερου δίσκου.
Με αυτά τα πλαίσια επιλεγμένα, η παρακάτω ακολουθία λήψης και αποσυμπίεσης εκτελείται χωρίς εκπλήξεις.
Πώς να εγκαταστήσετε το Hive στο Ubuntu
Παρακάτω είναι μια διαδικασία βήμα προς βήμα σχετικά με τον τρόπο εγκατάστασης του Hive in Ubuntu:
Βήμα 1) Λήψη και εγκατάσταση του Hive στο Ubuntu
Για λήψη της σταθερής ρύθμισης του Hive, ανατρέξτε στο Apache URL όπως αναφέρεται παρακάτω.
https://www.apache.org/dyn/closer.cgi/hive/ — πηγαίνετε στο URL και επιλέξτε τον σύνδεσμο λήψης του κατοπτρισμού Apache. Σελίδα λήψεων Apache Hive παραθέτει ποια ζεύγη κυκλοφορίας με ποια έκδοση Hadoop.
Η σελίδα ειδώλου ανοίγει με τη λίστα των διαθέσιμων καταλόγων έκδοσης του Hive, όπως φαίνεται παρακάτω.
Επιλέξτε την πιο πρόσφατη έκδοση της εγκατάστασης του Hive. (Στην τρέχουσα περίπτωσή μου είναι το hive – 3.1.2.) Ο φάκελος έκδοσης παραθέτει τα αρχεία δυαδικού κώδικα και πηγαίου κώδικα δίπλα-δίπλα.
Κάντε κλικ στο αρχείο bin και η λήψη θα ξεκινήσει.
Βήμα 2) Π.χ.tracτο αρχείο tar
Μεταβείτε στη θέση του ληφθέντος αρχείου tar και, στη συνέχεια, π.χ.tract το αρχείο tar χρησιμοποιώντας την ακόλουθη εντολή για να εγκαταστήσετε το Hive στο Ubuntu στο σύστημά σας.
tar -xvf apache-hive-3.1.2-bin.tar.gz
Το τερματικό επαναλαμβάνει κάθε αρχείο καθώς αποσυμπιέζεται στον νέο κατάλογο Hive.
Βήμα 3) Τοποθετήστε διαφορετικές ιδιότητες διαμόρφωσης στο Apache Hive
Σε αυτό το βήμα, θα κάνουμε δύο πράγματα:
- Τοποθέτηση της αρχικής διαδρομής του Hive στο αρχείο bashrc
- Τοποθέτηση της θέσης της αρχικής διαδρομής Hadoop στο hive-config.sh
1) Αναφέρετε τη διαδρομή Hive στο ~/.bashrc
Ανοίξτε το αρχείο για επεξεργασία με την εντολή που φαίνεται παρακάτω.
- Ανοίξτε το αρχείο bashrc όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης
- Αναφέρετε την αρχική διαδρομή του Hive, δηλαδή τη διαδρομή HIVE_HOME, στο αρχείο bashrc και εξαγάγετε το όπως φαίνεται παρακάτω.
Code για τοποθέτηση στο bashrc:
export HIVE_HOME="/home/guru99hive/apache-hive-1.2.0-bin" export PATH=$PATH:$HIVE_HOME/bin
Επαναφορτώστε το αρχείο με πηγή ~ / .bashrc έτσι ώστε η νέα διαδρομή να ισχύει στην τρέχουσα συνεδρία τερματικού.
2) Εξαγωγή της διαδρομής Hadoop στο hive-config.sh
Για να επικοινωνήσουμε με το οικοσύστημα Hadoop, ορίζουμε την αρχική διαδρομή του Hadoop στο αρχείο ρυθμίσεων Hive. Ανοίξτε το hive-config.sh όπως φαίνεται παρακάτω.
Αναφέρετε τη διαδρομή HADOOP_HOME στο αρχείο hive-config.sh όπως φαίνεται παρακάτω.
Βήμα 4) Δημιουργήστε καταλόγους Hive στο Hadoop
Για να επικοινωνήσουμε με το Hadoop, πρέπει να δημιουργήσουμε καταλόγους στο Hadoop όπως φαίνεται παρακάτω. Το Hive γράφει δεδομένα διαχειριζόμενου πίνακα στον κατάλογο αποθήκης και έξοδο staging στον κατάλογο tmp.
Δίνουμε δικαιώματα root για τη δημιουργία φακέλων Hive στο Hadoop. Εάν δεν εμφανιστεί κανένα μήνυμα σφάλματος, τότε σημαίνει ότι το Hadoop έχει δώσει με επιτυχία δικαιώματα στους φακέλους Hive.
Βήμα 5) Εισέλθετε στο κέλυφος της κυψέλης
Μπείτε στο κέλυφος της Hive εισάγοντας το '. /κυψέλη' εντολή όπως φαίνεται παρακάτω.
Πώς να αρχικοποιήσετε το σχήμα Hive Metastore
Το Hive διατηρεί κάθε όνομα πίνακα, όνομα στήλης και τύπο δεδομένων σε ένα σχεσιακό χώρο αποθήκευσης που ονομάζεται metastore. Σε μια νέα εγκατάσταση, αυτός ο χώρος αποθήκευσης είναι κενός και από το Hive 3.x και μετά το κέλυφος αρνείται να ξεκινήσει μέχρι να υπάρχουν οι πίνακες σχήματος. Το βοηθητικό πρόγραμμα schematool που περιλαμβάνεται στον κατάλογο bin του Hive τους δημιουργεί.
Για μια ρύθμιση εκμάθησης ενός χρήστη, η ενσωματωμένη βάση δεδομένων Derby είναι αρκετή:
$HIVE_HOME/bin/schematool -dbType derby -initSchema
Η εντολή εκτυπώνει την έκδοση σχήματος που δημιούργησε και τελειώνει με Το schemaTool ολοκληρώθηκεΤο Derby γράφει τα αρχεία του σε οποιονδήποτε κατάλογο από τον οποίο εκτελέστηκε η εντολή, επομένως εκκινήστε πάντα το Hive από τον ίδιο κατάλογο στη συνέχεια.
Το Derby δέχεται μόνο μία ενεργή συνεδρία κάθε φορά, γεγονός που το καθιστά ακατάλληλο για κοινόχρηστο σύμπλεγμα. Point Hive στο MySQL αντίθετα, προσθέτοντας τις ιδιότητες σύνδεσης στο hive-site.xml και εκτελώντας ξανά το εργαλείο με διαφορετικό τύπο βάσης δεδομένων:
$HIVE_HOME/bin/schematool -dbType mysql -initSchema
Η πλήρης λίστα ακινήτων και η τοποθέτηση οδηγών καλύπτονται στον οδηγό σχετικά με τον τρόπο ρυθμίστε το μετα-αποθετήριο Hive με MySQLΔύο ακόμη σημαίες που αξίζει να θυμόμαστε:
- - πληροφορίες Αναφέρει την έκδοση σχήματος που είναι καταγεγραμμένη αυτήν τη στιγμή στο metastore χωρίς να αλλάξει τίποτα.
- -αναβάθμισηΣχήματος μετεγκαθιστά ένα υπάρχον metastore στην έκδοση σχήματος της πρόσφατα εγκατεστημένης έκδοσης Hive.
Με το σχήμα στη θέση του, το κέλυφος είναι έτοιμο να δεχτεί την πρώτη του πρόταση HiveQL.
Εντολές κελύφους κυψέλης
Εδώ θα δημιουργήσουμε ένα δείγμα πίνακα χρησιμοποιώντας την εντολή "create" του κελύφους Hive με ονόματα στηλών.
Δείγμα κώδικα για τη δημιουργία μιας βάσης δεδομένων στο Hive. Το παρακάτω στιγμιότυπο οθόνης δείχνει την εντολή create και την έξοδο describe, η μία μετά την άλλη.
Από το παραπάνω στιγμιότυπο οθόνης μπορούμε να παρατηρήσουμε τα εξής:
1) Δημιουργία ενός δείγματος πίνακα με ονόματα στηλών στο Hive
- Εδώ το όνομα του πίνακα είναι "προϊόν" με τρία ονόματα στηλών προϊόν, όνομα και τιμή
- Τα τρία ονόματα στηλών συμβολίζονται με τον αντίστοιχο τύπο δεδομένων τους
- Όλα τα πεδία τερματίζονται με κόμμα ', '
2) Εμφάνιση πληροφοριών πίνακα Hive
- Χρησιμοποιώντας την εντολή "describe" μπορούμε να δούμε τις πληροφορίες του πίνακα που υπάρχουν στο Hive.
- Εδώ εμφανίζονται τα ονόματα των στηλών με τους αντίστοιχους τύπους δεδομένων τους που υπάρχουν στο σχήμα του πίνακα
- Στο τέλος, θα εμφανιστεί ο χρόνος που χρειάστηκε για την εκτέλεση αυτής της εντολής και ο αριθμός των γραμμών που ανακτήθηκαν.
Δείγμα κώδικα για τη δημιουργία μιας βάσης δεδομένων σε Κυψέλη (για αυτοέλεγχο)
1) Δημιουργήστε τον πίνακα product(product int, pname string, price float)
Row format delimited Fields terminated by ',';
2) περιγραφή του προϊόντος·
Μόλις ο πίνακας ανταποκριθεί στην περιγραφή, το κέλυφος, το metastore και το HDFS συνδέονται μεταξύ τους. Από εδώ, η ίδια συνεδρία δέχεται το ευρύτερο δημιουργία, τροποποίηση και απόθεση πίνακα δηλώσεις και οι ταξινόμηση κατά, ομαδοποίηση κατά και ομαδοποίηση κατά ερωτήματα.
Συνηθισμένα σφάλματα εγκατάστασης κυψέλης στο Ubuntu και πώς να τα διορθώσετε
Οι περισσότερες αποτυχίες κατά την πρώτη εκτέλεση προέρχονται από το περιβάλλον γύρω από το Hive και όχι από το ίδιο το Hive. Ο παρακάτω πίνακας αντιστοιχίζει τα μηνύματα που εμφανίζονται πιο συχνά με την αιτία τους και την εντολή που τα διαγράφει.
| Μήνυμα στην οθόνη | Πιθανή αιτία | σταθερός |
|---|---|---|
| hive: η εντολή δεν βρέθηκε | Το HIVE_HOME/bin δεν βρίσκεται στο PATH | Ελέγξτε ξανά τις γραμμές εξαγωγής στο bashrc και, στη συνέχεια, εκτελέστε πηγή ~ / .bashrc |
| Δεν βρέθηκαν πληροφορίες έκδοσης στο metastore | Το σχήμα μετααποθήκευσης δεν αρχικοποιήθηκε ποτέ | Εκτελέστε το schematool με -initSchema για τον επιλεγμένο τύπο βάσης δεδομένων |
| Η κλήση στο localhost:9000 απέτυχε λόγω εξαίρεσης σύνδεσης | Το HDFS δεν εκτελείται | Ξεκινήστε τους δαίμονες Hadoop και επιβεβαιώστε ότι εμφανίζονται οι NameNode και DataNode. jps |
| Ο κόμβος ονόματος βρίσκεται σε ασφαλή λειτουργία | Το NameNode βρίσκεται ακόμα σε ασφαλή λειτουργία εκκίνησης | Έξοδος από την ασφαλή λειτουργία με hdfs dfsadmin -safemode άδεια |
| Άρνηση άδειας: access=WRITE στο /user/hive/warehouse | Ο κατάλογος αποθήκης δεν έχει δικαίωμα ομαδικής εγγραφής | Κάντε ξανά αίτηση hdfs dfs -chmod g+w στους καταλόγους αποθήκης και tmp |
| NoSuchMethodError στο Preconditions.checkArgument | Η Hive και η Hadoop διαθέτουν διαφορετικές εκδόσεις βάζων Guava. | Διαγράψτε το παλαιότερο jar Guava στον κατάλογο Hive lib και αντιγράψτε αυτό του Hadoop στη θέση του. |
Ένας γρήγορος τρόπος για να διαχωρίσετε ένα πρόβλημα Hive από ένα πρόβλημα Hadoop είναι να εκτελέσετε jps πρώτα. Εάν οι δαίμονες λείπουν, το σύμπλεγμα είναι το σφάλμα. εάν υπάρχουν και το κέλυφος εξακολουθεί να αποτυγχάνει, το σφάλμα βρίσκεται στη διαμόρφωση του Hive ή στο σχήμα του μετα-αποθηκευτικού συστήματος. Μόλις το κέλυφος είναι σταθερό, το Τελεστές HiveQL και ενσωματωμένες συναρτήσεις Η αναφορά είναι η φυσική επόμενη στάση.







