Jak poznać wersje Hive i Hadoop z wiersza polecenia?

88

Jak mogę znaleźć używaną wersję programu Hive w wierszu polecenia. Poniżej znajdują się szczegóły-

Używam Putty do łączenia się z tabelą ula i uzyskiwania dostępu do rekordów w tabelach. Więc co zrobiłem - otworzyłem Putty i wpisałem nazwę hosta - leo-ingesting.vip.name.coma potem kliknąłem Open. Następnie wpisałem swoją nazwę użytkownika i hasło, a następnie kilka poleceń, aby dostać się do Hive sql. Poniżej znajduje się lista tego, co zrobiłem

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

Czy jest jakiś sposób z wiersza polecenia, aby znaleźć używaną wersję gałęzi i wersję Hadoop?

Arsenał
źródło
1
Czy mogę zażądać, aby każdy pojedynczy CLI na świecie zaczął obsługiwać -v, --v, -version i --version jako aliasy dla siebie nawzajem, abyśmy wszyscy mogli po prostu żyć dalej.
jarmod
nie możesz: gnu getopt potraktowałoby -version jako -v -e -r -s -i -o -n, na przykład. Ponadto, właściwy CLI używa -v jako aliasu dla --verbose.
Konstantin Svintsov

Odpowiedzi:

35

Nie można pobrać wersji gałęzi z wiersza poleceń.

Możesz sprawdzić wersję hadoopa, o której wspomniał Dave.

Również jeśli używasz dystrybucji Cloudera, spójrz bezpośrednio na biblioteki:

ls / usr / lib / hive / lib / i sprawdź bibliotekę hive

hive-hwi-0.7.1-cdh3u3.jar

Możesz również sprawdzić kompatybilne wersje tutaj:

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

