Bagaimana cara mengetahui versi Hive dan Hadoop dari command prompt?


89

Bagaimana cara menemukan versi Hive yang saya gunakan dari command prompt. Berikut detailnya-

Saya menggunakan Putty untuk menyambung ke tabel sarang dan mengakses catatan di tabel. Jadi yang saya lakukan adalah- Saya membuka Putty dan di nama host saya mengetik- leo-ingesting.vip.name.comdan kemudian saya klik Open. Dan kemudian saya memasukkan nama pengguna dan kata sandi saya dan kemudian beberapa perintah untuk masuk ke Hive sql. Di bawah ini adalah daftar apa yang saya lakukan

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

Jadi, apakah ada cara dari command prompt saya dapat menemukan versi sarang mana yang saya gunakan dan versi Hadoop juga?


1
Bolehkah saya meminta agar setiap CLI di dunia mulai mendukung -v, --v, -version, dan --version sebagai alias untuk satu sama lain sehingga kita semua dapat melanjutkan hidup kita.
jarmod

Anda tidak bisa: gnu getopt akan mempertimbangkan -version as -v -e -r -s -i -o -n, misalnya. Selain itu, CLI yang tepat menggunakan -v sebagai alias untuk --verbose.
Konstantin Svintsov

Jawaban:


34

Anda tidak bisa mendapatkan versi sarang dari baris perintah.

Anda dapat melakukan checkout versi hadoop seperti yang disebutkan oleh Dave.

Juga jika Anda menggunakan distribusi cloudera, lihat langsung di libs:

ls / usr / lib / hive / lib / dan periksa perpustakaan sarang

hive-hwi-0.7.1-cdh3u3.jar

Anda juga dapat memeriksa versi yang kompatibel di sini:

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


2
Apakah Anda yakin jalannya /usr/lib/hive/lib/?
arsenal

@RaihanJamal: Ya jika Anda menggunakan distribusi cloudera. :)
pyfunc

1
ya, Anda bisa mendapatkannya dari baris perintah: sarang -e "set hive.hwi.war.file;" | grep hwi | cut -d'- '-f3
David

1
Saya mendapatkan "hive.hwi.war.file tidak terdefinisi"
rajibdotnet

