Woher kennen Sie die Hive- und Hadoop-Versionen an der Eingabeaufforderung?


86

Wie kann ich an der Eingabeaufforderung herausfinden, welche Hive-Version ich verwende? Unten ist die Details-

Ich verwende Putty, um eine Verbindung zur Hive-Tabelle herzustellen und auf Datensätze in den Tabellen zuzugreifen. Also habe ich Putty geöffnet und in den Hostnamen, den ich eingegeben habe, geklickt leo-ingesting.vip.name.comund dann geklickt Open. Und dann habe ich meinen Benutzernamen und mein Passwort eingegeben und dann ein paar Befehle, um zu Hive SQL zu gelangen. Unten ist die Liste, was ich getan habe

$ 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;

Kann ich an der Eingabeaufforderung herausfinden, welche Hive-Version ich verwende und welche Hadoop-Version ich auch verwende?


1
Kann ich darum bitten, dass jede einzelne CLI auf der Welt beginnt, -v, --v, -version und --version als Aliase für einander zu unterstützen, damit wir alle einfach mit unserem Leben weitermachen können?
Jarmod

Sie können nicht: gnu getopt würde -version zum Beispiel als -v -e -r -s -i -o -n betrachten. Außerdem verwendet die richtige CLI -v als Alias ​​für --verbose.
Konstantin Svintsov

Antworten:


35

Sie können keine Hive-Version über die Befehlszeile abrufen.

Sie können die von Dave erwähnte Hadoop-Version auschecken.

Auch wenn Sie die Cloudera-Distribution verwenden, sehen Sie sich direkt die Bibliotheken an:

ls / usr / lib / hive / lib / und suchen Sie nach der Hive-Bibliothek

hive-hwi-0.7.1-cdh3u3.jar

Sie können die kompatiblen Versionen auch hier überprüfen:

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


2
Bist du sicher, dass der Weg ist /usr/lib/hive/lib/?
Arsenal

@RaihanJamal: Ja, wenn Sie die Cloudera-Distribution verwenden. :)
Pyfunc

1
Ja, Sie können es von der Befehlszeile erhalten: hive -e "setze hive.hwi.war.file;" grep hwi cut -d'- '-f3
David

1
Ich bekomme "hive.hwi.war.file is undefined"
rajibdotnet

