Как узнать версии Hive и Hadoop из командной строки?


88

Как узнать, какую версию 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.
Константин Свинцов

Ответы:


35

Вы не можете получить версию улья из командной строки.

Вы можете проверить версию hadoop, как упомянул Дейв.

Также, если вы используете дистрибутив cloudera, посмотрите прямо на библиотеки:

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/?
arsenal

@RaihanJamal: Да, если вы используете дистрибутив cloudera. :)
pyfunc

1
да, вы можете получить его из командной строки: hive -e "set hive.hwi.war.file;" | grep hwi | cut -d'- '-f3
Дэвид

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
Шридхар

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 (Лазурный)

2
Понятия не имею, почему кто-то проголосовал против этого, но у меня это работает. Возможно, это относится к Amazon Elastic MapReduce (EMR) или к версии Hive.
dfrankow

1
У меня клаудера 5.11. У меня
отлично сработало

CDH 5.15, у меня работал. Предупреждение виртуальной машины 64-разрядного сервера Java HotSpot (TM): ... Hive 1.1.0-cdh5.15.2 Я не знаю, почему этот ответ находится на второй, а не первой позиции
staticor

35
$ hadoop version
Hadoop 0.20.2-cdh3u4

Однако не уверен, что вы можете получить версию Hive из командной строки. Возможно, вы могли бы использовать что-то вроде hive.hwi.war.fileсвойства или вытащить его из пути к классам.


Спасибо, Дэйв, это сработало. Я задаю этот вопрос, поскольку пытаюсь получить доступ к метаданным Hive с помощью клиента SQL. Но как-то не умею. Я разместил вопрос здесь. Не могли бы вы взглянуть на это http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty. Любая помощь будет оценена по достоинству.
arsenal

@RaihanJamal Понятия не имею; Я никогда не пробовал использовать что-либо подобное с Hive.
Дэйв Ньютон




10

Приведенное ниже работает на Hadoop 2.7.2.

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

Из проблемы оболочки улья "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 уже будет установлен ульем и ничего не делает. Это единственный способ узнать версию улья.
Джай Пракаш


8

Используйте флаг версии из интерфейса командной строки

[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: "hive --version"
  • на раковине улья: "! hive --version;"

cmds выше работает с hive 0.13 и выше.

Установить систему: sun.java.command;
дает версию улья из редактора hue hive, он дает имя баночки, которое включает версию.


5

Команда ниже работает, я попробовал это и получил текущую версию как

/usr/bin/hive --version

Привет, Шихар, какую версию Hadoop ты пытаешься использовать, это сработало для меня на cloudera CDH 5
Навнит Кумар

4

Если вы используете beelineдля подключения к улью, тогда !dbinfoбудут предоставлены все детали базовой базы данных, а на выходе getDatabaseProductVersionбудет версия базы данных улья.

Пример вывода: getDatabaseProductVersion 1.2.1000.2.4.3.0-227


3

Если вы используете дистрибутив hortonworks, то с помощью CLI вы можете получить версию с помощью команды:

hive --version

Пример вывода


2

Мы также можем получить версию, посмотрев на версию jar-файла hive-metastore.

Например:

$ 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

Это вернет версию 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, например

{"модуль": "куст", "версия": "1.2.1.2.3.0.0-2458"}

В документации WebHCat есть некоторые детали


1

Да, вы можете получить версию своего улья с помощью «команды улья»:

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 я попробовал использовать 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.


0

Мне удалось получить версию установленного Hadoop 3.0.3 с помощью следующей команды
$ HADOOP_HOME / bin $ ./hadoop version,
которая дала мне следующий вывод


Репозиторий исходного кода Hadoop 3.0.3 https: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Скомпилировано yzhang в 2018-05-31T17: 12Z
Скомпилировано с помощью protoc.0
Из источника с контрольной суммой 736cdcefa911261ad56d2d120bf1fa
Эта команда была запущена с использованием /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.