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?
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.
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.
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"