9
hive --version zeigt die Version. [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

144
$ hive --version
Hive version 0.8.1.3

BEARBEITEN: Vor der Version wurde ein weiteres '-' hinzugefügt. Funktioniert nicht für neuere Versionen. Hoffe, es funktioniert jetzt für alle.

Es ist bekannt, dass es in folgenden Distributionen funktioniert:

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

Es funktioniert nicht:

  • CDH 4.3
  • HDinsight (Azure)

2
Ich habe keine Ahnung, warum jemand dies abgelehnt hat, aber es funktioniert für mich. Möglicherweise ist es spezifisch für Amazon Elastic MapReduce (EMR) oder für die Hive-Version.
dfrankow

1
Ich habe Cloudera 5.11.
Hat gut funktioniert

CDH 5.15, hat für mich gearbeitet. Java HotSpot (TM) 64-Bit-Server-VM-Warnung: ... Hive 1.1.0-cdh5.15.2 Ich weiß nicht, warum diese Antwort auf der zweiten und nicht auf der ersten Position steht
Statiker oder

35
$ hadoop version
Hadoop 0.20.2-cdh3u4

Ich bin mir jedoch nicht sicher, ob Sie die Hive-Version über die Befehlszeile abrufen können. Vielleicht könnten Sie so etwas wie die hive.hwi.war.fileEigenschaft verwenden oder sie aus dem Klassenpfad ziehen.


Danke Dave, es hat funktioniert. Ich stelle diese Frage, da ich versuche, mit SQL Client auf Hive-Metadaten zuzugreifen. Aber irgendwie kann ich das nicht. Ich habe die Frage hier gepostet. Können Sie einen Blick in diese nehmen bitte http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty. Jede Hilfe wird geschätzt.
Arsenal

@ RaihanJamal Ich habe keine Ahnung; Ich habe noch nie versucht, so etwas mit Hive zu verwenden.
Dave Newton


14

Sie können die Version über die Befehlszeile erhalten.

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

Das Folgende funktioniert unter Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

Aus dem Hive-Shell-Problem 'set system.sun.java.command' Die hive-cli.jar-Version ist die Hive-Version.

<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>

Das obige Beispiel zeigt Hive Version 0.10.0 für CDH Version 4.2.2


Jai kannst du sagen was es tut !!
YouAreAwesome

system.sun.java.command wird bereits von hive gesetzt und tut nichts. Dies ist eine Möglichkeit, die Hive-Version herauszufinden.
Jai Prakash


7

Wir können Hive-Version von finden

  • auf Linux Shell: "Hive --version"
  • auf Bienenstockschale: "! Bienenstockversion;"

über cmds funktioniert auf Bienenstock 0.13 und höher.

System einstellen: sun.java.command;
Gibt die Hive-Version aus dem Hue Hive-Editor an. Gibt den JAR-Namen an, der die Version enthält.


6

Verwenden Sie das Versionsflag von der 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

5

Der folgende Befehl funktioniert, ich habe es versucht und die aktuelle Version als erhalten

/usr/bin/hive --version

Hallo Shikhar, welche Hadoop-Version versuchst du? Das hat für mich auf Cloudera CDH 5
Navneet Kumar

4

Wenn Sie beelineeine Verbindung zum Hive herstellen, !dbinfowerden alle zugrunde liegenden Datenbankdetails angegeben und in der Ausgabe getDatabaseProductVersionwird die Hive-Datenbankversion angezeigt.

Beispielausgabe: getDatabaseProductVersion 1.2.1000.2.4.3.0-227


3

Wenn Sie die hortonworks-Distribution verwenden und dann die CLI verwenden, können Sie die Version mit dem folgenden Befehl abrufen:

hive --version

Beispielausgabe


2

Wir können die Version auch erhalten, indem wir uns die Version der Hive-Metastore-JAR-Datei ansehen.

Beispielsweise:

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

2

Sie können Hive-Version erhalten

hive --version

Wenn Sie die Hive-Version und die zugehörigen Paketversionen kennen möchten.

rpm -qa|grep hive

Die Ausgabe erfolgt wie unten.

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

Letzteres gibt ein besseres Verständnis des Bienenstocks und seiner Angehörigen. Trotzdem muss die Drehzahl vorhanden sein.


2

Verwenden Sie den folgenden Befehl, um die Hive-Version abzurufen

Hive - Service Version


2

Von Ihrer SSH-Verbindung zum Edge-Knoten können Sie einfach eingeben

hive --version

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

Dies gibt die Hive-Version für Ihre Distribution von Hadoop zurück. Ein anderer Ansatz ist, wenn Sie eintreten beeline, können Sie die Version sofort finden.

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

1

Eine andere Möglichkeit besteht darin, einen REST-Aufruf durchzuführen, wenn WebHCat (Teil des Hive-Projekts) installiert ist

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

das wird mit JSON wie zurückkommen

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

WebHCat-Dokumente enthalten einige Details


1

Ja, Sie können die Version Ihres Bienenstocks mit dem Befehl "Bienenstock" abrufen:

hive --service version

Sie können eine Liste der verfügbaren Dienstnamen abrufen, indem Sie den folgenden "Hive-Befehl" verwenden:

hive --service help

0

Sie können nach der JAR-Datei suchen, sobald Sie sich bei Hive anmelden

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 hat bei mir funktioniert.

[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

Auf HDInsight habe ich die Hive-Version ausprobiert, aber die Option wurde nicht erkannt oder in der Hilfe erwähnt.

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)

Wenn Sie sich jedoch am Hauptknoten anmelden und die Hive-Konsole starten, werden einige hilfreiche Konfigurationsinformationen gedruckt, aus denen die Version gelesen werden kann:

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;

Aus diesem Grund würde ich sagen, dass ich Hive Version 0.13 bereitgestellt habe, was mit dieser Liste von Versionen https://hive.apache.org/downloads.html übereinstimmt


0

Ich konnte die Version von installiertem Hadoop 3.0.3 mit dem folgenden Befehl
$ HADOOP_HOME / bin $ ./hadoop Version abrufen,
der mir die folgende Ausgabe gab

Hadoop 3.0.3
Quellcode-Repository https: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Kompiliert von yzhang am 2018-05-31T17: 12Z
Kompiliert mit prot
Aus der Quelle mit Prüfsumme 736cdcefa911261ad56d2d120bf1fa
Dieser Befehl wurde mit /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar ausgeführt


0

um die Hive-Version auf einer EC2-Instanz zu identifizieren, verwenden Sie

hive --version
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.