Come conoscere le versioni di Hive e Hadoop dal prompt dei comandi?


88

Come posso trovare la versione di Hive che sto utilizzando dal prompt dei comandi. Di seguito sono riportati i dettagli-

Sto usando Putty per connettermi alla tabella hive e accedere ai record nelle tabelle. Quindi quello che ho fatto è - ho aperto Putty e nel nome host ho digitato - leo-ingesting.vip.name.come poi ho cliccato Open. E poi ho inserito il mio nome utente e password e poi alcuni comandi per arrivare a Hive sql. Di seguito è riportato l'elenco di cosa ho fatto

$ bash
bash-3.00$ hive
Hive history file=/tmp/rkost/hive_job_log_rkost_201207010451_1212680168.txt
hive> set mapred.job.queue.name=hdmi-technology;
hive> select * from table LIMIT 1;

Quindi esiste un modo dal prompt dei comandi per trovare la versione di hive che sto utilizzando e anche la versione di Hadoop?


1
Posso fare una richiesta che ogni singola CLI nel mondo inizi a supportare -v, --v, -version e --version come alias l'uno per l'altro in modo che possiamo andare avanti con le nostre vite.
jarmod

non puoi: gnu getopt considererebbe -version come -v -e -r -s -i -o -n, per esempio. Inoltre, la CLI corretta utilizza -v come alias per --verbose.
Konstantin Svintsov

Risposte:


35

Non è possibile ottenere la versione di hive dalla riga di comando.

Puoi controllare la versione hadoop come menzionato da Dave.

Inoltre, se stai utilizzando la distribuzione cloudera, guarda direttamente le librerie:

ls / usr / lib / hive / lib / e controlla la libreria hive

hive-hwi-0.7.1-cdh3u3.jar

Puoi anche controllare le versioni compatibili qui:

http://www.cloudera.com/content/cloudera/en/documentation/cdh5/v5-1-x/CDH-Version-and-Packaging-Information/CDH-Version-and-Packaging-Information.html


2
Sei sicuro che il percorso sia /usr/lib/hive/lib/?
Arsenal

@RaihanJamal: Sì, se stai utilizzando la distribuzione cloudera. :)
pyfunc

1
sì, puoi ottenerlo dalla riga di comando: hive -e "set hive.hwi.war.file;" | grep hwi | tagliare -d'- '-f3
David

1
Ricevo "hive.hwi.war.file is undefined"
rajibdotnet

9
hive --version mostra la versione. [root@mysupercomputer ~]# hive --version Hive 1.2.1 Subversion git://localhost.localdomain/home/sush/dev/hive.git -r 243e7c1ac39cb7ac8b65c5bc6988f5cc3162f558 Compiled by sush on Fri Jun 19 02:03:48 PDT 2015 From source with checksum ab480aca41b24a9c3751b8c023338231
Sridhar

146
$ hive --version
Hive version 0.8.1.3

EDIT: aggiunto un altro '-' prima della versione. Non funziona per le versioni più recenti. Spero che funzioni per tutti ora.

Noto per funzionare nelle seguenti distribuzioni:

  • Distribuzione HortonWorks: $ hive --version Hive 0.14.0.2.2.0.0-2041
  • CDH 5.3

Non funziona:

  • CDH 4.3
  • HDinsight (Azure)

2
Non ho idea del motivo per cui qualcuno abbia votato in modo negativo, ma per me funziona. Forse è specifico per Amazon Elastic MapReduce (EMR) o per la versione Hive.
dfrankow

1
Ho cloudera 5.11. Ha funzionato bene per me
jony70

CDH 5.15, ha funzionato per me. Avviso Java HotSpot (TM) Server VM a 64 bit: ... Hive 1.1.0-cdh5.15.2 Non so perché questa risposta si trova nella seconda, non nella prima posizione
statica

35
$ hadoop version
Hadoop 0.20.2-cdh3u4

Tuttavia, non sono sicuro di poter ottenere la versione di Hive dalla riga di comando. Forse potresti usare qualcosa come la hive.hwi.war.fileproprietà o estrarla dal classpath, però.


Grazie Dave, ha funzionato. Sto facendo questa domanda poiché sto cercando di accedere ai metadati di Hive utilizzando il client SQL. Ma in qualche modo non sono in grado di farlo. Ho pubblicato la domanda qui. Puoi per favore dare un'occhiata a questo http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty. Qualsiasi aiuto sarà apprezzato.
Arsenal

