จะทราบเวอร์ชัน Hive และ Hadoop จาก command prompt ได้อย่างไร?


89

ฉันจะค้นหาเวอร์ชัน Hive ที่ฉันใช้จากพรอมต์คำสั่งได้อย่างไร ด้านล่างนี้คือรายละเอียด -

ฉันใช้ Putty เพื่อเชื่อมต่อกับตารางไฮฟ์และเข้าถึงเรกคอร์ดในตาราง ดังนั้นสิ่งที่ผมทำผมเปิดล์สีโป๊วและชื่อโฮสต์ฉัน typed- แล้วฉันคลิกleo-ingesting.vip.name.com Openจากนั้นฉันก็ป้อนชื่อผู้ใช้และรหัสผ่านของฉันจากนั้นคำสั่งสองสามคำสั่งเพื่อไปที่ Hive sql ด้านล่างนี้คือรายการสิ่งที่ฉันทำ

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

มีวิธีใดบ้างจากพรอมต์คำสั่งที่ฉันสามารถค้นหาเวอร์ชันรังที่ฉันใช้และเวอร์ชัน Hadoop ด้วย


1
ฉันขอให้ทุก CLI เดียวในโลกเริ่มสนับสนุน -v, --v, -version และ --version เป็นนามแฝงซึ่งกันและกันเพื่อที่เราทุกคนจะสามารถดำเนินชีวิตต่อไปได้
jarmod

คุณทำไม่ได้: gnu getopt จะพิจารณา -version เป็น -v -e -r -s -i -o -n ตัวอย่างเช่น นอกจากนี้ CLI ที่เหมาะสมยังใช้ -v เป็นนามแฝงสำหรับ --verbose
Konstantin Svintsov

คำตอบ:


34

คุณไม่สามารถรับเวอร์ชันรังจากบรรทัดคำสั่ง

คุณสามารถชำระเงินเวอร์ชัน hadoop ตามที่ Dave กล่าวไว้

นอกจากนี้หากคุณใช้การกระจาย cloudera ให้ดูที่ libs โดยตรง:

ls / usr / lib / hive / lib / และตรวจสอบไลบรารีรัง

hive-hwi-0.7.1-cdh3u3.jar

คุณยังสามารถตรวจสอบเวอร์ชันที่เข้ากันได้ที่นี่:

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


2
แน่ใจหรือว่าเส้นทางคือ/usr/lib/hive/lib/?
คลังแสง

@RaihanJamal: ใช่ถ้าคุณใช้การกระจาย cloudera :)
pyfunc

1
ใช่คุณสามารถรับได้จาก commande line: hive -e "set hive.hwi.war.file;" | grep hwi | cut -d'- '-f3
David

1
ฉันได้รับ "hive.hwi.war.file is undefined"
rajibdotnet

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

149
$ hive --version
Hive version 0.8.1.3

แก้ไข: เพิ่ม '-' อื่นก่อนเวอร์ชัน ใช้ไม่ได้กับเวอร์ชันที่ใหม่กว่า หวังว่าจะใช้ได้กับทุกคนในตอนนี้

รู้จักกันในการทำงานในการแจกแจงต่อไปนี้:

  • การกระจาย HortonWorks: $ hive --version Hive 0.14.0.2.2.0.0-2041
  • CDH 5.3

มันไม่ทำงาน:

  • CDH 4.3
  • HDinsight (สีฟ้า)

2
ฉันไม่รู้ว่าทำไมใครบางคนถึงโหวตเรื่องนี้ แต่มันก็เหมาะกับฉัน อาจเป็นเฉพาะสำหรับ Amazon Elastic MapReduce (EMR) หรือเวอร์ชัน Hive
dfrankow

1
ฉันมี cloudera 5.11 ทำงานได้ดีสำหรับฉัน
jony70

CDH 5.15 ทำงานให้ฉัน คำเตือนเซิร์ฟเวอร์ VM ของ Java HotSpot (TM) 64 บิต: ... ไฮฟ์ 1.1.0-cdh5.15.2 ฉันไม่รู้ว่าทำไมคำตอบนี้จึงอยู่ในตำแหน่งที่สองไม่ใช่ตำแหน่งแรก
คงที่

37
$ hadoop version
Hadoop 0.20.2-cdh3u4

ไม่แน่ใจว่าคุณสามารถรับเวอร์ชัน Hive จากบรรทัดคำสั่งได้ บางทีคุณอาจใช้บางอย่างเช่นhive.hwi.war.fileคุณสมบัติหรือดึงออกจากคลาสพา ธ ก็ได้


ขอบคุณเดฟมันใช้งานได้ ฉันถามคำถามนี้เนื่องจากฉันพยายามเข้าถึงข้อมูลเมตาของ Hive โดยใช้ SQL Client แต่อย่างใดฉันไม่สามารถทำได้ ฉันโพสต์คำถามที่นี่ คุณช่วยดูเรื่องนี้http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-puttyได้ไหม ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.
คลังแสง

@RaihanJamal ฉันไม่รู้; ฉันไม่เคยลองใช้อะไรแบบนั้นกับ Hive
Dave Newton




10

