JAVA_HOME pas de réglage
Tout en travaillant sur Hadoop mise en Œuvre dans les Pseudo-Distribué Opération, j'ai trouvé exception suivante de JAVA_HOME variable non, mais Quand j'ai essayé d'en faire l'écho, il a été défini.
Variable est programmé dans conf/hadoop-env.sh
(édité export JAVA_HOME=/usr/lib/jvm/java-6-sun
), bash.bashrc
.
vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ echo $JAVA_HOME
/usr/lib/jvm/java-6-sun
vardan@vardan-HP-G62-Notebook-PC:~/hadoop-0.20.203.0$ bin/start-all.sh
starting namenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-namenode-vardan-HP-G62-Notebook-PC.out
localhost: starting datanode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-datanode-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set.
localhost: starting secondarynamenode, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-secondarynamenode-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set.
starting jobtracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-jobtracker-vardan-HP-G62-Notebook-PC.out
localhost: starting tasktracker, logging to /home/vardan/hadoop-0.20.203.0/bin/../logs/hadoop-vardan-tasktracker-vardan-HP-G62-Notebook-PC.out
localhost: Error: JAVA_HOME is not set.
Veuillez ajouter des lignes de
./conf/hadoop-env.sh
dans la question de savoir si le problème est toujours pas résolu. Également ajouter des lignes à partir de la ~/.bashrc
où le chemin d'accès à JAVA_HOME
est réglé.OriginalL'auteur Vardan Gupta | 2012-02-08
Vous devez vous connecter pour publier un commentaire.
Vérifier si
bin/start-all.sh
ne modifie pasJAVA_HOME
Peut-être mettre
echo $JAVA_HOME
à l'intérieur de ce script droite avant l'exécution de binaires?Ou définir manuellement java à la maison, comme donné dans une autre réponse ici, de mettre en bin/start-all.sh:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
OriginalL'auteur Taavi Ilves
J'ai simplement ajouté à l' ./conf/hadoop-env.sh cette ligne:
et il a aidé les
Travail sur Hadoop 1.0.4 à partir de l'archive téléchargée à partir de Apache. Sur Ubuntu 12.04 à l'aide de Open JDK 6 - (ubuntu lieux java binaire dans /usr/bin/java) donc dans ce fichier que j'ai décommenté la variable JAVA_HOME et l'a remplacé par /usr et start-all.sh fonctionne avec n'JAVA_HOME erreur
Merci, ça a fonctionné pour moi aussi. Hadoop version 2.6.0.
OriginalL'auteur Eugene Retunsky
La variable JAVA_HOME vous définissez avec
set JAVA_HOME=
est pertinente que pour le shell courant. Étant donné que vous êtes le démarrage d'une nouvelle interface de commande lors de l'exécution debin/start-all.sh
vous avez besoin de "l'exportation" de la variable d'environnement pour le rendre disponible dans la portée globale:OriginalL'auteur jalopaba
L'installation de java 1.6.x
sh jdk-6u32-linux-i586.bin
mv /etc/alternatives/java /etc/alternatives/java_bak
mv /etc/alternatives/javac /etc/alternatives/javac_bak
créer un lien
ln -s /opt/jdk1.6.0_32/bin/java /etc/alternatives/java
ln -s /opt/jdk1.6.0_32/bin/javac /etc/alternatives/javac
5.
java -version
-----------vous devez voir ceci --------------------------------
java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) Client VM (build 20.7-b02, en mode mixte, partage)
OriginalL'auteur Black_Rider
Vous pouvez essayer d'écrire dans votre .bash_profile fichier "JAVA_HOME=/usr/lib/jvm/java-6-sun", lorsque vous vous connectez à l'aide d'une console, que ce soit physiquement à la machine ou à l'aide de ssh .bash_profile est exécutée., .bashrc est ouvert lorsque vous exécutez /bin/bash ou d'un autre terminal
vous pouvez également essayer de l'écrire à l'intérieur de la start-all.sh
assurez-vous que JAVA_HOME est le chemin d'accès correct
OriginalL'auteur Jose De Gouveia
même problème sur Ubuntu Precise + CDH4...
longue histoire courte, CDH4 utilise bigtop et de la façon la plus simple de définir JAVA_HOME est de modifier le /etc/default/bigtop-utils de fichiers tels que:
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_43/jre/
Remarque: je ne pouvais pas trouver toutes les hadoop-env.sh fichier suite à une CDH4 installer.
OriginalL'auteur smertrios
Le problème est que les scripts qui initialise dfs et mapreduce les démons n'ont pas JAVA_HOME défini dans son environnement.
Posibly, lors de l'exécution de HDFS et MapReduce, son environnement d'exécution est celui spécifié par le script $HADOOP_HOME/conf/hadoop-env.sh. Par conséquent, il serait suffisant de définir JAVA_HOME $HADOOP_HOME/conf/hadoop-env.sh :
Sinon, quand cela ne suffit pas, le problème peut être que la configuration de l'environnement utilisé (hadoop-env.sh) n'est pas celui que nous attendons; hadoop est de choisir un autre, ou de la valeur par défaut constaté. La solution la plus rapide sera de définir le répertoire conf où l'hadoop-env.sh le script est placé. Réglage de la HADOOP_CONF_DIR variable d'environnement sera assez:
OriginalL'auteur tremendows
Vous pouvez ajouter dans votre
.bashrc
fichier:et il va changer de manière dynamique lorsque vous mettez à jour vos paquets et de s'habituer par Hadoop.
OriginalL'auteur Paulo Fidalgo
Peut-être vous avez besoin de vérifier les $JAVA_HOME de configuration comme ci-dessous:
1. pour
hadoop-1.x
: hadoop-home-path/conf/hadoop-env.sh2. pour
hadoop-2.x
: hadoop-home-path/etc/hadoop/hadoop-env.shOriginalL'auteur okin2014