Wie kann ich anhand des Befehls Prompt ermitteln, welche Hive-Version ich verwende? Unten sind die Details
Ich verwende PuTTY, um eine Verbindung zur Hive-Tabelle herzustellen und auf Datensätze in den Tabellen zuzugreifen. Ich habe also PuTTY geöffnet und in den Hostnamen habe ich leo-ingesting.vip.name.com
eingegeben und dann auf Open
geklickt. 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;
Gibt es eine Möglichkeit, aus dem Befehl Prompt herauszufinden, welche Hive-Version und welche Hadoop-Version ich verwende?
Die Hive-Version kann nicht über die Befehlszeile abgerufen werden.
Sie können die hadoop-Version, wie von Dave erwähnt, abschließen.
Wenn Sie die Cloudera-Distribution verwenden, schauen Sie direkt in die Bibliotheken:
ls/usr/lib/Hive/lib/und überprüfen Sie die Hive-Bibliothek
Hive-hwi-0.7.1-cdh3u3.jar
Sie können die kompatiblen Versionen auch hier überprüfen:
$ 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.
Bekannt in den folgenden Distributionen:
$ Hive --version Hive 0.14.0.2.2.0.0-2041
Es funktioniert nicht:
$ hadoop version
Hadoop 0.20.2-cdh3u4
Sie sind jedoch nicht sicher, ob Sie die Hive-Version über die Befehlszeile erhalten können. Vielleicht könnten Sie etwas wie die Hive.hwi.war.file
-Eigenschaft verwenden oder es aus dem Klassenpfad ziehen.
Hive -e "set Hive.hwi.war.file;" | cut -d'-' -f3
Das sollte auf jeden Fall funktionieren:
Hive --version
Das Folgende funktioniert auf Hadoop 2.7.2
Hive --version
hadoop version
pig --version
sqoop version
oozie version
Aus dem Hive-Shell-Problem 'set system.Sun.Java.command' Die Hive-cli.jar-Version ist die Hive-Version.
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-cdh4.2.2.jar org.Apache.hadoop.Hive.cli.CliDriver
Hive>
Hive --version
hadoop version
Wir können Hive-Version von finden
über cmds funktioniert auf Hive 0.13 und höher.
System einstellen: Sun.Java.Befehl;
gibt die Hive-Version aus dem Hue-Hive-Editor an und gibt den Namen der JAR-Datei an, die die Version enthält.
Unter dem Befehl funktioniert, habe ich es ausprobiert und die aktuelle Version als
/usr/bin/Hive --version
Wenn Sie beeline
verwenden, um eine Verbindung zu Hive herzustellen, werden in !dbinfo
alle zugrunde liegenden Datenbankdetails angegeben. In der Ausgabe getDatabaseProductVersion
wird die Version der Hive-Datenbank angezeigt.
Beispielausgabe: getDatabaseProductVersion 1.2.1000.2.4.3.0-227
Verwenden Sie den folgenden Befehl, um die Hive-Version zu erhalten
Hive - Service Version
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 Hadoop-Distribution zurück. Ein anderer Ansatz ist, wenn Sie in beeline
eingeben, können Sie die Version sofort finden.
beeline
Beeline version 1.2.1000.x.x.x.x-xx by Apache Hive
Wir können die Version auch erhalten, indem Sie die Version der JAR-Datei Hive-Metastore betrachten.
Zum Beispiel:
$ ls /usr/lib/Hive/lib/ | grep metastore
Hive-metastore-0.13.1.jar
Sie können Hive-Version erhalten
Hive --version
wenn Sie die Hive-Version und die zugehörigen Paketversionen kennen lernen möchten.
rpm -qa|grep Hive
Die Ausgabe wird wie folgt sein.
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 vermittelt ein besseres Verständnis von Hive und seinen Angehörigen. Trotzdem muss rpm vorhanden sein.
Sie können Version von der Befehlszeile erhalten.
Hive> select version();
OK
1.1.0-cdh5.12.0 rUnknown
Time taken: 2.815 seconds, Fetched: 1 row(s)
Hive>
Ja, Sie können die Version Ihres Hives mit dem Befehl "Hive-Befehl" abrufen:
Hive --service version
Sie können eine Liste der verfügbaren Dienstnamen erhalten, indem Sie den folgenden Befehl verwenden:
Hive --service help
eine andere Möglichkeit ist, einen REST -Aufruf durchzuführen, wenn Sie WebHCat (Teil des Hive-Projekts) installiert haben
curl -i http://172.22.123.63:50111/templeton/v1/version/hive?user.name=foo
das wird mit JSON gerne wieder kommen
{"module": "Hive", "version": "1.2.1.2.3.0.0-2458"}
WebHCat-Dokumente enthält einige Details
Verwenden Sie das Versionsflag aus der CLI
[[email protected]~]$ hadoop version
Hadoop 2.7.3-amzn-1
Subversion [email protected]:/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
[[email protected] ~]$ Hive --version
Hive 1.0.0-amzn-8
Subversion git://ip-10-69-189-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
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
Ich konnte die Version von installiertem Hadoop 3.0.3 mit dem folgenden Befehl abrufen
$ HADOOP_HOME/bin $ ./hadoop-Version
was gab mir die folgende Ausgabe
Hadoop 3.0.3
Quellcode-Archiv https: //[email protected]/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Zusammengestellt von yzhang am 2018-05-31T17: 12Z
Zusammengestellt mit protoc 2.5.0
Von Quelle mit Prüfsumme 736cdcefa911261ad56d2d120bf1fa
Dieser Befehl wurde mit /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar ausgeführt
Bei 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 Kopfknoten anmelden und die Hive-Konsole starten, werden einige hilfreiche Konfigurationsinformationen ausgegeben, 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;
Davon würde ich sagen, ich habe Hive Version 0.13 implementiert, was mit dieser Liste der Versionen übereinstimmt https://Hive.Apache.org/downloads.html
/ usr/bin/Hive - Version hat für mich funktioniert.
[[email protected] ~]$ /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
[[email protected] ~]$