J'ai suivi " http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html " pour installer hadoop sur Ubuntu. Mais, en vérifiant la version de hadoop, j'obtiens l'erreur suivante:
Erreur: Impossible de trouver ou de charger la classe principale org.Apache.hadoop.util.VersionInfo
Aussi, quand j'essaye: hdfs namenode -format
Je reçois l'erreur suivante:
Erreur: Impossible de trouver ou de charger la classe principale org.Apache.hadoop.hdfs.server.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)
C'est un problème de configuration des variables d'environnement. Apparemment, je n’en ai trouvé aucun qui puisse fonctionner jusqu’à maintenant. J'essayais 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
Ajoutez-les dans votre .bashrc et n'oubliez pas de le faire
source ~/.bashrc
Je pense que votre problème sera résolu comme le mien.
Vous n'avez probablement pas suivi les instructions correctement. Voici quelques conseils pour nous aider/pour vous aider à diagnostiquer ceci:
Dans le shell dans lequel vous avez exécuté hadoop version
, exécutez export
et affichez la liste des variables d'environnement pertinentes.
Montrez-nous ce que vous avez mis dans le fichier /usr/local/hadoop/etc/hadoop/hadoop-env.sh
.
Si aucun des éléments ci-dessus ne vous donne/nous des indices, recherchez et utilisez un éditeur de texte pour modifier (temporairement) le script shell hadoop
. Ajoutez la ligne "set -xv" quelque part près du début. Ensuite, lancez hadoop version
et montrez nous ce qu’il produit.
Je faisais face au même problème. Bien que cela puisse paraître si simple, il m'a pris 2 heures de mon temps. J'ai essayé toutes les choses ci-dessus mais ça n'a pas aidé.
Je viens de quitter le shell dans lequel je me trouvais et j'ai réessayé en me connectant à nouveau au système. Ensuite, les choses ont fonctionné!
Ajouter cette ligne à ~/.bash_profile a fonctionné pour moi.
export HADOOP_PREFIX=/<where ever you install hadoop>/hadoop
Alors juste:
J'espère que cela t'aides (:
J'ai eu le même problème avec hadoop 2.7.2 Après avoir appliqué le truc montré, j'étais capable de démarrer des hdfs mais plus tard, j'ai découvert qu'il manquait quelques pièces importantes dans l'archivage que j'utilisais. Ainsi, le téléchargement de la 2.7.3 a fonctionné comme prévu.
Ma première suggestion est de télécharger à nouveau le fichier tar.gz dans la même version ou le même logiciel majeur.
Si vous continuez à lire ... voici comment j'ai résolu le problème ........ Après une nouvelle installation, Hadoop n'a pas été en mesure de trouver les pots. J'ai fait ce petit tour:
J'ai localisé où sont les pots
J'ai créé un lien symbolique du dossier vers $ 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 de version dont vous avez besoin de hadoop-common-2.7.2.jar, cela m'a aidé à trouver où les jars étaient stockés.
Après ça...
$ 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, toute commande hadoop/hdfs fonctionne maintenant.
Je suis à nouveau un homme heureux, je sais que ce n'est pas une solution polie mais fonctionne au moins pour moi.
Essayez de vérifier:
. ~/.bashrc
(notez le point devant) pour rendre ces variables disponibles dans votre environnement. Il semble que le guide ne mentionne pas cela.J'ai eu cette erreur, j'ai corrigé ça en éditant ~/.bashrc Comme suit
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
puis ouvrez le terminal et écrivez cette commande
source ~/.bashrc
puis vérifier
hadoop version
J'ai utilisé
export PATH=$HADOOP_HOME/bin:$PATH
Au lieu de
export PATH=$PATH:$HADOOP_HOME/bin
Ensuite, cela a fonctionné pour moi!