Làm thế nào để biết các phiên bản Hive và Hadoop từ dấu nhắc lệnh?


88

Làm cách nào để tìm phiên bản Hive mà tôi đang sử dụng từ dấu nhắc lệnh. Dưới đây là chi tiết-

Tôi đang sử dụng Putty để kết nối với bảng hive và truy cập các bản ghi trong bảng. Vì vậy, những gì tôi đã làm là - tôi mở Putty và trong tên máy chủ mà tôi đã nhập- leo-ingesting.vip.name.comvà sau đó tôi nhấp vào Open. Và sau đó tôi nhập tên người dùng và mật khẩu của mình và sau đó một vài lệnh để truy cập Hive sql. Dưới đây là danh sách những gì tôi đã làm

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

Vì vậy, có cách nào từ dấu nhắc lệnh mà tôi có thể tìm thấy phiên bản hive mà tôi đang sử dụng và cả phiên bản Hadoop không?


1
Tôi có thể đưa ra yêu cầu rằng mọi CLI trên thế giới bắt đầu hỗ trợ -v, --v, -version và --version làm bí danh cho nhau để tất cả chúng ta có thể tiếp tục cuộc sống của mình.
jarmod

bạn không thể: gnu getopt sẽ coi -version là -v -e -r -s -i -o -n chẳng hạn. Ngoài ra, CLI thích hợp sử dụng -v làm bí danh cho --verbose.
Konstantin Svintsov

Câu trả lời:


34

Bạn không thể tải phiên bản hive từ dòng lệnh.

Bạn có thể kiểm tra phiên bản hadoop như Dave đã đề cập.

Ngoài ra, nếu bạn đang sử dụng phân phối cloudera, hãy nhìn trực tiếp vào các libs:

ls / usr / lib / hive / lib / và kiểm tra thư viện hive

hive-hwi-0.7.1-cdh3u3.jar

Bạn cũng có thể kiểm tra các phiên bản tương thích tại đây:

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


2
Bạn có chắc chắn là con đường /usr/lib/hive/lib/?
arsenal

@RaihanJamal: Có nếu bạn đang sử dụng phân phối cloudera. :)
pyfunc

1
vâng, bạn có thể lấy nó từ dòng lệnh: hive -e "set hive.hwi.war.file;" | grep hwi | cut -d'- '-f3
David

1
Tôi nhận được "hive.hwi.war.file is undefined"
rajibdotnet

