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

时间:2012-07-02 23:00:21

标签: hadoop hive

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

我使用Putty连接到hive表并访问表中的记录。所以我做的是 - 我打开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;

那么从命令提示符是否有任何方法我可以找到我正在使用的hive版本和Hadoop版本?

25 个答案:

答案 0 :(得分:125)

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

答案 1 :(得分:32)

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

你可以查看Dave提到的hadoop版本。

此外,如果您正在使用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 :(得分:32)

$ hadoop version
Hadoop 0.20.2-cdh3u4

不确定您是否可以从命令行获取Hive版本。也许你可以使用类似hive.hwi.war.file属性的东西,或者将它从类路径中拉出来。

答案 3 :(得分:12)

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

答案 4 :(得分:12)

这肯定有用:

hive --version

答案 5 :(得分:7)

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

答案 6 :(得分:7)

以下适用于Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

答案 7 :(得分:7)

我们可以通过

找到hive版本
  • on linux shell:" hive --version"
  • on hive shell:" ! hive --version;"

以上cmds适用于hive 0.13及以上。

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

答案 8 :(得分:7)

hive --version

hadoop version

答案 9 :(得分:6)

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

hive> select version();
OK
1.1.0-cdh5.12.0 rUnknown
Time taken: 2.815 seconds, Fetched: 1 row(s)
hive>

答案 10 :(得分:5)

以下命令有效,我试过这个并将当前版本作为

/usr/bin/hive --version

答案 11 :(得分:3)

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

答案 12 :(得分:3)

如果您使用beeline连接到配置单元,则!dbinfo将提供所有基础数​​据库详细信息,并且输出getDatabaseProductVersion将具有配置单元数据库版本。

示例输出: getDatabaseProductVersion 1.2.1000.2.4.3.0-227

答案 13 :(得分:2)

使用EC2实例标识蜂巢版本

hive --version

答案 14 :(得分:2)

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

  export default function (sequelize, DataTypes) {
        var User = sequelize.define(
            'User',
            {
                username: { type: DataTypes.STRING, unique: true },
                email: { type: DataTypes.STRING, unique: true },
                password_hash: { type: DataTypes.STRING },
                role: { type: DataTypes.STRING, defaultValue: 'user' },
                is_active: { type: DataTypes.BOOLEAN, defaultValue: true }
            },
            { timestamps: true, freezeTableName: true }
        );
        User.associate = function (models) {
            models.User.hasOne(models.UserProfile, {
                foreignKey: 'user_id'
            });
        };
        return User;
    }
    
    'use strict';
    export default function (sequelize, DataTypes) {
        var UserProfile = sequelize.define(
            'UserProfile',
            {
                first_name: DataTypes.STRING,
                last_name: DataTypes.STRING
            },
            { timestamps: true, freezeTableName: true }
        );
        UserProfile.associate = function () {
            // associations can be defined here
        };
        return UserProfile;
    }
    
    async getUserByUsername(username) {
        return await db.User.findOne({
            attributes: [
                'id',
                'username',
                'role',
                'is_active',
                'email',
                ['userProfile.first_name', 'first_name'],
                ['userProfile.last_name', 'last_name']
            ],
            include: [{ model: db.UserProfile, as: 'userProfile', required: true }],
            where: { username }
        })
    }

这将为您的Hadoop分发返回Hive版本。另一种方法是,如果您输入hive --version Hive 1.2.1000.x.x.x.x-xx ,则可以立即找到该版本。

beeline

答案 15 :(得分:2)

If you are using hortonworks distro then using CLI you can get the version with the command:

SELECT c.COLUMN_NAME,
        IF((SELECT COUNT(k2.COLUMN_NAME)
          FROM information_schema.KEY_COLUMN_USAGE k1
          JOIN information_schema.KEY_COLUMN_USAGE k2 
               ON (k1.CONSTRAINT_NAME=k2.CONSTRAINT_NAME
               AND k1.TABLE_NAME=k2.TABLE_NAME
               AND k1.TABLE_SCHEMA=k2.TABLE_SCHEMA)
          JOIN information_schema.TABLE_CONSTRAINTS tc
               ON (k2.CONSTRAINT_NAME=tc.CONSTRAINT_NAME
               AND k2.TABLE_NAME=tc.TABLE_NAME
               AND k2.TABLE_SCHEMA=tc.TABLE_SCHEMA
               AND tc.CONSTRAINT_TYPE='UNIQUE')
         WHERE k1.COLUMN_NAME=c.COLUMN_NAME
           AND k1.TABLE_NAME=c.TABLE_NAME)=1,'Y','N') AS `UNIQUE`
  FROM information_schema.COLUMNS c
  LEFT JOIN information_schema.KEY_COLUMN_USAGE k
   ON (k.TABLE_SCHEMA=c.TABLE_SCHEMA
       AND k.TABLE_NAME=c.TABLE_NAME
       AND k.COLUMN_NAME=c.COLUMN_NAME
       AND k.POSITION_IN_UNIQUE_CONSTRAINT IS NOT NULL)
 WHERE c.TABLE_NAME='prices'
 ORDER BY c.ORDINAL_POSITION

Example output

答案 16 :(得分:2)

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

hive --service version

答案 17 :(得分:2)

你可以获得Hive版本

hive --version

如果您想了解hive版本及其相关的软件包版本。

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必须存在。

答案 18 :(得分:2)

我们也可以通过查看hive-Metoreore jar文件的版本来获取该版本。

例如:

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

答案 19 :(得分:1)

是的,您可以使用" hive命令"来获取您的配置单元的版本:

hive --service version

您可以使用以下" hive命令"来获取可用服务名称列表:

hive --service help

答案 20 :(得分:1)

另一种方法是进行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 docs 有一些细节

答案 21 :(得分: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)

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

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

一致

答案 22 :(得分: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 ~]$

答案 23 :(得分:0)

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

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

答案 24 :(得分: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:12Z编译
已与protoc 2.5.0编译
来自带有校验和的源736cdcefa911261ad56d2d120bf1fa
使用/usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar

运行此命令