¿Cómo saber las versiones de Hive y Hadoop desde el símbolo del sistema?


88

¿Cómo puedo encontrar qué versión de Hive estoy usando desde el símbolo del sistema? A continuación se muestran los detalles.

Estoy usando Putty para conectarme a la tabla de colmena y acceder a los registros de las tablas. Entonces, lo que hice fue abrir Putty y en el nombre de host escribí leo-ingesting.vip.name.comy luego hice clic Open. Y luego ingresé mi nombre de usuario y contraseña y luego algunos comandos para llegar a Hive sql. A continuación se muestra la lista de lo que hice

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

Entonces, ¿hay alguna forma desde el símbolo del sistema que pueda encontrar qué versión de colmena estoy usando y también la versión de Hadoop?


1
¿Puedo hacer una solicitud para que cada CLI del mundo comience a admitir -v, --v, -version y --version como alias entre sí para que podamos seguir adelante con nuestras vidas?
jarmod

no puede: gnu getopt consideraría -version como -v -e -r -s -i -o -n, por ejemplo. Además, la CLI adecuada usa -v como alias para --verbose.
Konstantin Svintsov

Respuestas:


35

No puede obtener la versión de Hive desde la línea de comandos.

Puede verificar la versión de hadoop como lo menciona Dave.

Además, si está utilizando la distribución de cloudera, mire directamente las bibliotecas:

ls / usr / lib / hive / lib / y busque la biblioteca de la colmena

hive-hwi-0.7.1-cdh3u3.jar

También puedes consultar las versiones compatibles aquí:

http://www.cloudera.com/content/cloudera/en/documentation/cdh5/v5-1-x/CDH-Version-and-Packaging-Information/CDH-Version-and-Packaging-Information.html


2
¿Estás seguro de que el camino es /usr/lib/hive/lib/?
arsenal

@RaihanJamal: Sí, si está utilizando la distribución de cloudera. :)
pyfunc

1
sí, puede obtenerlo de la línea de comando: hive -e "set hive.hwi.war.file;" | grep hwi | cut -d'- '-f3
David

1
Recibo "hive.hwi.war.file is undefined"
rajibdotnet

