Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从命令提示符知道Hive和Hadoop版本?_Hadoop_Hive - Fatal编程技术网

如何从命令提示符知道Hive和Hadoop版本?

如何从命令提示符知道Hive和Hadoop版本?,hadoop,hive,Hadoop,Hive,如何从命令提示符中找到正在使用的配置单元版本。详情如下- 我正在使用Putty连接到配置单元表并访问表中的记录。我打开Putty,在主机名中键入leo ingesting.vip.name.com,然后单击打开。然后我输入用户名和密码,然后输入几个命令来访问配置单元sql。下面是我所做的清单 $ bash bash-3.00$ hive Hive history file=/tmp/rkost/hive_job_log_rkost_201207010451_1212680168.txt hive

如何从命令提示符中找到正在使用的配置单元版本。详情如下-

我正在使用Putty连接到配置单元表并访问表中的记录。我打开Putty,在主机名中键入leo ingesting.vip.name.com,然后单击打开。然后我输入用户名和密码,然后输入几个命令来访问配置单元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版本

$ hadoop version
Hadoop 0.20.2-cdh3u4

但是,不确定是否可以从命令行获取配置单元版本。也许您可以使用类似于
hive.hwi.war.file的属性,或者将其从类路径中拉出。

您无法从命令行获取hive版本

您可以签出Dave提到的hadoop版本

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

ls/usr/lib/hive/lib/并检查配置单元库

hive-hwi-0.7.1-cdh3u3.jar
您也可以在此处检查兼容版本:

编辑:在版本之前添加另一个“-”。不适用于较新版本。希望它现在对所有人都有效

已知在以下发行版中工作:

  • HortonWorks发行版:
    $hive--版本hive 0.14.0.2.2.0.0-2041
  • CDH 5.3
它不起作用:

  • CDH 4.3
  • HDinsight(Azure)

来自配置单元外壳问题“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>

上面的示例显示了适用于CDH版本4.2.2的Hive版本0.10.0,下面的命令是有效的,我尝试了这个,得到了当前版本

/usr/bin/hive --version

我们还可以通过查看hive metastore jar文件的版本来获得该版本

例如:

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

您可以在登录到hive后立即查找jar文件

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

另一种方法是进行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”}

有一些细节

/usr/bin/hive——这个版本适合我

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

你可以得到蜂巢版本

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

后者能更好地理解蜂巢及其依赖者。尽管如此,rpm仍然需要存在。

在HDInsight上,我尝试了hive--版本,但它没有识别该选项,也没有在帮助中提到它

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)

因此,我想说我部署了配置单元版本0.13,这与此版本列表一致

是的,您可以使用“配置单元命令”获取配置单元的版本:

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


使用以下命令获取配置单元版本

hive --version

配置单元--服务版本

我们可以通过

  • 在linux shell上:“配置单元--版本”
  • 在配置单元外壳上:“!配置单元--版本;”
以上cmds适用于配置单元0.13及更高版本

Set系统:sun.java.command

从色调配置单元编辑器中提供配置单元版本。它提供包含该版本的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 --version

hadoop version
hive --version

以下内容适用于Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

如果您使用
直线连接到蜂巢,则
!dbinfo
将提供所有底层数据库的详细信息,并且在输出中
getDatabaseProductVersion
将具有配置单元数据库版本

<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>
样本输出:
getDatabaseProductVersion 1.2.1000.2.4.3.0-227

如果您使用的是hortonworks发行版,则使用CLI可以通过以下命令获取版本:

hive --service version
hive --service help
hive --version

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

hive --version

Hive 1.2.1000.x.x.x.x-xx
这将返回Hadoop发行版的配置单元版本。另一种方法是,如果您输入
直线
,您可以立即找到版本

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

您可以从命令行(配置单元或直线)获取版本


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

我可以通过以下命令获得已安装的Hadoop 3.0.3版本
$HADOOP_HOME/bin$。/HADOOP版本
这给了我以下输出

Hadoop 3.0.3
源代码存储库-r 37FD7D752DB73D984DC31E0CD590D252F5E075
yzhang于2018-05-31T17:12Z编制
使用protoc 2.5.0编译
来自校验和为736cdcefa911261ad56d2d120bf1fa的源

此命令是使用/usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar运行的,用于标识EC2实例上的配置单元版本

hive --version

谢谢,戴夫,成功了。我问这个问题是因为我试图使用SQL客户端访问配置单元元数据。但不知何故,我无法做到这一点。我把问题贴在这里了。你能看看这个
http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty
。任何帮助都将被感激。@RaihanJamal我不知道;我从未尝试在Hive中使用过类似的东西。您确定路径是
/usr/lib/Hive/lib/
?@RaihanJamal:如果您使用的是cloudera发行版,则是。:)是的,您可以从命令行获得它:hive-e“set-hive.hwi.war.file;”grep-hwi | cut-d'-'-f3I-get“hive.hwi.war.file未定义”hive--version显示版本<代码>[root@mysupercomputer ~]#配置单元--版本
hive1.2.1
Subversiongit://localhost.localdomain/home/sush/dev/hive.git -r 243e7c1ac39cb7ac8b65c5bc6988f5cc3162f558由sush于2015年6月19日星期五02:03:48通过源代码编译,校验和ab480aca41b24a9c3751b8c023338231
我不知道为什么有人对此投了反对票,但这对我很有效。也许它是特定于Amazon Elastic MapReduce(EMR)或Hive版本的。为meCDH 5.15工作很好,为我工作。Java HotSpot(TM)64位服务器虚拟机警告:。。。Hive 1.1.0-cdh5.15.2我不知道为什么这个答案是开着的
hive --version