web-dev-qa-db-fra.com

Hadoop: impossible de charger la bibliothèque native pour votre plate-forme

J'ai installé le nœud unique Hadoop 2.7.2 sur Ubuntu et je souhaite exécuter le programme Java wordcount. La compilation et la création du fichier jar sont terminées avec succès, mais lorsque je lance le fichier jar sur Hadoop, je reçois ce message:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable

Je définis les variables d'environnement en modifiant le fichier .bashrc:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib

Quand je tape hadoop checknative -a je reçois ceci:

hadoop: true /usr/local/hadoop/lib/native/libhadoop.so.1.0.0
zlib: true /lib/x86_64-linux-gnu/libz.so.1
snappy: false 
lz4: true revision:99
bzip2: false
openssl: true /usr/lib/x86_64-linux-gnu/libcrypto.so

16/05/09 00:48:53 INFO util.ExitUtil: Exiting with status 1

Version Hadoop: 2.7.2

Version Ubuntu: 14.04

Quelqu'un pourrait-il donner des indices sur le problème?

5

Déplacez vos fichiers de bibliothèque natifs compilés dans le dossier $ HADOOP_HOME/lib.

Puis définissez vos variables d’environnement en modifiant le fichier .bashrc

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib  
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib"

Assurez-vous que vos fichiers de bibliothèque natifs compilés sont dans le dossier $ HADOOP_HOME/lib.

Cela devrait régler le problème.

4
Nishu Tayal

Essayez de charger les pots hadoop "hadoop-common.jar et hadoop-core.jar" dans votre chemin de classe. Vous pouvez simplement le faire dans Eclipse et lors de la création d'un fichier jar, ces derniers seront automatiquement référencés.

0
Ishan Kumar

Ajoutez les lignes de commandes ci-dessous à hadoop-env.sh, il devrait supprimer les erreurs rencontrées

export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_ROOT_LOGGER="WARN,DRFA"
0
Mike Onuorah