@RaihanJamal Non ne ho idea; Non ho mai provato a usare niente del genere con Hive.
Dave Newton


14

Puoi ottenere la versione dalla riga di comando.

hive> select version();
OK
1.1.0-cdh5.12.0 rUnknown
Time taken: 2.815 seconds, Fetched: 1 row(s)
hive>

13
hive -e "set hive.hwi.war.file;" | cut -d'-' -f3

10

Quanto segue funziona su Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

Dal problema della shell hive "set system.sun.java.command" La versione hive-cli.jar è la versione hive.

<code>
hive> set system:sun.java.command;
system:sun.java.command=org.apache.hadoop.util.RunJar /opt/cloudera/parcels/CDH-4.2.2-1.cdh4.2.2.p0.10/bin/../lib/hive/lib/hive-cli-**0.10.0**-cdh**4.2.2**.jar org.apache.hadoop.hive.cli.CliDriver
hive> 
</code>

L'esempio precedente mostra la versione 0.10.0 di Hive per la versione 4.2.2 di CDH


Jai puoi dire cosa fa !!
YouAreAwesome

system.sun.java.command sarà già impostato da hive e non fa nulla. È un modo per scoprire la versione dell'alveare.
Jai Prakash


8

Utilizza il flag di versione dalla CLI

[hadoop@usernode~]$ hadoop version
Hadoop 2.7.3-amzn-1
Subversion git@aws157git.com:/pkg/Aws157BigTop -r d94115f47e58e29d8113a887a1f5c9960c61ab83
Compiled by ec2-user on 2017-01-31T19:18Z
Compiled with protoc 2.5.0
From source with checksum 1833aada17b94cfb94ad40ccd02d3df8
This command was run using /usr/lib/hadoop/hadoop-common-2.7.3-amzn-1.jar


[hadoop@usernode ~]$ hive --version
Hive 1.0.0-amzn-8
Subversion git://ip-20-69-181-31/workspace/workspace/bigtop.release-rpm-4.8.4/build/hive/rpm/BUILD/apache-hive-1.0.0-amzn-8-src -r d94115f47e58e29d8113a887a1f5c9960c61ab83
Compiled by ec2-user on Tue Jan 31 19:51:34 UTC 2017
From source with checksum 298304aab1c4240a868146213f9ce15f

7

Possiamo trovare la versione dell'alveare di

  • nella shell di Linux: "hive --version"
  • sulla shell dell'alveare: "! hive --version;"

sopra cmds funziona su hive 0.13 e versioni successive.

Imposta sistema: sun.java.command;
fornisce la versione hive dall'editor hue hive dà il nome del vaso che include la versione.


5

Sotto il comando funziona, ho provato questo e ho ottenuto la versione corrente come

/usr/bin/hive --version

Ciao Shikhar, quale versione di Hadoop stai provando ha funzionato per me su cloudera CDH 5
Navneet Kumar

4

Se si utilizza beelineper connettersi a hive, !dbinfoverranno forniti tutti i dettagli del database sottostante e nell'output getDatabaseProductVersionla versione del database hive.

Output di esempio: getDatabaseProductVersion 1.2.1000.2.4.3.0-227


3

Se stai usando la distribuzione hortonworks, usando la CLI puoi ottenere la versione con il comando:

hive --version

Output di esempio


2

Possiamo anche ottenere la versione guardando la versione del file jar hive-metastore.

Per esempio:

$ ls /usr/lib/hive/lib/ | grep metastore
hive-metastore-0.13.1.jar

2

Puoi ottenere la versione Hive

hive --version

se vuoi conoscere la versione di hive e le relative versioni del pacchetto.

rpm -qa|grep hive

L'output sarà come di seguito.

libarchive2-2.5.5-5.19
hive-0.13.0.2.1.2.2-516
perl-Archive-Zip-1.24-2.7
hive-jdbc-0.13.0.2.1.2.2-516
webhcat-tar-hive-0.13.0.2.1.2.2_516-2
hive-webhcat-0.13.0.2.1.2.2-516
hive-hcatalog-0.13.0.2.1.2.2-516

