Sådan installeres HIVE på Ubuntu (Download og opsætningsvejledning)
⚡ Smart opsummering
Apache Hive installeres på Ubuntu som et tyndt datawarehouse-lag oven på en allerede kørende Hadoop-klynge, så opsætningen handler hovedsageligt om at udpakke ét arkiv og pege tre miljøvariabler mod de rigtige mapper.
Før installation af Apache Hive kræver vi en dedikeret Hadoop installation, op og kører med alle Hadoop-dæmonerne.
For installation af Hadoop, tjek dette link.
Når alle Hadoop-dæmonerne fungerer fint, skal du blot starte installationen af Hive-delen. Gennemgangen nedenfor gennemgår fire faser:
Apache Hive installationsproces
- Forudsætninger og versionskompatibilitet
- Installation af Hive
- Metastore-skemainitialisering
- Hive shell kommandoer
Forudsætninger for installation af Apache Hive Ubuntu
Hive er ikke en selvstændig database. Det er et forespørgselslag, der oversætter HiveQL til job, der kører på en eksisterende klynge, så næsten alle mislykkede installationer tracvender tilbage til en manglende forudsætning i stedet for at bruge Hive selv. Bekræft følgende, før du downloader noget:
- En understøttet JDK. Hive 4.1.x kører på JDK 17, mens Hive 4.2.x hæver minimumskravet til JDK 21. Tjek versionen med java-version og sørg for at JAVA_HOME eksporteres.
- En kørende Hadoop-klynge. Både NameNode og DataNode skal være aktive. Kør JPS og bekræft, at NameNode, DataNode, ResourceManager og NodeManager alle vises på listen.
- Skriveadgang til HDFS. Den konto, der starter Hive, skal have tilladelse til at oprette mapper under HDFS.
- Matchende versioner. Hive 4.2.0 er bygget mod Hadoop 3.4.1 og Tez 0.10.5. Hive 3.x-linjen nåede slutningen af sin levetid i oktober 2024, så en ny installation bør være rettet mod 4.x-linjen.
- Gratis ressourcer. En læringsopsætning med én node er komfortabel med cirka 4 GB RAM og 20 GB ledig diskplads.
Med disse felter markeret, forløber download- og udpakningssekvensen nedenfor uden overraskelser.
Sådan installeres Hive på Ubuntu
Nedenfor er en trin for trin proces om, hvordan du installerer Hive in Ubuntu:
Trin 1) Download og installer Hive på Ubuntu
For at downloade den stabile Hive-opsætning, se Apache URL som nævnt nedenfor.
https://www.apache.org/dyn/closer.cgi/hive/ — gå til URL og vælg downloadlinket til Apache-spejlet. Apache Hive downloadside viser hvilke udgivelser der parres med hvilken Hadoop-version.
Spejlsiden åbnes med en liste over tilgængelige Hive-udgivelsesmapper, som vist nedenfor.
Vælg den seneste version af Hive-opsætningen. (I mit nuværende tilfælde er det hive – 3.1.2.) Udgivelsesmappen viser binær- og kildearkiverne side om side.
Klik på bin-filen, og downloadingen starter.
Trin 2) F.eks.tract tar-filen
Gå til den downloadede tar-filplacering, og derefter f.eks.tracUdfør tar-filen ved at bruge følgende kommando til at installere Hive på Ubuntu på dit system.
tar -xvf apache-hive-3.1.2-bin.tar.gz
Terminalen gentager hver fil, når den pakkes ud i den nye Hive-mappe.
Trin 3) Placer forskellige konfigurationsegenskaber i Apache Hive
I dette trin skal vi gøre to ting:
- Placering af Hive-startstien i bashrc-filen
- Placering af Hadoop-hjemmestiens placering i hive-config.sh
1) Nævn Hive-stien i ~/.bashrc
Åbn filen til redigering med kommandoen vist nedenfor.
- Åbn bashrc-filen som vist på skærmbilledet ovenfor
- Angiv Hive-startstien, dvs. HIVE_HOME-stien, i bashrc-filen og eksporter den som vist nedenfor.
Code skal placeres i bashrc:
export HIVE_HOME="/home/guru99hive/apache-hive-1.2.0-bin" export PATH=$PATH:$HIVE_HOME/bin
Genindlæs filen med kilde ~ / .bashrc så den nye sti træder i kraft i den nuværende terminalsession.
2) Eksport af Hadoop-stien i hive-config.sh
For at kommunikere med Hadoop-økosystemet definerer vi Hadoop-startstien i Hive-konfigurationsfilen. Åbn hive-config.sh som vist nedenfor.
Angiv HADOOP_HOME-stien i hive-config.sh-filen som vist nedenfor.
Trin 4) Opret Hive-mapper i Hadoop
For at kommunikere med Hadoop skal vi oprette mapper i Hadoop som vist nedenfor. Hive skriver administrerede tabeldata til warehouse-mappen og staging-output til tmp-mappen.
Giver root-tilladelser til at oprette Hive-mapper i Hadoop. Hvis der ikke vises nogen fejlmeddelelse, betyder det, at Hadoop har givet tilladelser til Hive-mapperne.
Trin 5) Gå ind i Hive-skallen
Kom ind i Hive-skallen ved at indtaste '. /hive' kommando som vist nedenfor.
Sådan initialiserer du Hive-metastore-skemaet
Hive gemmer alle tabelnavne, kolonnenavne og datatyper i et relationslager kaldet metastore. Ved en frisk installation er dette lager tomt, og fra Hive 3.x og fremefter nægter shell'en at starte, før skematabellerne findes. Schematool-værktøjet, der følger med i Hive bin-mappen, opretter dem.
For en enkeltbruger-læringsopsætning er den medfølgende Derby-database tilstrækkelig:
$HIVE_HOME/bin/schematool -dbType derby -initSchema
Kommandoen udskriver den oprettede skemaversion og slutter med skemaværktøjet er færdigtDerby skriver sine filer til den mappe, som kommandoen blev kørt fra, så start altid Hive fra den samme mappe bagefter.
Derby accepterer kun én aktiv session ad gangen, hvilket gør det uegnet til en delt klynge. Point Hive på MySQL i stedet ved at tilføje forbindelsesegenskaberne til hive-site.xml og køre værktøjet igen med en anden databasetype:
$HIVE_HOME/bin/schematool -dbType mysql -initSchema
Den fulde liste over egenskaber og placering af drivere er dækket i vejledningen om, hvordan man konfigurer Hive-metastoren med MySQLTo flag mere er værd at huske:
- - info rapporterer den skemaversion, der aktuelt er registreret i metastoren, uden at ændre noget.
- -opgraderingsskema migrerer en eksisterende metastore til skemaversionen af den nyinstallerede Hive-udgivelse.
Med skemaet på plads er skallen klar til at acceptere sin første HiveQL-sætning.
Hive shell kommandoer
Her skal vi oprette en eksempeltabel ved hjælp af Hive-shell-kommandoen "create" med kolonnenavne.
Eksempelkode til oprettelse af en database i Hive. Skærmbilledet nedenfor viser create-sætningen og describe-outputtet efter hinanden.
Fra ovenstående skærmbillede kan vi observere følgende:
1) Oprettelse af en eksempeltabel med kolonnenavne i Hive
- Her er tabelnavnet "produkt" med tre kolonnenavne produkt, navn og pris
- De tre kolonnenavne er angivet med deres respektive datatype
- Alle felter afsluttes med et komma ', '
2) Visning af Hive-tabeloplysninger
- Ved at bruge kommandoen "beskriv" kan vi se tabeloplysningerne i Hive.
- Her vises kolonnenavne med deres respektive datatyper, der er til stede i tabelskemaet.
- Til sidst vil den vise den tid, det tog at udføre denne kommando, og antallet af rækker, den hentede
Eksempelkode til oprettelse af en database i Hive (til selvtjek)
1) Opret tabel product(product int, pname string, price float)
Row format delimited Fields terminated by ',';
2) beskriv produktet;
Når tabellen svarer på en beskrivelse, forbindes skallen, metastoren og HDFS. Herfra accepterer den samme session den bredere version. oprette, ændre og slette tabel udtalelser og sorter efter, grupper efter og klyng efter forespørgsler.
Almindelige Hive-installationsfejl på Ubuntu og hvordan man fikser dem
De fleste fejl i første kørsel kommer fra miljøet omkring Hive snarere end fra Hive selv. Tabellen nedenfor viser de meddelelser, der vises oftest, årsagen til dem, og den kommando, der fjerner dem.
| Besked på skærmen | Sandsynlig årsag | Fix |
|---|---|---|
| hive: kommando ikke fundet | HIVE_HOME/bin er ikke på PATH | Tjek eksportlinjerne i bashrc igen, og kør derefter kilde ~ / .bashrc |
| Versionsoplysninger blev ikke fundet i metastore | Metastore-skemaet blev aldrig initialiseret | Kør schematool med -initSchema for den valgte databasetype |
| Opkald til localhost:9000 mislykkedes på grund af forbindelsesundtagelse | HDFS kører ikke | Start Hadoop-dæmonerne og bekræft, at NameNode og DataNode vises i JPS |
| Navnenoden er i sikker tilstand | NameNode er stadig i sikker opstartstilstand | Forlad sikker tilstand med hdfs dfsadmin -safemode forlad |
| Tilladelse nægtet: adgang=SKRIV på /bruger/hive/lager | Lagermappen mangler skrivetilladelse til gruppe | Ansøg igen hdfs dfs -chmod g+w på warehouse- og tmp-mapperne |
| NoSuchMethodError på Preconditions.checkArgument | Hive og Hadoop leverer forskellige Guava-krukkeversioner | Slet den ældre Guava-jar i Hive lib-mappen, og kopier Hadoop-jar'en i stedet. |
En hurtig måde at adskille et Hive-problem fra et Hadoop-problem er at køre JPS først. Hvis dæmonerne mangler, er klyngen fejlen; hvis de er til stede, og skallen stadig fejler, ligger fejlen i Hive-konfigurationen eller metastore-skemaet. Når skallen er stabil, HiveQL-operatorer og indbyggede funktioner Reference er det naturlige næste stop.








