Як дізнатися версії 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, як згадував Дейв.

Крім того, якщо ви використовуєте розподіл клоудери, дивіться безпосередньо на кінцівки:

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/?
арсенал

@RaihanJamal: Так, якщо ви використовуєте розподіл клоудери. :)
pyfunc

1
так, ви можете отримати його з командного рядка: hive -e "встановити hive.hwi.war.file;" | grep hwi | cut -d'- '-f3
Девід

1
Я отримую "hive.hwi.war.file не визначено"
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 (Azure)

2
Я не уявляю, чому хтось голосував за це, але це працює для мене. Можливо, це стосується Amazon Elastic MapReduce (EMR) або версії Hive.
dfrankow

1
У мене клоудера 5.11. У мене
спрацювало

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

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. Будь-яка допомога буде вдячна.
арсенал

@RaihanJamal Я поняття не маю; Я ніколи не пробував використовувати щось подібне з Вуликом.
Dave Newton




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 для версії 4.2.2 CDH


Джай, ти можеш сказати, що це робить !!
YouAreAwesome

system.sun.java.command буде вже встановлений вуликом, і він нічого не робить. Це один із способів дізнатися версію вулика.
Jai Prakash


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: "hive --version"
  • на оболонці вулика: "! hive --version;"

вище cmds працює на вулику 0,13 і вище.

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


5

Нижче команда працює, я спробував це і отримав поточну версію як

/usr/bin/hive --version

Привіт Шихаре, яку версію Hadoop ти намагаєшся, це спрацювало для мене на Cloudera CDH 5
Navneet Kumar

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 like

{"module": "hive", "version": "1.2.1.2.3.0.0-2458"}

Документи WebHCat містять деякі деталі


1

Так, ви можете отримати версію свого вулика, використовуючи "команду вулика":

hive --service version

Ви можете отримати список доступних назв служб, використовуючи наступну "команду вулика":

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 версія,
яка дала мені такий результат


Сховище вихідного коду Hadoop 3.0.3 https: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Складено yzhang на 2018-05-31T17: 12c
Compi
З джерела з контрольною сумою 736cdcefa911261ad56d2d120bf1fa
Цю команду було запущено за допомогою /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.