Quest'ultimo fornisce una migliore comprensione dell'alveare e dei suoi dipendenti. Tuttavia deve essere presente rpm.


2

Usa il comando seguente per ottenere la versione di hive

hive - versione del servizio


2

Dalla tua connessione SSH al nodo perimetrale, puoi semplicemente digitare

hive --version

Hive 1.2.1000.x.x.x.x-xx

Ciò restituisce la versione Hive per la tua distribuzione di Hadoop. Un altro approccio è che se entri in beeline, puoi trovare subito la versione.

beeline
Beeline version 1.2.1000.x.x.x.x-xx by Apache Hive

1

un altro modo è fare una chiamata REST, se hai installato WebHCat (parte del progetto Hive), è

curl -i http://172.22.123.63:50111/templeton/v1/version/hive?user.name=foo

che tornerà con JSON come

{"module": "hive", "version": "1.2.1.2.3.0.0-2458"}

La documentazione di WebHCat ha alcuni dettagli


1

Sì, puoi ottenere la versione del tuo hive utilizzando "comando hive":

hive --service version

È possibile ottenere un elenco dei nomi dei servizi disponibili utilizzando il seguente "comando hive":

hive --service help

0

puoi cercare il file jar non appena accedi ad hive

jar:file:/opt/mapr/hive/hive-0.12/lib/hive-common-0.12-mapr-1401-140130.jar!/hive-log4j.properties

0

/ usr / bin / hive --version ha funzionato per me.

[qa@ip-10-241-1-222 ~]$ /usr/bin/hive --version
Hive 0.13.1-cdh5.3.1
Subversion file:///data/1/jenkins/workspace/generic-package-rhel64-6-0/topdir/BUILD/hive-0.13.1-cdh5.3.1 -r Unknown
Compiled by jenkins on Tue Jan 27 16:38:55 PST 2015
From source with checksum 1bb86e4899928ce29cbcaec8cf43c9b6
[qa@ip-10-241-1-222 ~]$

0

In HDInsight ho provato l'hive --version, ma non ha riconosciuto l'opzione né lo ha menzionato nella Guida.

D:\Users\admin1>%hive_home%/bin/hive --version
Unrecognized option: --version
usage: hive
 -d,--define <key=value>          Variable subsitution to apply to hive
                                  commands. e.g. -d A=B or --define A=B
    --database <databasename>     Specify the database to use
 -e <quoted-query-string>         SQL from command line
 -f <filename>                    SQL from files
 -H,--help                        Print help information
 -h <hostname>                    connecting to Hive Server on remote host
    --hiveconf <property=value>   Use value for given property
    --hivevar <key=value>         Variable subsitution to apply to hive
                                  commands. e.g. --hivevar A=B
 -i <filename>                    Initialization SQL file
 -p <port>                        connecting to Hive Server on port number
 -S,--silent                      Silent mode in interactive shell
 -v,--verbose                     Verbose mode (echo executed SQL to the
                                  console)

Tuttavia, quando si accede al nodo head e si avvia la console hive, vengono stampate alcune utili informazioni di configurazione da cui è possibile leggere la versione:

D:\Users\admin1>%hive_home%/bin/hive 
Logging initialized using configuration in file:/C:/apps/dist/hive-0.13.0.2.1.11.0-2316/conf/hive-log4j.properties
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/apps/dist/hadoop-2.4.0.2.1.11.0-2316/share/hadoop/common/lib/slf4j-log4j12-1.7.5.j
ar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/apps/dist/hbase-0.98.0.2.1.11.0-2316-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4
j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
hive> quit;

Da questo direi che ho distribuito la versione 0.13 di Hive, che è coerente con questo elenco di versioni https://hive.apache.org/downloads.html


0

Sono stato in grado di ottenere la versione di Hadoop 3.0.3 installata con il seguente comando
$ HADOOP_HOME / bin $ ./hadoop version
che mi ha fornito il seguente output

Hadoop 3.0.3
Repository del codice sorgente https: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Compilato da yzhang il 2018-05-31T17: 12Z
Compilato con protoc 2.5.0
Dalla sorgente con checksum 736cdcefa911261ad56d2d120bf1fa
Questo comando è stato eseguito utilizzando /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar


0

per identificare la versione dell'hive su un'istanza EC2

hive --version
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.