HIVE installeren op Ubuntu (Download- en installatiehandleiding)
⚡ Slimme samenvatting
Apache Hive wordt geïnstalleerd op Ubuntu Het fungeert als een dunne datawarehouse-laag bovenop een reeds draaiend Hadoop-cluster, waardoor de installatie voornamelijk neerkomt op het uitpakken van één archief en het instellen van drie omgevingsvariabelen die naar de juiste mappen verwijzen.
Voordat we Apache Hive installeren, hebben we een aparte omgeving nodig. Hadoop installatie, klaar voor gebruik met alle Hadoop-daemons.
Voor de installatie van Hadoop, raadpleeg dit. link.
Zodra alle Hadoop-daemons naar behoren werken, kunt u beginnen met de installatie van het Hive-gedeelte. De onderstaande stappen beschrijven de installatie in vier fasen:
Installatieproces van Apache Hive
- Vereisten en versiecompatibiliteit
- Installatie van Hive
- Initialisatie van metastoreschema
- Hive shell-opdrachten
Vereisten voor het installeren van Apache Hive op Ubuntu
Hive is geen op zichzelf staande database. Het is een querylaag die HiveQL vertaalt naar taken die worden uitgevoerd op een bestaand cluster, waardoor vrijwel elke mislukte installatie mogelijk wordt. tracHet probleem wijst eerder op een ontbrekende voorwaarde dan op Hive zelf. Controleer het volgende voordat u iets downloadt:
- Een ondersteunde JDK. Hive 4.1.x draait op JDK 17, terwijl Hive 4.2.x de minimale vereiste verhoogt naar JDK 21. Controleer de versie met java -version en zorg ervoor dat JAVA_HOME wordt geëxporteerd.
- Een werkend Hadoop-cluster. Zowel de NameNode als de DataNode moeten actief zijn. Uitvoeren jps en bevestig dat NameNode, DataNode, ResourceManager en NodeManager allemaal in de lijst voorkomen.
- Schrijftoegang tot HDFS. Het account dat Hive start, heeft toestemming nodig om mappen aan te maken onder HDFS.
- Overeenkomende versies. Hive 4.2.0 is gebouwd met Hadoop 3.4.1 en Tez 0.10.5. De Hive 3.x-lijn heeft in oktober 2024 het einde van zijn levenscyclus bereikt, dus een nieuwe installatie moet gericht zijn op de 4.x-lijn.
- Gratis hulpmiddelen. Een leeromgeving met één node werkt prima met ongeveer 4 GB RAM en 20 GB vrije schijfruimte.
Als aan die voorwaarden is voldaan, verloopt het onderstaande download- en uitpakproces zonder problemen.
Hive installeren op Ubuntu
Hieronder vindt u een stapsgewijs proces voor het installeren van Hive Ubuntu:
Stap 1) Download en installeer Hive op Ubuntu
Voor het downloaden van de stabiele Hive-installatie, raadpleeg de volgende informatie: apache URL zoals hieronder vermeld.
https://www.apache.org/dyn/closer.cgi/hive/ — ga naar de URL en selecteer de Apache-mirror-downloadlink. Apache Hive downloadpagina Geeft een overzicht van welke release bij welke Hadoop-versie hoort.
De spiegelpagina wordt geopend met een lijst van beschikbare Hive-releasedirectory's, zoals hieronder weergegeven.
Selecteer de nieuwste versie van de Hive-installatie. (In mijn geval is dat Hive 3.1.2.) In de map 'release' staan de binaire en broncodearchieven naast elkaar.
Klik op het bin-bestand en de download start.
Stap 2) Extract het tar-bestand
Ga naar de locatie van het gedownloade tar-bestand en vervolgens naar de locatie van het bestand.tracPak het tar-bestand uit met behulp van de volgende opdracht om Hive te installeren. Ubuntu op uw systeem.
tar -xvf apache-hive-3.1.2-bin.tar.gz
De terminal geeft elk bestand weer zodra het wordt uitgepakt in de nieuwe Hive-directory.
Stap 3) Plaats verschillende configuratie-eigenschappen in Apache Hive
In deze stap gaan we twee dingen doen:
- Het Hive-thuispad toevoegen aan het bashrc-bestand
- Het Hadoop-thuispad in hive-config.sh plaatsen.
1) Vermeld het Hive-pad in ~/.bashrc
Open het bestand om het te bewerken met de onderstaande opdracht.
- Open het bashrc-bestand zoals weergegeven in de bovenstaande schermafbeelding.
- Vermeld het Hive-thuisdirectorypad, oftewel het HIVE_HOME-pad, in het bashrc-bestand en exporteer het zoals hieronder weergegeven.
Code Dit moet in bashrc worden geplaatst:
export HIVE_HOME="/home/guru99hive/apache-hive-1.2.0-bin" export PATH=$PATH:$HIVE_HOME/bin
Herlaad het bestand met source ~ / .bashrc Het nieuwe pad wordt dus van kracht in de huidige terminalsessie.
2) Het Hadoop-pad exporteren in hive-config.sh
Om met het Hadoop-ecosysteem te communiceren, definiëren we het Hadoop-thuisdirectorypad in het Hive-configuratiebestand. Open hive-config.sh zoals hieronder weergegeven.
Vermeld het HADOOP_HOME-pad in het hive-config.sh-bestand zoals hieronder weergegeven.
Stap 4) Maak Hive-mappen in Hadoop
Om met Hadoop te communiceren, moeten we mappen in Hadoop aanmaken zoals hieronder weergegeven. Hive schrijft de gegevens van beheerde tabellen naar de warehouse-map en de staging-output naar de tmp-map.
Het verlenen van rootrechten om Hive-mappen in Hadoop aan te maken. Als er geen foutmelding verschijnt, betekent dit dat Hadoop de benodigde rechten voor de Hive-mappen succesvol heeft verleend.
Stap 5) Ga naar de Hive-shell
Open de Hive-shell door het volgende in te voeren: '. /bijenkorf' commando zoals hieronder getoond.
Hoe initialiseer ik het Hive Metastore-schema?
Hive bewaart elke tabelnaam, kolomnaam en gegevenstype in een relationele opslag genaamd de metastore. Bij een nieuwe installatie is die opslag leeg, en vanaf Hive 3.x weigert de shell te starten totdat de schema-tabellen bestaan. Het hulpprogramma schematool, dat zich in de bin-directory van Hive bevindt, maakt deze aan.
Voor een leeromgeving voor één gebruiker is de meegeleverde Derby-database voldoende:
$HIVE_HOME/bin/schematool -dbType derby -initSchema
Het commando print de schemaversie die het heeft aangemaakt en eindigt met schemaTool voltooidDerby schrijft zijn bestanden naar dezelfde map van waaruit de opdracht is uitgevoerd, dus start Hive daarna altijd vanuit diezelfde map.
Derby accepteert slechts één actieve sessie tegelijk, waardoor het ongeschikt is voor een gedeeld cluster. Richt Hive op MySQL In plaats daarvan kunt u de verbindingsinstellingen toevoegen aan hive-site.xml en de tool opnieuw uitvoeren met een ander databasetype:
$HIVE_HOME/bin/schematool -dbType mysql -initSchema
De volledige lijst met eigendommen en de plaatsing van chauffeurs worden beschreven in de handleiding. configureer de Hive-metastore met MySQLNog twee vlaggen die het vermelden waard zijn:
- -info rapporteert de schemaversie die momenteel in de metastore is opgeslagen, zonder iets te wijzigen.
- -upgradeSchema Migreert een bestaande metastore naar de schemaversie van de nieuw geïnstalleerde Hive-release.
Nu het schema is ingesteld, is de shell klaar om zijn eerste HiveQL-statement te accepteren.
Hive shell-opdrachten
Hier gaan we een voorbeeldtabel maken met behulp van het Hive shell-commando "create" met kolomnamen.
Voorbeeldcode voor het aanmaken van een database in Hive. De onderstaande schermafbeelding toont de CREATE-instructie en de DESCREEN-uitvoer na elkaar.
Uit de bovenstaande schermafbeelding kunnen we het volgende afleiden:
1) Het maken van een voorbeeldtabel met kolomnamen in Hive
- Hier is de tabelnaam “product” met drie kolomnamen product, pnaam en prijs
- De drie kolomnamen worden aangeduid met hun respectievelijke gegevenstypen.
- Alle velden worden afgesloten met een komma ', '
2) Informatie van Hive-tabellen weergeven
- Met behulp van het commando "describe" kunnen we de tabelinformatie in Hive bekijken.
- Hier worden de kolomnamen weergegeven met de bijbehorende gegevenstypen die in het tabelschema aanwezig zijn.
- Aan het eind wordt de tijd weergegeven die nodig was om de opdracht uit te voeren en het aantal opgehaalde rijen.
Voorbeeldcode voor het aanmaken van een database in Bijenkorf (voor zelfcontrole)
1) Maak een tabel product(product int, pname string, price float)
Row format delimited Fields terminated by ',';
2) beschrijf het product;
Zodra de tabel reageert op de beschrijving, zijn de shell, de metastore en HDFS met elkaar verbonden. Vanaf hier accepteert dezelfde sessie de bredere tabel aanmaken, wijzigen en verwijderen verklaringen en de sorteren op, groeperen op en clusteren op queries.
Veelvoorkomende installatiefouten bij Hive Ubuntu en hoe je ze kunt oplossen
De meeste fouten bij de eerste keer opstarten worden veroorzaakt door de omgeving rond Hive, en niet door Hive zelf. De onderstaande tabel koppelt de meest voorkomende foutmeldingen aan hun oorzaak en het commando dat ze verhelpt.
| Bericht op het scherm | waarschijnlijke oorzaak | Bepalen |
|---|---|---|
| hive: opdracht niet gevonden | HIVE_HOME/bin staat niet in het PATH. | Controleer de exportregels in bashrc nogmaals en voer het vervolgens uit. source ~ / .bashrc |
| Versie-informatie niet gevonden in de metastore. | Het metastore-schema is nooit geïnitialiseerd. | Voer schematool uit met de optie -initSchema voor het gekozen databasetype. |
| De oproep naar localhost:9000 is mislukt vanwege een verbindingsfout. | HDFS werkt niet. | Start de Hadoop-daemons en controleer of NameNode en DataNode verschijnen in jps |
| Namenode bevindt zich in de veilige modus. | De NameNode bevindt zich nog steeds in de opstartveilige modus. | Verlaat de veilige modus met hdfs dfsadmin -safemode leave |
| Toegang geweigerd: toegang=WRITE op /user/hive/warehouse | De magazijnmap heeft geen schrijfrechten voor de groep. | Opnieuw aanvragen hdfs dfs -chmod g+w in de mappen warehouse en tmp |
| NoSuchMethodError bij Preconditions.checkArgument | Hive en Hadoop leveren verschillende Guava JAR-versies. | Verwijder het oude Guava JAR-bestand in de Hive lib-directory en kopieer het Hadoop-bestand ervoor in de plaats. |
Een snelle manier om een Hive-probleem van een Hadoop-probleem te onderscheiden is door het volgende uit te voeren: jps Ten eerste: als de daemons ontbreken, ligt de fout bij het cluster; als ze wel aanwezig zijn en de shell nog steeds niet werkt, ligt de fout bij de Hive-configuratie of het metastore-schema. Zodra de shell stabiel is, HiveQL-operators en ingebouwde functies Referentie is de logische volgende stap.