9
hive --version hiển thị phiên bản. [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

147
$ hive --version
Hive version 0.8.1.3

EDIT: đã thêm một '-' khác trước phiên bản. Không hoạt động cho các phiên bản mới hơn. Hy vọng nó hoạt động cho tất cả bây giờ.

Được biết là hoạt động trong các bản phân phối sau:

  • Phân phối HortonWorks: $ hive --version Hive 0.14.0.2.2.0.0-2041
  • CDH 5,3

Nó không hoạt động:

  • CDH 4,3
  • HDinsight (Azure)

2
Tôi không biết tại sao ai đó lại từ chối cái này, nhưng nó phù hợp với tôi. Có thể nó dành riêng cho Amazon Elastic MapReduce (EMR) hoặc cho phiên bản Hive.
dfrankow

1
Tôi có cloudera 5.11. Tốt làm việc cho tôi
jony70

CDH 5.15, phù hợp với tôi. Java HotSpot (TM) 64-Bit Server VM cảnh báo: ... Hive 1.1.0-cdh5.15.2 Tôi không biết tại sao câu trả lời này là ngày thứ hai, không phải lần đầu tiên vị trí
staticor

36
$ hadoop version
Hadoop 0.20.2-cdh3u4

Tuy nhiên, không chắc bạn có thể tải phiên bản Hive từ dòng lệnh. Tuy nhiên, có lẽ bạn có thể sử dụng một cái gì đó như thuộc hive.hwi.war.filetính hoặc kéo nó ra khỏi classpath.


Cảm ơn Dave, Nó đã hoạt động. Tôi đang hỏi câu hỏi này vì tôi đang cố gắng truy cập siêu dữ liệu Hive bằng SQL Client. Nhưng bằng cách nào đó tôi không thể làm điều đó. Tôi đã đăng câu hỏi ở đây. Bạn có thể vui lòng xem xét điều này http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty. Bất kỳ trợ giúp sẽ được đánh giá cao.
arsenal

@RaihanJamal Tôi không biết; Tôi chưa bao giờ thử sử dụng bất cứ thứ gì như vậy với Hive.
Dave Newton


14

Bạn CÓ THỂ lấy phiên bản từ dòng lệnh.

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

Bên dưới hoạt động trên Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

Từ vấn đề vỏ hive 'set system.sun.java.command' Phiên bản hive-cli.jar là phiên bản 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>

Ví dụ trên cho thấy Hive phiên bản 0.10.0 cho CDH phiên bản 4.2.2


Jai bạn có thể cho biết nó làm gì không !!
YouAreAwesome

system.sun.java.command sẽ được thiết lập bởi hive và nó không làm gì cả. Một cách để tìm ra phiên bản tổ ong.
Jai Prakash


8

Sử dụng cờ phiên bản từ 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

Chúng tôi có thể tìm thấy phiên bản hive bằng cách

  • trên linux shell: "hive --version"
  • trên hive shell: "! hive --version;"

cmds trên hoạt động trên tổ ong 0.13 trở lên.

Đặt hệ thống: sun.java.command;
cung cấp cho phiên bản hive từ trình soạn thảo hue hive, nó cung cấp tên jar bao gồm phiên bản.


5

Lệnh bên dưới hoạt động, tôi đã thử điều này và nhận được phiên bản hiện tại là

/usr/bin/hive --version

Hi Shikhar, mà Hadoop phiên bản bạn đang cố gắng này làm việc cho tôi trên Cloudera CDH 5
Navneet Kumar

4

Nếu bạn đang sử dụng beelineđể kết nối với tổ ong, sau đó !dbinfosẽ cung cấp tất cả các chi tiết cơ sở dữ liệu cơ bản và trong đầu ra getDatabaseProductVersionsẽ có phiên bản cơ sở dữ liệu tổ ong.

Đầu ra mẫu: getDatabaseProductVersion 1.2.1000.2.4.3.0-227


3

Nếu bạn đang sử dụng bản phân phối hortonworks thì bằng cách sử dụng CLI, bạn có thể lấy phiên bản bằng lệnh:

hive --version

Ví dụ đầu ra


2

Chúng tôi cũng có thể lấy phiên bản bằng cách xem phiên bản của tệp jar hive-di căn.

Ví dụ:

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

2

Bạn có thể tải phiên bản Hive

hive --version

nếu bạn muốn biết phiên bản hive và các phiên bản gói liên quan của nó.

rpm -qa|grep hive

Đầu ra sẽ như dưới đây.

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

Latter giúp hiểu rõ hơn về tổ ong và những người phụ thuộc vào tổ ong. Tuy nhiên, cần phải có vòng / phút.


2

Sử dụng lệnh dưới đây để tải phiên bản hive

hive - phiên bản dịch vụ


2

Từ kết nối SSH của bạn đến nút cạnh, bạn có thể chỉ cần nhập

hive --version

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

Thao tác này trả về phiên bản Hive cho bản phân phối Hadoop của bạn. Một cách tiếp cận khác là nếu bạn tham gia beeline, bạn có thể tìm thấy phiên bản ngay lập tức.

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

1

một cách khác là thực hiện cuộc gọi REST, nếu bạn đã cài đặt WebHCat (một phần của dự án Hive),

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

sẽ trở lại với JSON như

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

Tài liệu WebHCat có một số chi tiết


1

Có, bạn có thể lấy phiên bản tổ ong của mình bằng cách sử dụng "lệnh hive":

hive --service version

Bạn có thể nhận được danh sách các tên dịch vụ có sẵn bằng cách sử dụng "lệnh hive" sau:

hive --service help

1

để xác định phiên bản tổ ong khi sử dụng phiên bản EC2

hive --version

0

bạn có thể tìm kiếm tệp jar ngay sau khi bạn đăng nhập vào 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 phù hợp với tôi.

[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

Trên HDInsight, tôi đã thử -version - hive, nhưng nó không nhận ra tùy chọn hoặc đề cập đến nó trong phần trợ giúp.

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)

Tuy nhiên, khi bạn đăng nhập vào head node và khởi động bảng điều khiển hive, nó sẽ in ra một số thông tin cấu hình hữu ích mà từ đó có thể đọc phiên bản:

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;

Từ điều này, tôi sẽ nói rằng tôi đã triển khai phiên bản Hive 0.13, phù hợp với danh sách các phiên bản này https://hive.apache.org/downloads.html


0

Tôi đã có thể tải phiên bản Hadoop 3.0.3 đã cài đặt bằng lệnh sau
$ HADOOP_HOME / bin $ ./hadoop phiên bản
cho tôi kết quả sau


Kho mã nguồn Hadoop 3.0.3 https: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Tổng hợp bởi yzhang ngày 2018-05-31T17: 12Z
Biên dịch với protoc 2.5
Từ nguồn có checksum 736cdcefa911261ad56d2d120bf1fa
Lệnh này được chạy bằng cách sử dụng /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.