pyfunc
źródło
2
Czy na pewno ścieżka jest /usr/lib/hive/lib/?
arsenał
@RaihanJamal: Tak, jeśli używasz dystrybucji Cloudera. :)
pyfunc
1
tak, możesz go pobrać z linii poleceń: hive -e "set hive.hwi.war.file;" | grep hwi | cut -d'- '-f3
David
1
Otrzymuję informację „hive.hwi.war.file is undefined”
rajibdotnet
9
hive --version pokazuje wersję. [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

EDYCJA: dodano kolejny znak „-” przed wersją. Nie działa w nowszych wersjach. Mam nadzieję, że teraz to działa dla wszystkich.

Znany z pracy w następujących dystrybucjach:

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

To nie działa:

  • CDH 4,3
  • HDinsight (Azure)
dfrankow
źródło
2
Nie mam pojęcia, dlaczego ktoś to zlekceważył, ale dla mnie to działa. Może jest specyficzny dla Amazon Elastic MapReduce (EMR) lub dla wersji Hive.
dfrankow
1
Mam Cloudera 5.11. Działało dobrze dla mnie
jony70
CDH 5.15, działał dla mnie. Java HotSpot (TM) 64-bitowy serwer VM Ostrzeżenie: ... Hive 1.1.0-cdh5.15.2 Nie wiem, dlaczego ta odpowiedź jest na drugiej, a nie pierwszej pozycji
statyczny lub
35
$ hadoop version
Hadoop 0.20.2-cdh3u4

Nie jestem jednak pewien, czy możesz pobrać wersję Hive z wiersza poleceń. Może jednak mógłbyś użyć czegoś takiego jak hive.hwi.war.filewłasność lub wyciągnąć ją ze ścieżki klas.

Dave Newton
źródło
Dzięki Dave, zadziałało. Zadaję to pytanie, ponieważ próbuję uzyskać dostęp do metadanych Hive za pomocą klienta SQL. Ale jakoś nie jestem w stanie tego zrobić. Opublikowałem pytanie tutaj. Czy mógłbyś przyjrzeć się temu http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty. Każda pomoc zostanie doceniona.
arsenał
@RaihanJamal Nie mam pojęcia; Nigdy nie próbowałem używać czegoś takiego z Hive.
Dave Newton,
14

To z pewnością powinno działać:

hive --version
Manas Jani
źródło
14

Możesz pobrać wersję z wiersza poleceń.

hive> select version();
OK
1.1.0-cdh5.12.0 rUnknown
Time taken: 2.815 seconds, Fetched: 1 row(s)
hive>
Konstantin Svintsov
źródło
13
hive -e "set hive.hwi.war.file;" | cut -d'-' -f3
David
źródło
10

Poniższe działa na Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version
viru
źródło
9

Z problemu z powłoką ula „set system.sun.java.command” Wersja hive-cli.jar jest wersją gałęzi.

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

Powyższy przykład przedstawia Hive w wersji 0.10.0 dla CDH w wersji 4.2.2

Jai Prakash
źródło
Jai, czy możesz powiedzieć, co to robi !!
YouAreAwesome
System.sun.java.command zostanie już ustawiony przez gałąź i nic nie robi. To jedyny sposób, aby dowiedzieć się, jaka jest wersja ula.
Jai Prakash
8
hive --version

hadoop version
MysticForce
źródło
8

Użyj flagi wersji z CLI

[hadoop@usernode~]$ 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


[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
Savio D'Souza
źródło
7

Możemy znaleźć wersję ula wg

  • w powłoce systemu Linux: „hive --version”
  • w powłoce ula: "! hive --version;"

powyżej cmds działa na ulu 0.13 i nowszych.

Ustaw system: sun.java.command;
podaje wersję gałęzi z edytora hue hive. podaje nazwę jar zawierającą wersję.

Abhishek
źródło
5

Poniższe polecenie działa, próbowałem tego i otrzymałem aktualną wersję jako

/usr/bin/hive --version
Navneet Kumar
źródło
Cześć Shikhar, która wersja Hadoop, którą próbujesz, zadziałała dla mnie na Cloudera CDH 5
Navneet Kumar
4

Jeśli używasz beelinedo łączenia się z gałęzią, !dbinfopoda wszystkie szczegóły podstawowej bazy danych i dane wyjściowegetDatabaseProductVersion będą miały wersję bazy danych gałęzi.

Przykładowe dane wyjściowe: getDatabaseProductVersion 1.2.1000.2.4.3.0-227

venkata
źródło
3

Jeśli używasz dystrybucji hortonworks, za pomocą CLI możesz pobrać wersję za pomocą polecenia:

hive --version

Przykładowe dane wyjściowe

Sumeet Singh
źródło
2

Wersję możemy również pobrać, patrząc na wersję pliku jar hive-metastore.

Na przykład:

$ ls /usr/lib/hive/lib/ | grep metastore
hive-metastore-0.13.1.jar
Pratik Khadloya
źródło
2

Możesz pobrać wersję Hive

hive --version

jeśli chcesz poznać wersję gałęzi i powiązane wersje pakietów.

rpm -qa|grep hive

Wynik będzie taki jak poniżej.

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

Ta ostatnia daje lepsze zrozumienie ula i jego zależnych. Niemniej jednak rpm musi być obecny.

Balaswamy Vaddeman
źródło
2

Użyj poniższego polecenia, aby uzyskać wersję ula

hive - wersja usługi

Karthik Sridhar
źródło
2

Od połączenia SSH do węzła brzegowego możesz po prostu wpisać

hive --version

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

Spowoduje to zwrócenie wersji Hive dla Twojej dystrybucji Hadoop. Innym podejściem jest to, że jeśli wejdziesz beeline, możesz od razu znaleźć wersję.

beeline
Beeline version 1.2.1000.x.x.x.x-xx by Apache Hive
Piyush Patel
źródło
1

Innym sposobem jest wywołanie REST, jeśli masz zainstalowany WebHCat (część projektu Hive)

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

który wróci z JSON jak

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

Dokumentacja WebHCat zawiera kilka szczegółów

Eugene
źródło
1

Tak, możesz pobrać wersję swojego ula za pomocą „polecenia hive”:

hive --service version

Listę dostępnych nazw usług można uzyskać, używając następującego „polecenia hive”:

hive --service help
Seema Pal
źródło
0

możesz szukać pliku jar zaraz po zalogowaniu się do ula

jar:file:/opt/mapr/hive/hive-0.12/lib/hive-common-0.12-mapr-1401-140130.jar!/hive-log4j.properties
Shanu
źródło
0

/ usr / bin / hive --version działało dla mnie.

[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 ~]$

źródło
0

W usłudze HDInsight wypróbowałem gałąź - wersja, ale nie rozpoznała opcji ani nie wspomniała o niej w pomocy.

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)

Jednak kiedy logujesz się do węzła głównego i uruchamiasz konsolę gałęzi, wyświetla kilka pomocnych informacji konfiguracyjnych, z których można odczytać wersję:

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;

Na tej podstawie powiedziałbym, że mam wdrożoną wersję Hive 0.13, co jest zgodne z listą wersji https://hive.apache.org/downloads.html

Mike Wise
źródło
0

Udało mi się uzyskać wersję zainstalowanego Hadoop 3.0.3 za pomocą następującego polecenia
$ HADOOP_HOME / bin $ ./hadoop version,
które dało mi następujące dane wyjściowe


Repozytorium kodu źródłowego Hadoop 3.0.3 https: //[email protected]/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Skompilowane przez yzhang w dniu 2018-05-31T17: 12Z
Skompilowane z protokołem 2018-05-31T17: 12Z
Ze źródła z sumą kontrolną 736cdcefa911261ad56d2d120bf1fa
To polecenie zostało uruchomione za pomocą /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar

vishwachandra
źródło
0

do identyfikacji wersji gałęzi w przypadku użycia instancji EC2

hive --version
Arun Mohan
źródło