Impossible de trouver ou de charger main class org.Apache.hadoop.util.VersionInfo

j'ai suivi "http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html" installer hadoop sur ubuntu. Mais, en vérifiant la version hadoop, j'obtiens l'erreur suivante:

Erreur: impossible de trouver ou charger la classe principale org.Apache.hadoop.util.VersionInfo

aussi, quand j'essaie: HDFS namenode-format

j'obtiens l'erreur suivante:

Erreur: impossible de trouver ou classe de charge principale org.Apache.hadoop.hdfs.serveur.namenode.NameNode

la version java utilisée est:

java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
17
demandé sur pirho 2014-01-19 06:49:54

9 réponses

c'est un problème de configuration des variables environnementales. Apparemment, je n'en ai pas trouvé un qui puisse marcher jusqu'à maintenant. Je l'ai essayé sur 2.6.4. Voici ce que nous devrions faire

export HADOOP_HOME=/home/centos/HADOOP/hadoop-2.6.4
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

Ajouter dans votre .bashrc et n'oubliez pas de faire

source ~/.bashrc
8
répondu Somum 2016-02-29 11:28:43

Vous n'avez probablement pas suivre les instructions correctement. Voici quelques choses à essayer et à nous aider / vous diagnostiquer ceci:

  • Dans le shell que vous avez exécuté hadoop version, exécutez export et de nous montrer la liste des variables d'environnement.

  • Montrez - nous ce que vous mettez dans le /usr/local/hadoop/etc/hadoop/hadoop-env.sh fichier.

  • si aucun des éléments ci-dessus ne vous donne d'indices, alors trouvez et utilisez un éditeur de texte pour (Temporairement) modifier le hadoop wrapper script shell. Ajouter la ligne "set -xv" quelque part près du début. Ensuite, exécutez hadoop version, et de nous montrer ce qu'il produit.

6
répondu Stephen C 2015-02-06 07:12:46

je faisais face au même problème. Bien que cela puisse sembler si simple mais a emporté 2 heures de mon temps. J'ai essayé toutes les choses ci-dessus, mais il n'a pas aidé.

je sors juste de la coquille dans laquelle j'étais et j'ai essayé à nouveau en me connectant au système. Alors les choses ont marché!

3
répondu lambzee 2016-05-17 12:04:45

ajouter cette ligne à~/.bash_profile travaillait pour moi.

export HADOOP_PREFIX=/<where ever you install hadoop>/hadoop

de Sorte que:

  1. $ sudo ouvert ~/.bash_profile puis ajouter ladite ligne
  2. $ source ~/.bash_profile

j'Espère que cette aide (:

2
répondu chinglun 2014-09-17 17:09:51

Essayez de vérifier:

  • JAVA_HOME, toutes les variables relatives au chemin dans la configuration Hadoop
  • exécuter: . ~/.bashrc (notez le point devant) pour rendre ces variables disponibles dans votre environnement. Il semble que le guide ne mentionne pas cette.
1
répondu yǝsʞǝlA 2014-01-19 03:34:11

Ma première suggestion est de télécharger à nouveau le goudron.gz à la même version ou major.

Si vous continuez à lire... ce comment j'ai résolu le problème... Après une nouvelle installation hadoop n'a pas été en mesure pour trouver les pots. J'ai fait ce petit truc:

je trouve où les pots sont

J'ai fait un lien symbolique du dossier $HADOOP_HOME / share/hadoop / common

ln -s $HADOOP_HOME/share/hadoop/kms/tomcat/webapps/kms/WEB-INF/lib $HADOOP_HOME/share/hadoop/common 

pour la commande version, vous avez besoin de hadoop-common-2.7.2.jar, ça m'a aidé à trouver où étaient les pots.

d'Après...

$ bin/hadoop version 
Hadoop 2.7.2
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
Compiled by jenkins on 2016-01-26T00:08Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /opt/hadoop-2.7.2/share/hadoop/kms/tomcat/webapps/kms/WEB-INF/lib/hadoop-common-2.7.2.jar

bien sûr, n'importe quelle commande hadoop / hdfs fonctionne maintenant.

je suis de nouveau un homme heureux, je sais que ce n'est pas une solution poli mais fonctionne au moins pour moi.

1
répondu ozw1z5rd 2016-08-26 12:22:46

j'ai ajouté les variables d'environnement décrites ci-dessus mais ça n'a pas marché. Définir le HADOOP_CLASSPATH comme suit dans mon~/.bashrc a travaillé pour moi:

export HADOOP_CLASSPATH=$(hadoop classpath):$HADOOP_CLASSPATH

0
répondu Eduardo Sanchez-Ros 2016-12-06 11:26:53

j'ai eu cette erreur , je l'ai corrigée en éditant ~/.bashrc comme suivre

export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH

alors ouvrez terminal et écrivez cette commande

source ~/.bashrc

puis cocher

hadoop version
0
répondu Elsayed 2017-07-26 10:59:16

j'ai utilisé

export PATH=$HADOOP_HOME/bin:$PATH

au Lieu de

export PATH=$PATH:$HADOOP_HOME/bin

alors ça a marché pour moi!

0
répondu Giri 2018-01-22 10:58:33