ด้านล่างใช้งานได้กับ Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

ใช้แฟล็กเวอร์ชันจาก 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

จากปัญหา hive shell 'set system.sun.java.command' เวอร์ชัน hive-cli.jar เป็นเวอร์ชันไฮฟ์

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

ตัวอย่างข้างต้นแสดง Hive เวอร์ชัน 0.10.0 สำหรับ CDH เวอร์ชัน 4.2.2


บอกได้ไหมว่ามันทำอะไร !!
YouAreAwesome

system.sun.java.command จะถูกตั้งค่าโดยกลุ่มและไม่ทำอะไรเลย เป็นวิธีหนึ่งในการค้นหารุ่นรัง
Jai Prakash


7

เราสามารถค้นหาเวอร์ชันรังได้โดย

  • บน linux shell: "hive --version"
  • บนรังผึ้ง: "! hive --version;"

cmds เหนือใช้งานได้กับรัง 0.13 ขึ้นไป

ตั้งระบบ: sun.java.command;
ให้เวอร์ชันรังจากตัวแก้ไข hue hive จะให้ชื่อ jar ซึ่งรวมถึงเวอร์ชัน


5

คำสั่งด้านล่างใช้งานได้ฉันลองสิ่งนี้และรับเวอร์ชันปัจจุบันเป็น

/usr/bin/hive --version

สวัสดี Shikhar คุณลองใช้ Hadoop รุ่นไหนได้ผลกับฉันใน cloudera CDH 5
Navneet Kumar

4

หากคุณกำลังใช้beelineเพื่อเชื่อมต่อกับกลุ่ม!dbinfoจะให้รายละเอียดฐานข้อมูลพื้นฐานทั้งหมดและในผลลัพธ์getDatabaseProductVersionจะมีเวอร์ชันฐานข้อมูลไฮฟ์

ตัวอย่างผลลัพธ์: getDatabaseProductVersion 1.2.1000.2.4.3.0-227




2

นอกจากนี้เรายังสามารถรับเวอร์ชันได้โดยดูที่เวอร์ชันของไฟล์ Hive-metastore jar

ตัวอย่างเช่น:

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

2

คุณจะได้รับรุ่น Hive

hive --version

หากคุณต้องการทราบเวอร์ชันรังและเวอร์ชันแพ็คเกจที่เกี่ยวข้อง

rpm -qa|grep hive

เอาต์พุตจะเป็นเช่นด้านล่าง

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 ช่วยให้เข้าใจรังและผู้อยู่ในอุปการะได้ดีขึ้น อย่างไรก็ตามต้องมีรอบต่อนาที



2

จากการเชื่อมต่อ SSH ไปยังโหนดขอบคุณสามารถพิมพ์ได้

hive --version

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

สิ่งนี้จะส่งคืนเวอร์ชัน Hive สำหรับการแจกจ่าย Hadoop ของคุณ อีกแนวทางหนึ่งคือหากคุณเข้ามาbeelineคุณจะพบเวอร์ชันได้ทันที

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

1

อีกวิธีหนึ่งคือการโทร REST หากคุณติดตั้ง WebHCat (ส่วนหนึ่งของโครงการ Hive) ไว้

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

ซึ่งจะกลับมาพร้อมกับ JSON เช่น

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

เอกสาร WebHCatมีรายละเอียดบางอย่าง


1

ใช่คุณสามารถรับเวอร์ชันของรังของคุณได้โดยใช้ "hive command":

hive --service version

คุณสามารถรับรายชื่อบริการที่ใช้ได้โดยใช้ "hive command" ดังต่อไปนี้:

hive --service help

0

คุณสามารถค้นหาไฟล์ jar ได้ทันทีที่คุณล็อกอินเข้าสู่รัง

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 ใช้ได้กับฉัน

[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

ใน HDInsight ฉันได้ลอง hive --version แต่ไม่รู้จักตัวเลือกหรือพูดถึงตัวเลือกนี้ในความช่วยเหลือ

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)

อย่างไรก็ตามเมื่อคุณล็อกอินเข้าสู่ head node และเริ่มคอนโซลไฮฟ์ระบบจะพิมพ์ข้อมูลการกำหนดค่าที่เป็นประโยชน์ซึ่งสามารถอ่านเวอร์ชันได้:

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;

จากนี้ฉันจะบอกว่าฉันใช้ Hive เวอร์ชัน 0.13 ซึ่งสอดคล้องกับรายการเวอร์ชันนี้https://hive.apache.org/downloads.html


0

ฉันสามารถรับเวอร์ชัน Hadoop 3.0.3 ที่ติดตั้งโดยคำสั่งต่อไปนี้
$ HADOOP_HOME / bin $ ./hadoop เวอร์ชัน
ซึ่งให้ผลลัพธ์ต่อไปนี้แก่ฉัน

Hadoop 3.0.3
ที่เก็บซอร์สโค้ดhttps: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
รวบรวมโดย yzhang เมื่อ 2018-05-31T17: 12.0
รวบรวมด้วย protoc 2.5
จากซอร์สด้วย checksum 736cdcefa911261ad56d2d120bf1fa
คำสั่งนี้รันโดยใช้ /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.