Je viens d'installer Ubuntu. Java 7u55 (JDK) et j'essaie de configurer Java_HOME en tant que variable d'environnement.
Dans ~/.bashrc
j'ai ajouté:
# Exports
Java_HOME=/home/myuser/sandbox/Java/7u55/jdk1.7.0_55
export PATH=$PATH:Java_HOME
Pourtant, lorsque je ferme le terminal et ouvre un nouveau shell et que je saisis which Java
ou Java -version
, Ubuntu ne semble pas savoir de quoi je parle (dit que le programme Java
peut être trouvé dans un des nombreux paquetages et me propose d’utiliser Sudo apt-get
pour l’installer. d'eux).
Qu'est-ce que je fais mal?
Tout d'abord, vous avez une faute de frappe dans la ligne d'exportation. CA devrait etre
export PATH=$PATH:$Java_HOME/bin
Pas d'espace, ajoutez un caractère $ avant Java_HOME, ajoutez /bin
Cependant, corriger la ligne ci-dessus peut ne pas résoudre votre problème lors de l’installation de Java Le moyen le plus simple d'installer Java consiste à utiliser webup8 ppa:
Sudo add-apt-repository ppa:webupd8team/Java
Sudo apt-get update
Sudo apt-get install Oracle-Java7-installer
Après la dernière commande, le script téléchargera automatiquement le jdk à partir du site Web Oracle et l’installera pour vous. Vous pouvez lire le tutoriel ici .
Vous avez défini la variable d'environnement Java_HOME
, mais il ne s'agit que d'une valeur utilisée par les applications qui souhaitent savoir où se trouvent le JRE ou le JDK.
PATH
correspond à ce que recherche votre shell lorsque vous essayez d'exécuter des exécutables. Ainsi, lorsque vous tapez Java -version
, il recherche dans le dossier JDK. Notez que Java
est en réalité à l'intérieur de $Java_HOME/bin
. C'est pourquoi il ne peut pas le trouver.
C'est l'explication.
La solution consiste à l'ajouter correctement au $PATH
:
export PATH=$PATH:Java_HOME/bin
ou d'exécuter update-alternatives
et ajoutez le chemin JDK aux alternatives Java du système.
Par exemple
update-alternatives --install "/usr/bin/Java" "Java" "/home/myuser/sandbox/Java/7u55/jdk1.7.0_55/bin/Java" 3
Sqoop ne trouvant pas jdk, c’est pourquoi cette erreur s’est produite. Par défaut, jre est utilisé et il n’a pas le fichier javac nécessaire pour compiler les travaux sqoop.
Solution:
si jdk est installé sur le système, configurez le même fichier dans le fichier hadoop-env.sh comme suit:
# The Java implementation to use. Required.
export Java_HOME=/opt/jdk1.8.0_151/
Et dans le fichier .bash_profile.
comme:
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/jdk1.8.0_151/bin
puis lancez source. .bash_profile
c’est maintenant qu’il faut tester le travail de sqoop.