llap - ¿Cómo saber las versiones de Hive y Hadoop desde el símbolo del sistema?
how to use hadoop (21)
/ 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 ~]$
¿Cómo puedo encontrar la versión de Hive que estoy usando desde el símbolo del sistema? A continuación están los detalles-
Estoy usando Putty para conectarme a la tabla de la colmena y acceder a los registros en las tablas. Entonces, lo que hice fue: abrí Putty y en el nombre de host escribí leo-ingesting.vip.name.com
y luego hice clic en 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 manera desde el símbolo del sistema de que pueda encontrar qué versión de colmena estoy usando y también la versión de Hadoop?
Debajo del comando funciona, probé esto y obtuve la versión actual como
/usr/bin/hive --version
Desde el problema de shell de colmena ''set system.sun.java.command'' La versión de colmena-cli.jar es la versión de colmena.
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>
Desde su conexión SSH al nodo de borde, puede simplemente 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 si ingresa en beeline
, puede encontrar la versión de inmediato.
beeline
Beeline version 1.2.1000.x.x.x.x-xx by Apache Hive
El siguiente funciona en Hadoop 2.7.2
hive --version
hadoop version
pig --version
sqoop version
oozie version
En HDInsight probé la colmena --versión, 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 inicie sesión en el nodo principal e inicie la consola de la colmena, imprimirá información de configuración útil desde la cual 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
Esto ciertamente debería funcionar:
hive --version
No puedes obtener la versión de colmena desde la línea de comando.
Puede verificar la versión de hadoop tal como lo menciona Dave.
Además, si está utilizando la distribución de cloudera, mire directamente a libs:
ls / usr / lib / hive / lib / y verificar la biblioteca de colmenas
hive-hwi-0.7.1-cdh3u3.jar
También puedes consultar las versiones compatibles aquí:
Otra forma es hacer una llamada REST, si tiene instalado WebHCat (parte del proyecto Hive),
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
Podemos encontrar la versión de colmena por
- en linux shell: "colmena --versión"
- en la concha de la colmena: "! colmena --version;"
cmds anteriores funciona en la colmena 0.13 y superior.
Establecer sistema: sun.java.command;
da la versión de colmena desde el editor de hue de matiz, le da el nombre de jar que incluye la versión.
Puedes obtener la versión de Hive
hive --version
si quieres saber la versión de la colmena y sus versiones relacionadas del paquete.
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
Último da una mejor comprensión de la colmena y sus dependientes. Sin embargo, las rpm deben estar presentes.
Sí, puedes obtener la versión de tu colmena usando el "comando colmena":
hive --service version
Puede obtener una lista de nombres de servicios disponibles utilizando el siguiente "comando de colmena":
hive --service help
Si está utilizando beeline
para conectarse a colmena, entonces !dbinfo
dará todos los detalles de la base de datos subyacente y en el resultado getDatabaseProductVersion
tendrá la versión de la base de datos de la colmena.
Salida de muestra: getDatabaseProductVersion 1.2.1000.2.4.3.0-227
También podemos obtener la versión mirando la versión del archivo jar de hive-metastore.
Por ejemplo:
$ ls /usr/lib/hive/lib/ | grep metastore
hive-metastore-0.13.1.jar
Utilice el siguiente comando para obtener la versión de colmena
colmena - versión de servicio
puede buscar el archivo jar tan pronto como inicie sesión en la colmena
jar:file:/opt/mapr/hive/hive-0.12/lib/hive-common-0.12-mapr-1401-140130.jar!/hive-log4j.properties
$ hadoop version
Hadoop 0.20.2-cdh3u4
Sin embargo, no estoy seguro de que pueda obtener la versión de Hive desde la línea de comando. Sin embargo, tal vez puedas usar algo como la propiedad hive.hwi.war.file
o sacarlo de la ruta de hive.hwi.war.file
.
$ 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.
Se sabe que funciona 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)
hive --version
hadoop version
hive -e "set hive.hwi.war.file;" | cut -d''-'' -f3