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

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

我使用Putty连接到configuration单元表并访问表中的logging。 所以我做的是 – 我打开腻子,并input主机名,我inputleo-ingesting.vip.name.com ,然后点击Open 。 然后我input了我的用户名和密码,然后inputHive 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; 

那么有没有办法从命令提示符我可以find我使用的Hive版本和Hadoop版本呢?

你不能从命令行得到configuration单元版本。

你可以结账Dave提到的hadoop版本。

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

ls / usr / lib / hive / lib /并检查configuration单元库

 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

 $ 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)
 $ hadoop version Hadoop 0.20.2-cdh3u4 

不知道你可以从命令行获得Hive版本。 不过,也许你可以使用hive.hwi.war.file属性,或者把它从classpath中取出来。

 hive -e "set hive.hwi.war.file;" | cut -d'-' -f3 

从hive shell问题'set system.sun.java.command'hive-cli.jar版本是hive版本。

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-cdh4.2.2.jar org.apache.hadoop.hive.cli.CliDriver hive>

我们可以通过findconfiguration单元

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

以上cmds在蜂巢0.13及以上的作品。

设置系统:sun.java.command;
从hue hive编辑器给出hive版本,它给出了包含版本的jar名称。

 hive --version hadoop version 

下面的命令起作用,我试了这个,得到了当前版本

 /usr/bin/hive --version 

这当然应该工作:

 hive --version 

下面的工作在Hadoop 2.7.2上

 hive --version hadoop version pig --version sqoop version oozie version 

我们也可以通过查看configuration单元格的jar文件的版本来获取版本。

例如:

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

你可以得到Hive版本

 hive --version 

如果你想知道configuration单元版本及其相关的软件包版本。

 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 

后者更好地理解configuration单元及其家属。 不过,转速需要存在。

使用下面的命令获取configuration单元版本

configuration单元 – 服务版本

另一种方法是做一个REST调用,如果你有WebHCat(Hive项目的一部分)安装的话

 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文档有一些细节

是的,你可以通过使用“configuration单元命令”获得你的configuration单元的版本:

 hive --service version 

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

 hive --service help 

您可以在login到configuration单元后立即查找该jar文件

 jar:file:/opt/mapr/hive/hive-0.12/lib/hive-common-0.12-mapr-1401-140130.jar!/hive-log4j.properties 

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

在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. eg -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. eg --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) 

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

 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

如果使用beeline连接到configuration单元,那么!dbinfo将提供所有基础数​​据库的详细信息,并且在输出中getDatabaseProductVersion将具有configuration单元数据库版本。

示例输出: getDatabaseProductVersion 1.2.1000.2.4.3.0-227