Jak zainstalować HIVE na Ubuntu (Podręcznik pobierania i konfiguracji)
⚡ Inteligentne podsumowanie
Apache Hive instaluje się na Ubuntu jako cienka warstwa magazynu danych ponad już działającym klastrem Hadoop, więc konfiguracja polega głównie na rozpakowaniu jednego archiwum i wskazaniu trzech zmiennych środowiskowych odpowiednim katalogom.

Przed instalacją Apache Hive potrzebujemy dedykowanego Hadoop instalacja, uruchomienie i działanie ze wszystkimi demonami Hadoop.
Aby zainstalować Hadoop, zaznacz to link.
Gdy wszystkie demony Hadoop działają poprawnie, wystarczy rozpocząć instalację części Hive. Poniższy przewodnik obejmuje cztery etapy:
Proces instalacji Apache Hive
- Wymagania wstępne i zgodność wersji
- Instalacja ula
- Inicjalizacja schematu Metastore
- Polecenia powłoki ula
Wymagania wstępne dotyczące instalacji Apache Hive na Ubuntu
Hive nie jest samodzielną bazą danych. To warstwa zapytań, która tłumaczy HiveQL na zadania uruchamiane w istniejącym klastrze, więc prawie każda nieudana instalacja traces z powrotem do brakującego warunku wstępnego, a nie do samego Hive. Przed pobraniem czegokolwiek sprawdź następujące kwestie:
- Obsługiwany JDK. Hive 4.1.x działa na JDK 17, natomiast Hive 4.2.x podnosi minimalne wymagania do JDK 21. Sprawdź wersję za pomocą java -version i upewnij się, że JAVA_HOME jest wyeksportowany.
- Działający klaster Hadoop. Zarówno NameNode, jak i DataNode muszą być aktywne. Uruchom JPS i sprawdź, czy NameNode, DataNode, ResourceManager i NodeManager znajdują się na liście.
- Dostęp do zapisu w systemie HDFS. Konto, na którym uruchamiana jest aplikacja Hive, potrzebuje uprawnień do tworzenia katalogów HDFS.
- Pasujące wersje. Hive 4.2.0 został stworzony na bazie Hadoop 3.4.1 i Tez 0.10.5. Linia Hive 3.x zakończyła wsparcie w październiku 2024 roku, więc nowa instalacja powinna objąć linię 4.x.
- Bezpłatne zasoby. Konfiguracja do nauki na pojedynczym węźle jest wygodna, jeśli ma około 4 GB pamięci RAM i 20 GB wolnego miejsca na dysku.
Po zaznaczeniu tych pól, poniższa sekwencja pobierania i rozpakowywania przebiegnie bez niespodzianek.
Jak zainstalować Hive na Ubuntu
Poniżej znajduje się krok po kroku proces instalacji Hive Ubuntu:
Krok 1) Pobierz i zainstaluj Hive na Ubuntu
Aby pobrać stabilną wersję Hive, zapoznaj się z Apache URL jak wspomniano poniżej.
https://www.apache.org/dyn/closer.cgi/hive/ — idź do URL i wybierz łącze do pobrania serwera lustrzanego Apache. Strona pobierania Apache Hive wyświetla pary wydań z poszczególnymi wersjami Hadoop.
Zostanie otwarta strona lustrzana z listą dostępnych katalogów wydań Hive, jak pokazano poniżej.
Wybierz najnowszą wersję instalatora Hive. (W moim przypadku jest to hive – 3.1.2.) W folderze wydania znajdują się obok siebie archiwa binarne i źródłowe.
Kliknij na plik bin, aby rozpocząć pobieranie.
Krok 2) Przykładtracdo pliku tar
Przejdź do lokalizacji pobranego pliku tar, a następnietracAby zainstalować Hive na komputerze, wykonaj następujące polecenie: Ubuntu w twoim systemie.
tar -xvf apache-hive-3.1.2-bin.tar.gz
Terminal wyświetla każdy plik podczas rozpakowywania go do nowego katalogu Hive.
Krok 3) Umieść różne właściwości konfiguracyjne w Apache Hive
W tym kroku zrobimy dwie rzeczy:
- Umieszczanie ścieżki domowej Hive w pliku bashrc
- Umieszczanie ścieżki domowej Hadoop w pliku hive-config.sh
1) Podaj ścieżkę Hive w ~/.bashrc
Otwórz plik do edycji za pomocą polecenia pokazanego poniżej.
- Otwórz plik bashrc, jak pokazano na powyższym zrzucie ekranu
- W pliku bashrc podaj ścieżkę domową Hive, tj. ścieżkę HIVE_HOME, i wyeksportuj ją w sposób pokazany poniżej
Code do umieszczenia w bashrc:
export HIVE_HOME="/home/guru99hive/apache-hive-1.2.0-bin" export PATH=$PATH:$HIVE_HOME/bin
Załaduj ponownie plik za pomocą source ~ / .bashrc więc nowa ścieżka zostanie zastosowana w bieżącej sesji terminalowej.
2) Eksportowanie ścieżki Hadoop w pliku hive-config.sh
Aby komunikować się z ekosystemem Hadoop, definiujemy ścieżkę główną Hadoop w pliku konfiguracyjnym Hive. Otwórz plik hive-config.sh, jak pokazano poniżej.
Podaj ścieżkę HADOOP_HOME w pliku hive-config.sh, jak pokazano poniżej.
Krok 4) Utwórz katalogi Hive w Hadoop
Aby komunikować się z Hadoopem, musimy utworzyć katalogi w Hadoopie, jak pokazano poniżej. Hive zapisuje zarządzane dane tabelaryczne do katalogu magazynu, a dane wyjściowe do katalogu tmp.
Nadanie uprawnień root do tworzenia folderów Hive w Hadoop. Jeśli nie pojawi się żaden komunikat o błędzie, oznacza to, że Hadoop pomyślnie nadał uprawnienia do folderów Hive.
Krok 5) Wejdź do powłoki Hive
Aby dostać się do powłoki Hive, wejdź w '. /ul' polecenie jak pokazano poniżej.
Jak zainicjować schemat metadanych Hive
Hive przechowuje każdą nazwę tabeli, nazwę kolumny i typ danych w relacyjnym magazynie zwanym metamagazynem. Po nowej instalacji ten magazyn jest pusty, a od wersji Hive 3.x powłoka odmawia uruchomienia, dopóki nie powstaną tabele schematu. Narzędzie schematool, które znajduje się w katalogu bin Hive, tworzy te tabele.
W przypadku konfiguracji do nauki dla pojedynczego użytkownika wystarczająca jest dołączona baza danych Derby:
$HIVE_HOME/bin/schematool -dbType derby -initSchema
Polecenie drukuje wersję schematu, którą utworzyło i kończy się na schemaTool ukończonyDerby zapisuje swoje pliki w katalogu, z którego uruchomiono polecenie, dlatego zawsze uruchamiaj Hive z tego samego katalogu.
Derby akceptuje tylko jedną aktywną sesję na raz, co czyni go nieodpowiednim dla klastra współdzielonego. Punkt Hive w MySQL zamiast tego dodaj właściwości połączenia do hive-site.xml i uruchom ponownie narzędzie z innym typem bazy danych:
$HIVE_HOME/bin/schematool -dbType mysql -initSchema
Pełną listę nieruchomości i umiejscowienie sterowników znajdziesz w przewodniku, jak to zrobić skonfiguruj metamagazyn Hive za pomocą MySQLWarto pamiętać jeszcze o dwóch flagach:
- -informacje raportuje wersję schematu aktualnie zapisaną w metamagazynie bez wprowadzania żadnych zmian.
- -upgradeSchema migruje istniejący metamagazyn do wersji schematu nowo zainstalowanej wersji Hive.
Po ustaleniu schematu powłoka jest gotowa na zaakceptowanie pierwszego polecenia HiveQL.
Polecenia powłoki ula
Tutaj utworzymy przykładową tabelę za pomocą polecenia powłoki Hive „create” z nazwami kolumn.
Przykładowy kod do tworzenia bazy danych w Hive. Poniższy zrzut ekranu pokazuje kolejno polecenia create i describe.
Na powyższym zrzucie ekranu możemy zaobserwować następujące rzeczy:
1) Utworzenie przykładowej tabeli z nazwami kolumn w Hive
- Tutaj nazwa tabeli to „produkt” z trzema nazwami kolumn produkt, nazwa i cena
- Nazwy trzech kolumn są oznaczone odpowiednim typem danych
- Wszystkie pola zakończone są przecinkiem ', '
2) Wyświetlanie informacji z tabeli Hive
- Korzystając z polecenia „describe” możemy zobaczyć informacje o tabeli obecne w Hive
- Tutaj wyświetlane są nazwy kolumn z odpowiadającymi im typami danych obecnymi w schemacie tabeli
- Na końcu wyświetli się czas wykonania tego polecenia i liczba pobranych wierszy
Przykładowy kod do tworzenia bazy danych w Ul (do samodzielnej kontroli)
1) Utwórz tabelę product(product int, pname string, price float)
Row format delimited Fields terminated by ',';
2) opisać produkt;
Gdy tabela odpowie na polecenie „Opisz”, powłoka, metamagazyn i HDFS zostaną ze sobą połączone. Od tego momentu ta sama sesja akceptuje szerszy tworzenie, modyfikowanie i usuwanie tabeli oświadczenia i sortuj według, grupuj według i klastruj według zapytania.
Typowe błędy instalacji Hive Ubuntu i jak je naprawić
Większość błędów pierwszego uruchomienia pochodzi ze środowiska wokół Hive, a nie z samego Hive. Poniższa tabela mapuje najczęściej pojawiające się komunikaty do ich przyczyny i polecenia, które je usuwa.
| Wiadomość na ekranie | Prawdopodobna przyczyna | Fix |
|---|---|---|
| ul: polecenie nie znalezione | HIVE_HOME/bin nie znajduje się w ścieżce PATH | Sprawdź ponownie linie eksportu w bashrc, a następnie uruchom source ~ / .bashrc |
| Informacje o wersji nie zostały znalezione w metamagazynie | Schemat metamagazynu nigdy nie został zainicjowany | Uruchom schematool z opcją -initSchema dla wybranego typu bazy danych |
| Wywołanie localhost:9000 nie powiodło się z powodu wyjątku połączenia | HDFS nie działa | Uruchom demony Hadoop i sprawdź, czy NameNode i DataNode są widoczne JPS |
| Węzeł nazw jest w trybie awaryjnym | NameNode nadal znajduje się w trybie bezpiecznego uruchamiania | Wyjdź z trybu awaryjnego za pomocą hdfs dfsadmin -tryb awaryjny wyjdź |
| Odmowa dostępu: access=WRITE w /user/hive/warehouse | Katalog magazynu nie ma uprawnień do zapisu dla grupy | Zastosuj ponownie hdfs dfs -chmod g+w w katalogach magazynu i tmp |
| NoSuchMethodError w Preconditions.checkArgument | Hive i Hadoop dostarczają różne wersje słoików z guawą | Usuń starszy plik jar Guava z katalogu biblioteki Hive i skopiuj w jego miejsce plik jar Hadoop |
Szybkim sposobem na oddzielenie problemu Hive od problemu Hadoop jest uruchomienie JPS Po pierwsze. Jeśli brakuje demonów, błąd leży po stronie klastra; jeśli są obecne, a powłoka nadal ulega awarii, błąd leży w konfiguracji Hive lub schemacie metadanych. Gdy powłoka jest stabilna, Operatorzy HiveQL i wbudowane funkcje odniesienie jest naturalnym następnym krokiem.







