J'essaie d'installer Hadoop sur Ubuntu 11.10. Je règle la variable Java_HOME
dans le fichier conf/hadoop-env.sh
sur:
# export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
et ensuite j'exécute ces commandes (Opération autonome):
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
$ cat output/*
mais j'ai l'erreur suivante lors de l'exécution de la troisième commande:
ERREUR: Java_HOME n'est pas défini
La variable Java_HOME
n'est-elle pas définie correctement?
Assurez-vous que vous avez supprimé la balise de commentaire et modifié votre Java_HOME
dans le hadoop-env.sh
ainsi que les .bashrc
et/ou .profile
appropriés:
# export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
devrait être
export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
Vous pouvez définir votre Java_HOME
et PATH
pour tous les utilisateurs (assurez-vous de ne pas l'avoir défini précédemment sur le mauvais chemin) dans /etc/profile
.
De plus, n'oubliez pas d'activer la nouvelle modification en vous déconnectant/en se connectant ou en exécutant source /etc/profile
.
Vous devez également définir Java_HOME
dans le fichier hadoop-env.sh
qui se trouve également dans le répertoire de configuration Hadoop . Par défaut, la ligne de réglage Java_HOME
est commentée.
Tapez echo $Java_HOME
dans votre terminal pour vous assurer que votre Java_HOME
est défini.
Vous pouvez également taper Java -version
pour savoir quelle version de Java vous utilisez réellement.
En passant, en lisant votre description, il semble que vous écrivez réellement
export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
dans le fichier conf/hadoop-env.sh
, vous devez l'écrire dans votre terminal ou dans ~/.bashrc
ou ~/.profile
, puis tapez source < path to modified file >
.
Vous pouvez ajouter dans votre fichier .bashrc
:
export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")
et cela changera dynamiquement lorsque vous mettrez à jour vos paquets.
Copiez ce export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
dans le fichier hadoop-env.sh
.
Java_HOME
est l'emplacement où les fichiers binaires Java sont présents.
La solution qui a fonctionné pour moi a été de placer mon Java_HOME
dans /etc/environment
Bien que Java_HOME
puisse être défini dans les fichiers/etc/profile, l'emplacement préféré pour Java_HOME
ou toute variable système est /etc/environment
.
Ouvrez/etc/environment dans n’importe quel éditeur de texte comme nano ou vim et ajoutez la ligne suivante:
Java_HOME="/usr/lib/jvm/your_Java_directory"
Chargez les variables:
source /etc/environment
Vérifiez si la variable s'est chargée correctement:
echo $Java_HOME
J'ai essayé les solutions ci-dessus mais les suivantes ont fonctionné sur moi
export Java_HOME=/usr/Java/default