Come installare HIVE su Ubuntu (Guida al download e alla configurazione)
⚡ Riepilogo intelligente
Apache Hive si installa su Ubuntu Si tratta di un sottile strato di data warehouse sopra un cluster Hadoop già in esecuzione, quindi la configurazione consiste principalmente nell'estrarre un archivio e impostare tre variabili d'ambiente che puntano alle directory corrette.

Prima dell'installazione di Apache Hive è necessario un dedicato Hadoop installazione, attivo e funzionante con tutti i demoni Hadoop.
Per l'installazione di Hadoop, consultare questo link.
Una volta che tutti i daemon di Hadoop funzionano correttamente, è sufficiente avviare l'installazione della parte relativa a Hive. La procedura descritta di seguito si articola in quattro fasi:
Processo di installazione di Apache Hive
- Prerequisiti e compatibilità delle versioni
- Installazione di Hive
- Inizializzazione dello schema Metastore
- Comandi della shell Hive
Prerequisiti per l'installazione di Apache Hive su Ubuntu
Hive non è un database autonomo. È un livello di query che traduce HiveQL in processi che vengono eseguiti su un cluster esistente, quindi quasi ogni installazione fallita tracIl problema è dovuto a un prerequisito mancante piuttosto che a Hive stesso. Prima di scaricare qualsiasi cosa, verifica quanto segue:
- Un JDK supportato. Hive 4.1.x funziona su JDK 17, mentre Hive 4.2.x eleva il minimo a JDK 21. Controlla la versione con java -version e assicurarsi che JAVA_HOME sia esportato.
- Un cluster Hadoop in esecuzione. Sia il NameNode che il DataNode devono essere attivi. Esegui JPS e verificare che NameNode, DataNode, ResourceManager e NodeManager siano tutti presenti nell'elenco.
- Accesso in scrittura a HDFS. L'account che avvia Hive necessita dell'autorizzazione per creare directory sotto HDFS.
- Versioni corrispondenti. Hive 4.2.0 è basato su Hadoop 3.4.1 e Tez 0.10.5. Il supporto per la serie Hive 3.x è terminato nell'ottobre 2024, quindi una nuova installazione dovrebbe essere basata sulla serie 4.x.
- Risorse gratuite. Una configurazione di apprendimento a nodo singolo funziona bene con circa 4 GB di RAM e 20 GB di spazio libero su disco.
Una volta selezionate queste opzioni, la sequenza di download e decompressione descritta di seguito si svolge senza intoppi.
Come installare Hive su Ubuntu
Di seguito è riportato un processo passo passo su come installare Hive in Ubuntu:
Passaggio 1) Scarica e installa Hive su Ubuntu
Per scaricare la configurazione stabile di Hive, fare riferimento a Apache URL come menzionato di seguito.
https://www.apache.org/dyn/closer.cgi/hive/ — vai al URL e selezionare il link di download del mirror Apache. Pagina di download di Apache Hive Questo elenco mostra quali release sono abbinate a ciascuna versione di Hadoop.
La pagina mirror si apre con l'elenco delle directory di rilascio di Hive disponibili, come mostrato di seguito.
Seleziona la versione più recente del programma di installazione di Hive. (Nel mio caso, si tratta della versione 3.1.2 di Hive.) La cartella di rilascio elenca gli archivi binari e sorgente uno accanto all'altro.
Fai clic sul file bin e il download avrà inizio.
Passo 2) Es.tracil file tar
Vai alla posizione del file tar scaricato, quindi eseguitract il file tar utilizzando il seguente comando per installare Hive su Ubuntu sul tuo sistema.
tar -xvf apache-hive-3.1.2-bin.tar.gz
Il terminale visualizza ogni file man mano che viene decompresso nella nuova directory di Hive.
Passaggio 3) Posiziona diverse proprietà di configurazione in Apache Hive
In questa fase, faremo due cose:
- Inserimento del percorso della directory home di Hive nel file bashrc
- Inserimento del percorso della directory principale di Hadoop in hive-config.sh
1) Specifica il percorso di Hive in ~/.bashrc
Apri il file per la modifica con il comando mostrato di seguito.
- Apri il file bashrc come mostrato nella schermata precedente.
- Specifica il percorso della directory principale di Hive, ovvero il percorso HIVE_HOME, nel file bashrc ed esportalo come mostrato di seguito.
Code da inserire in bashrc:
export HIVE_HOME="/home/guru99hive/apache-hive-1.2.0-bin" export PATH=$PATH:$HIVE_HOME/bin
Ricarica il file con fonte ~ / .bashrc quindi il nuovo percorso entra in vigore nella sessione del terminale corrente.
2) Esportazione del percorso Hadoop in hive-config.sh
Per comunicare con l'ecosistema Hadoop, definiamo il percorso della directory principale di Hadoop nel file di configurazione di Hive. Apri hive-config.sh come mostrato di seguito.
Specificare il percorso HADOOP_HOME nel file hive-config.sh come mostrato di seguito.
Passaggio 4) Crea directory Hive in Hadoop
Per comunicare con Hadoop, è necessario creare delle directory in Hadoop come mostrato di seguito. Hive scrive i dati delle tabelle gestite nella directory del data warehouse e l'output di staging nella directory tmp.
Assegnare i permessi di root per creare le cartelle Hive in Hadoop. Se non viene visualizzato alcun messaggio di errore, significa che Hadoop ha assegnato correttamente i permessi alle cartelle Hive.
Passaggio 5) Entrare nel guscio dell'alveare
Entra nel guscio dell'alveare inserendo '. /alveare' comando come mostrato di seguito.
Come inizializzare lo schema del metastore di Hive
Hive memorizza ogni nome di tabella, nome di colonna e tipo di dato in un archivio relazionale chiamato metastore. In una nuova installazione, questo archivio è vuoto e, a partire da Hive 3.x, la shell si rifiuta di avviarsi finché le tabelle dello schema non esistono. L'utility schematool, inclusa nella directory bin di Hive, si occupa di crearle.
Per una configurazione di apprendimento per singolo utente, il database Derby incluso è sufficiente:
$HIVE_HOME/bin/schematool -dbType derby -initSchema
Il comando stampa la versione dello schema che ha creato e termina con schemaTool completatoDerby scrive i suoi file nella directory da cui è stato eseguito il comando, quindi avvia sempre Hive dalla stessa directory in seguito.
Derby accetta una sola sessione attiva alla volta, il che lo rende inadatto a un cluster condiviso. Point Hive a MySQL invece aggiungendo le proprietà di connessione al file hive-site.xml e rieseguendo lo strumento con un tipo di database diverso:
$HIVE_HOME/bin/schematool -dbType mysql -initSchema
L'elenco completo delle proprietà e il posizionamento del conducente sono trattati nella guida su come configurare il metastore Hive con MySQLAltre due bandiere meritano di essere ricordate:
- -Informazioni riporta la versione dello schema attualmente registrata nel metastore senza apportare modifiche.
- -upgradeSchema Esegue la migrazione di un metastore esistente alla versione dello schema della release di Hive appena installata.
Con lo schema impostato, la shell è pronta ad accettare la sua prima istruzione HiveQL.
Comandi della shell Hive
Qui creeremo una tabella di esempio utilizzando il comando shell di Hive "create" con i nomi delle colonne.
Esempio di codice per la creazione di un database in Hive. Lo screenshot seguente mostra l'istruzione CREATE e l'output di DESCRIBE uno dopo l'altro.
Dallo screenshot qui sopra possiamo osservare quanto segue:
1) Creazione di una tabella di esempio con i nomi delle colonne in Hive
- Qui il nome della tabella è "prodotto" con tre nomi di colonne prodotto, nome e prezzo
- I nomi delle tre colonne sono indicati dal rispettivo tipo di dati.
- Tutti i campi sono terminati da una virgola ', '
2) Visualizzazione delle informazioni della tabella Hive
- Utilizzando il comando “describe” possiamo visualizzare le informazioni della tabella presenti in Hive
- Qui vengono visualizzati i nomi delle colonne con i rispettivi tipi di dati presenti nello schema della tabella.
- Alla fine, verrà visualizzato il tempo impiegato per eseguire questo comando e il numero di righe recuperate
Esempio di codice per la creazione di un database in Alveare (per autocontrollo)
1) Crea la tabella prodotto(prodotto intero, nome_prodotto stringa, prezzo float)
Row format delimited Fields terminated by ',';
2) descrivere il prodotto;
Una volta che la tabella risponde a describe, la shell, il metastore e HDFS sono tutti collegati insieme. Da qui la stessa sessione accetta il più ampio creare, modificare ed eliminare una tabella dichiarazioni e il ordina per, raggruppa per e cluster per interrogazioni.
Errori comuni di installazione di Hive su Ubuntu e come risolverli
La maggior parte degli errori al primo avvio deriva dall'ambiente circostante Hive piuttosto che da Hive stesso. La tabella seguente associa i messaggi che compaiono più frequentemente alla loro causa e al comando per eliminarli.
| Messaggio sullo schermo | Causa probabile | Fissare |
|---|---|---|
| hive: comando non trovato | HIVE_HOME/bin non è presente nel PATH | Ricontrolla le righe di esportazione in bashrc, quindi esegui fonte ~ / .bashrc |
| Informazioni sulla versione non trovate nel metastore | Lo schema del metastore non è mai stato inizializzato | Eseguire schematool con l'opzione -initSchema per il tipo di database scelto. |
| La chiamata a localhost:9000 non è riuscita a causa di un'eccezione di connessione. | HDFS non è in esecuzione | Avvia i daemon Hadoop e conferma che NameNode e DataNode appaiono in JPS |
| Il nodo Name è in modalità sicura | Il NameNode è ancora in modalità sicura di avvio. | Esci dalla modalità sicura con hdfs dfsadmin -safemode leave |
| Permesso negato: accesso=SCRITTURA su /user/hive/warehouse | La directory del magazzino non dispone dei permessi di scrittura per il gruppo. | Riapplica hdfs dfs -chmod g+w nelle directory warehouse e tmp |
| Errore NoSuchMethodError su Preconditions.checkArgument | Hive e Hadoop distribuiscono versioni diverse del file jar di Guava. | Elimina il vecchio file jar di Guava nella directory lib di Hive e copia al suo posto quello di Hadoop. |
Un modo rapido per separare un problema di Hive da un problema di Hadoop è eseguire JPS Innanzitutto, se i daemon non sono presenti, il problema è nel cluster; se sono presenti e la shell continua a non funzionare, il problema risiede nella configurazione di Hive o nello schema del metastore. Una volta che la shell è stabile, Operatori e funzioni integrate di HiveQL Il riferimento è la naturale tappa successiva.







