如何从命令提示符处了解Hive和Hadoop版本?


87

如何从命令提示符下找到正在使用的Hive版本。以下是详细信息-

我正在使用Putty连接到配置单元表并访问表中的记录。因此,我要做的是-打开Putty并输入主机名-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的别名。
康斯坦丁·斯文佐夫

Answers:


35

您无法从命令行获取配置单元版本。

您可以按照Dave所述签出hadoop版本。

另外,如果您使用的是cloudera发行版,则直接查看库:

ls / usr / lib / hive / lib /并检查hive库

hive-hwi-0.7.1-cdh3u3.jar

您还可以在此处检查兼容版本:

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


2
您确定路径是/usr/lib/hive/lib/吗?
阿森纳2012年

@RaihanJamal:是的,如果您正在使用cloudera发行版。:)
pyfunc 2012年

1
是的,您可以从命令行获取它:hive -e“ set hive.hwi.war.file;” | grep hwi | cut -d'-'-f3
David

1
我收到“ hive.hwi.war.file未定义”的消息
rajibdotnet 2014年

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

146
$ 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(Azure)

2
我不知道为什么有人对此表示反对,但这对我有用。也许它特定于Amazon Elastic MapReduce(EMR)或Hive版本。
dfrankow

1
我有cloudera 5.11。为我工作得很好
jony70 '19

CDH 5.15为我工作。Java HotSpot(TM)64位服务器VM警告:... Hive 1.1.0-cdh5.15.2我不知道为什么这个答案在第二个而不是第一个位置上
staticor19年

35
$ hadoop version
Hadoop 0.20.2-cdh3u4

不过,不确定是否可以从命令行获取Hive版本。不过,也许您可​​以使用诸如hive.hwi.war.file属性之类的东西或将其拉出类路径。


谢谢戴夫,它的工作。我问这个问题是因为我试图使用SQL Client访问Hive元数据。但是不知何故我做不到。我在这里发布了问题。你能看看这个吗http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty?任何帮助将不胜感激。
阿森纳

@RaihanJamal我不知道;我从来没有尝试过在Hive中使用类似的方法。
戴夫牛顿


14

您可以从命令行获取版本。

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

以下适用于Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

从hive shell发出的“ set system.sun.java.command”中,hive-cli.jar版本是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>

上面的示例显示了CDH版本4.2.2的Hive版本0.10.0


杰伊你能说出它的作用吗!
YouAreAwesome

蜂巢已经设置了system.sun.java.command,它什么也不做。找出配置单元版本的一种方法。
杰·普拉卡什


8

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

我们可以通过以下方式找到蜂巢版本

  • 在linux shell上:“ hive --version”
  • 在蜂巢壳上:“!hive --version;”

以上cmds可在配置单元0.13及更高版本上使用。

设置系统:sun.java.command;
从hue hive编辑器提供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

后期可以更好地理解配置单元及其依赖项。但是,需要存在转速。



2

从SSH连接到边缘节点,您只需键入

hive --version

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

这将为您的Hadoop分发返回Hive版本。另一种方法是,如果输入beeline,则可以立即找到版本。

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

1

如果安装了WebHCat(属于Hive项目的一部分),则另一种方法是进行REST调用:

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

它将与JSON一起返回

{“模块”:“配置单元”,“版本”:“ 1.2.1.2.3.0.0-2458”}

WebHCat文档具有一些详细信息


1

是的,您可以使用“ hive命令”获取您的蜂巢版本:

hive --service version

您可以使用以下“ hive命令”获取可用服务名称的列表:

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上,我尝试了蜂巢--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)

但是,当您登录到头节点并启动配置单元控制台时,它会打印出一些有用的配置信息,可从中读取版本:

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_HOME / bin $ ./hadoop version获得已安装的Hadoop 3.0.3的版本
,这给出了以下输出

Hadoop 3.0.3
源代码存储库https://yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
由yzhang于2018-05-31T17:12Z
编译并与协议2.5.0一起编译
来自具有校验和的源736cdcefa911261ad56d2d120bf1fa
使用/usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar运行此命令


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.