Comment connaître les versions Hive et Hadoop à partir de l'invite de commande?
Comment puis-je trouver la version de la ruche que j'utilise à partir de l'invite de commande. Voici les détails -
J'utilise Putty pour me connecter à la table hive et accéder aux enregistrements dans les tables. Donc, ce que j'ai fait est-j'ai ouvert Putty et dans le nom d'hôte j'ai tapé - leo-ingesting.vip.name.com
et puis je clique sur Open
. Et puis j'ai entré mon nom d'utilisateur et mon mot de passe, puis quelques commandes pour arriver à Hive sql. Voici la liste de ce que j'ai fait
$ 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;
Est - il possible de trouver la version de la ruche que j'utilise à partir de l'invite de commande et la version Hadoop aussi?
24 réponses
Vous ne pouvez pas obtenir la version de la ruche à partir de la ligne de commande.
Vous pouvez commander la version hadoop comme mentionné par Dave.
Aussi, si vous utilisez la distribution cloudera, regardez directement les libs:
Ls/usr/lib/Hive/ lib / et vérifiez la bibliothèque hive
hive-hwi-0.7.1-cdh3u3.jar
Vous pouvez également vérifier les versions compatibles ici:
$ hive --version
Hive version 0.8.1.3
EDIT: ajout d'un autre ' - ' avant la version. Ne fonctionne pas pour les versions plus récentes. Espérons que cela fonctionne pour tous maintenant.
Connu pour fonctionner dans les distributions suivantes:
- hortonworks a distribution:
$ hive --version Hive 0.14.0.2.2.0.0-2041
- CDH 5.3
Cela ne fonctionne pas:
- CDH 4.3
- HDinsight (Azure)
$ hadoop version
Hadoop 0.20.2-cdh3u4
Pas sûr que vous pouvez obtenir la version de la ruche à partir de la ligne de commande, cependant. Peut-être que vous pourriez utiliser quelque chose comme la propriété hive.hwi.war.file
ou le retirer du classpath, cependant.
À partir du problème du shell de la ruche 'définir le système.soleil.Java.commande' La ruche-cli.jar version est la ruche version.
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>
Nous pouvons trouver la version de la ruche par
- sur Linux shell: "Hive --version"
- sur la coque de la ruche:"! la ruche --version;"
Ci-dessus cmds fonctionne sur hive 0.13 et au-dessus.
Ensemble Système: soleil.Java.commande;
donne la version hive de Hue Hive editor il donne le nom du jar qui inclut la version.
Ce qui suit fonctionne sur Hadoop 2.7.2
hive --version
hadoop version
pig --version
sqoop version
oozie version
Ci-dessous la commande fonctionne, j'ai essayé ceci et j'ai obtenu la version actuelle comme
/usr/bin/hive --version
Nous pouvons également obtenir la version en regardant la version du fichier jar Hive-metastore.
Par exemple:
$ ls /usr/lib/hive/lib/ | grep metastore
hive-metastore-0.13.1.jar
Vous pouvez obtenir la version Hive
hive --version
Si vous voulez connaître la version de hive et ses versions de package connexes.
rpm -qa|grep hive
La sortie sera comme ci-dessous.
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
Ce dernier donne une meilleure compréhension de la ruche et de ses personnes à charge. Néanmoins rpm doit être présent.
Utilisez la commande ci-dessous pour obtenir la version de la ruche
La Ruche --version du service de
Si vous utilisez beeline
pour vous connecter à hive, alors !dbinfo
donnera tous les détails de la base de données sous-jacente et dans la sortie getDatabaseProductVersion
aura la version de la base de données hive.
Exemple de sortie:
getDatabaseProductVersion 1.2.1000.2.4.3.0-227
Une autre façon est de faire un appel REST, si vous avez webhcat (partie du projet Hive) installé, est
curl -i http://172.22.123.63:50111/templeton/v1/version/hive?user.name=foo
Qui reviendra avec JSON comme
{"module":"la ruche","version":"1.2.1.2.3.0.0-2458"}
WebHCat docs a quelques détails
Oui, vous pouvez obtenir la version de votre ruche en utilisant "commande hive":
hive --service version
Vous pouvez obtenir une liste des noms de services disponibles en utilisant la commande "Hive" suivante:
hive --service help
Si vous utilisez Hortonworks distro puis en utilisant CLI, vous pouvez obtenir la version avec la commande:
hive --version
, Vous pouvez rechercher le fichier jar dès que vous vous connectez à la ruche
jar:file:/opt/mapr/hive/hive-0.12/lib/hive-common-0.12-mapr-1401-140130.jar!/hive-log4j.properties
/ usr / bin /Hive -- la version a fonctionné pour moi.
[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 ~]$
Sur HDInsight, j'ai essayé la version hive, mais elle n'a pas reconnu l'option ou ne l'a pas mentionnée dans l'aide.
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)
Cependant, lorsque vous vous connectez au nœud head et démarrez la console hive, il affiche des informations de configuration utiles à partir desquelles la version peut être lue:
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;
À partir de là, je dirais que J'ai déployé la version 0.13 de Hive, ce qui est cohérent avec cette liste de versions https://hive.apache.org/downloads.html
À partir de votre connexion SSH au nœud edge, vous pouvez simplement taper
hive --version
Hive 1.2.1000.x.x.x.x-xx
Cela renvoie la version Hive pour votre distribution de Hadoop. Une autre approche est que si vous entrez dans beeline
, Vous pouvez trouver la version immédiatement.
beeline
Beeline version 1.2.1000.x.x.x.x-xx by Apache Hive
Vous pouvez obtenir la version à partir de la ligne de commande.
hive> select version();
OK
1.1.0-cdh5.12.0 rUnknown
Time taken: 2.815 seconds, Fetched: 1 row(s)
hive>
Utilisez l'indicateur de version de L'interface de ligne de commande
[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-10-69-189-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
J'ai pu obtenir la version de Hadoop 3.0.3 installée par la commande suivante
$ HADOOP_HOME / bin$ ./ version hadoop
ce qui m'a donné la sortie suivante
Hadoop 3.0.3
Référentiel de code Source https://yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git {[7] }- R 37fd7d752db73d984dc31e0cdfd590d252f5e075
Compilé par yzhang le 2018-05-31T17: 12Z
Compilé avec protocol 2.5.0
De la source avec la somme de contrôle 736cdcefa911261ad56d2d120bf1fa
Cette commande a été exécutée à l'aide de /usr/local/hadoop/share/hadoop/common/hadoop-commune-3.0.3.jar