9
hive --version muestra la versión. [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
Sridhar

146
$ hive --version
Hive version 0.8.1.3

EDITAR: agregó otro '-' antes de la versión. No funciona para versiones más nuevas. Espero que funcione para todos ahora.

Conocido por trabajar en las siguientes distribuciones:

  • Distribución de HortonWorks: $ hive --version Hive 0.14.0.2.2.0.0-2041
  • CDH 5.3

No funciona:

  • CDH 4.3
  • HDinsight (Azure)

2
No tengo idea de por qué alguien rechazó esto, pero funciona para mí. Tal vez sea específico de Amazon Elastic MapReduce (EMR) o de la versión de Hive.
dfrankow

1
Tengo cloudera 5.11.
Funcionó

CDH 5.15, funcionó para mí. Advertencia de máquina virtual del servidor Java HotSpot (TM) de 64 bits: ... Hive 1.1.0-cdh5.15.2 No sé por qué esta respuesta está en la segunda posición, no en la primera
staticor

35
$ hadoop version
Hadoop 0.20.2-cdh3u4

Sin embargo, no estoy seguro de poder obtener la versión de Hive desde la línea de comandos. Sin embargo, tal vez podría usar algo como la hive.hwi.war.filepropiedad o sacarla de la ruta de clase.


Gracias Dave, funcionó. Estoy haciendo esta pregunta porque estoy tratando de acceder a los metadatos de Hive mediante el cliente SQL. Pero de alguna manera no puedo hacerlo. Publiqué la pregunta aquí. ¿Puedes echar un vistazo a esto http://stackoverflow.com/questions/11278040/access-hive-tables-in-sqlclient-but-not-from-the-putty? Se agradecerá cualquier ayuda.
arsenal

@RaihanJamal No tengo idea; Nunca intenté usar algo así con Hive.
Dave Newton


14

PUEDE obtener la versión desde la línea de comando.

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

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

10

Lo siguiente funciona en Hadoop 2.7.2

hive --version

hadoop version

pig --version

sqoop version

oozie version

9

Desde el problema del shell de colmena 'set system.sun.java.command' La versión de hive-cli.jar es la versión de colmena.

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

El ejemplo anterior muestra Hive versión 0.10.0 para CDH versión 4.2.2


Jai, ¿puedes decir lo que hace?
YouAreAwesome

system.sun.java.command ya estará configurado por hive y no hace nada. Es una forma de averiguar la versión de la colmena.
Jai Prakash


8

Utilice la marca de versión de la 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

Podemos encontrar la versión de la colmena por

  • en linux shell: "hive --version"
  • en el shell de la colmena: "! colmena --versión;"

arriba cmds funciona en colmena 0.13 y superior.

Establecer sistema: sun.java.command;
da la versión de la colmena del editor de la colmena de hue da el nombre del jar que incluye la versión.


5

El siguiente comando funciona, probé esto y obtuve la versión actual como

/usr/bin/hive --version

Hola Shikhar, ¿qué versión de Hadoop estás probando? Me funcionó en cloudera CDH 5
Navneet Kumar

4

Si está utilizando beelinepara conectarse a Hive, !dbinfole dará todos los detalles de la base de datos subyacente y en la salida getDatabaseProductVersiontendrá la versión de la base de datos de Hive.

Salida de muestra: getDatabaseProductVersion 1.2.1000.2.4.3.0-227


3

Si está usando la distribución de hortonworks, entonces usando CLI puede obtener la versión con el comando:

hive --version

Salida de ejemplo


2

También podemos obtener la versión mirando la versión del archivo jar hive-metastore.

Por ejemplo:

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

2

Puede obtener la versión de Hive

hive --version

si desea conocer la versión de Hive y sus versiones de paquetes relacionados.

rpm -qa|grep hive

La salida será como a continuación.

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

Latter brinda una mejor comprensión de la colmena y sus dependientes. Sin embargo, las rpm deben estar presentes.


2

Utilice el siguiente comando para obtener la versión de colmena

colmena - versión de servicio


2

Desde su conexión SSH al nodo de borde, simplemente puede escribir

hive --version

Hive 1.2.1000.x.x.x.x-xx

Esto devuelve la versión de Hive para su distribución de Hadoop. Otro enfoque es que si ingresa beeline, puede encontrar la versión de inmediato.

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

1

otra forma es hacer una llamada REST, si tiene WebHCat (parte del proyecto Hive) instalado, es

curl -i http://172.22.123.63:50111/templeton/v1/version/hive?user.name=foo

que volverá con JSON como

{"módulo": "colmena", "versión": "1.2.1.2.3.0.0-2458"}

Los documentos de WebHCat tienen algunos detalles


1

Sí, puede obtener la versión de su colmena usando "comando de colmena":

hive --service version

Puede obtener una lista de los nombres de servicios disponibles mediante el siguiente "comando de colmena":

hive --service help

0

puede buscar el archivo jar tan pronto como inicie sesión en Hive

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 funcionó para mí.

[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

En HDInsight probé la versión de colmena, pero no reconoció la opción ni la mencionó en la ayuda.

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)

Sin embargo, cuando inicia sesión en el nodo principal e inicia la consola de Hive, imprime información de configuración útil desde la que se puede leer la versión:

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;

A partir de esto, diría que tengo implementada la versión 0.13 de Hive, que es consistente con esta lista de versiones https://hive.apache.org/downloads.html


0

Pude obtener la versión de Hadoop 3.0.3 instalada con el siguiente comando
$ HADOOP_HOME / bin $ ./hadoop versión
que me dio el siguiente resultado


Repositorio de código fuente de Hadoop 3.0.3 https: //yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Compilado por yzhang el 2018-05-31T17: 12.0
Compilado con protocol 2.5
Desde la fuente con suma de comprobación 736cdcefa911261ad56d2d120bf1fa
Este comando se ejecutó usando /usr/local/hadoop/share/hadoop/common/hadoop-common-3.0.3.jar


0

para identificar la versión de la colmena en un uso de instancia EC2

hive --version
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.