9
sarang --versi menunjukkan versinya. [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

148
$ hive --version
Hive version 0.8.1.3

EDIT: menambahkan '-' lain sebelum versi. Tidak berfungsi untuk versi yang lebih baru. Semoga berhasil untuk semua sekarang.

Diketahui bekerja di distribusi berikut:

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

Tidak bekerja:

  • CDH 4.3
  • HDinsight (Azure)

2
Saya tidak tahu mengapa seseorang tidak menyukai ini, tetapi itu berhasil untuk saya. Mungkin ini khusus untuk Amazon Elastic MapReduce (EMR), atau versi Hive.
dfrankow

1
Saya memiliki cloudera 5.11. Bekerja dengan baik untuk saya
jony70

CDH 5.15, bekerja untuk saya. Peringatan VM Server 64-Bit Java HotSpot (TM): ... Hive 1.1.0-cdh5.15.2 Saya tidak tahu mengapa jawaban ini ada di posisi kedua, bukan posisi pertama
statis atau

37
$ hadoop version
Hadoop 0.20.2-cdh3u4

Tidak yakin Anda bisa mendapatkan versi Hive dari baris perintah. Mungkin Anda bisa menggunakan sesuatu seperti hive.hwi.war.fileproperti atau menariknya dari classpath.


Terima kasih Dave, Berhasil. Saya mengajukan pertanyaan ini karena saya mencoba mengakses metadata Hive menggunakan SQL Client. Tapi entah kenapa saya tidak bisa melakukannya. Saya memposting pertanyaan di sini. Bisakah Anda melihat ini http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty. Bantuan apa pun akan dihargai.
arsenal

@RaihanJam Saya tidak tahu; Saya belum pernah mencoba menggunakan hal seperti itu dengan Hive.
Dave Newton


14

Anda BISA mendapatkan versi dari baris perintah.

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

Di bawah ini berfungsi di Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

Gunakan tanda versi dari 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

9

Dari masalah shell sarang 'set system.sun.java.command' Versi hive-cli.jar adalah versi sarang.

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

Contoh di atas menunjukkan Hive versi 0.10.0 untuk CDH versi 4.2.2


Jai bisakah kau tahu apa fungsinya !!
YouAreAwesome

system.sun.java.command akan disetel oleh sarang dan tidak melakukan apa pun. Ini salah satu cara untuk mengetahui versi sarang.
Jai Prakash


7

Kami dapat menemukan versi sarang dengan

  • di shell linux: "hive --version"
  • pada cangkang sarang: "! hive --version;"

cmds di atas bekerja pada sarang 0,13 ke atas.

Setel sistem: sun.java.command;
memberikan versi sarang dari editor hue hive itu memberi nama jar yang menyertakan versinya.


5

Perintah di bawah ini berfungsi, saya mencoba ini dan mendapatkan versi saat ini sebagai

/usr/bin/hive --version

Hai Shikhar, versi Hadoop mana yang Anda coba, ini berfungsi untuk saya di cloudera CDH 5
Navneet Kumar

4

Jika Anda menggunakan beelineuntuk menyambung ke sarang, maka !dbinfoakan memberikan semua detail database yang mendasari dan dalam outputgetDatabaseProductVersion akan memiliki versi database sarang.

Output sampel: getDatabaseProductVersion 1.2.1000.2.4.3.0-227


3

Jika Anda menggunakan distro hortonworks maka menggunakan CLI Anda bisa mendapatkan versi dengan perintah:

hive --version

Contoh keluaran


3

untuk mengidentifikasi versi sarang pada penggunaan instans EC2

hive --version

2

Kita juga bisa mendapatkan versinya dengan melihat versi file jar hive-metastore.

Sebagai contoh:

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

2

Anda bisa mendapatkan versi Hive

hive --version

jika Anda ingin mengetahui versi sarang dan versi paket terkait.

rpm -qa|grep hive

Outputnya akan seperti di bawah ini.

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

Yang terakhir memberikan pemahaman yang lebih baik tentang sarang dan tanggungannya. Namun demikian, rpm perlu ada.



2

Dari koneksi SSH Anda ke node tepi, Anda cukup mengetik

hive --version

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

Tindakan ini mengembalikan versi Hive untuk distribusi Hadoop Anda. Pendekatan lain adalah jika Anda masuk ke dalam beeline, Anda dapat menemukan versinya langsung.

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

1

cara lain adalah dengan membuat panggilan REST, jika Anda telah menginstal WebHCat (bagian dari proyek Hive)

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

yang akan kembali dengan JSON like

{"modul": "sarang", "versi": "1.2.1.2.3.0.0-2458"}

Dokumen WebHCat memiliki beberapa detail


1

Ya, Anda bisa mendapatkan versi sarang Anda dengan menggunakan "perintah sarang":

hive --service version

Anda bisa mendapatkan daftar nama layanan yang tersedia dengan menggunakan "perintah sarang" berikut:

hive --service help

0

Anda dapat mencari file jar segera setelah Anda login ke sarang

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 berhasil untuk saya.

[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

Di HDInsight saya mencoba sarang --version, tetapi tidak mengenali opsi atau menyebutkannya dalam bantuan.

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)

Namun ketika Anda masuk ke simpul kepala dan memulai konsol sarang, itu mencetak beberapa informasi konfigurasi yang berguna dari mana versi dapat dibaca:

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;

Dari sini saya akan mengatakan saya memiliki Hive versi 0.13 yang diterapkan, yang konsisten dengan daftar versi ini https://hive.apache.org/downloads.html


0

Saya bisa mendapatkan versi Hadoop 3.0.3 yang diinstal dengan perintah berikut
$ HADOOP_HOME / bin $ ./hadoop version
yang memberi saya output berikut

Hadoop 3.0.3
Repositori kode sumber https: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Dikompilasi oleh yzhang pada 2018-05-31T17: 12Z
Dikompilasi dengan protoc
Dari sumber dengan checksum 736cdcefa911261ad56d2d120bf1fa
Perintah ini dijalankan menggunakan /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.