Mensagens de erro: "Erro ao iniciar o MRAppMaster", "InvocationTargetException", "UnsatisfiedLinkError"
Causa raiz: Falha ao executar a função nativa "anchorNative" na classe "org.apache.hadoop.security.JniBasedUnixGroupsMapping"
Descrição: a função "anchorNative" chamará uma função na biblioteca "libhadoop.so". O caminho desta biblioteca é especificado por estas variáveis de ambiente:
export JAVA_LIBRARY_PATH
export HADOOP_COMMON_LIB_NATIVE_DIR
No código-fonte do Hadoop, imprima o caminho da classe da biblioteca java
System.err.println( (System.getProperty("java.library.path") );
# result
/home/maidinh/hadoop2/build/hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0/lib/native:
/usr/java/packages/lib/amd64:
/usr/lib64:
/lib64:
/lib:
/usr/lib
Versões diferentes da biblioteca "libhadoop.so" podem ser encontradas nesses locais que causam um conflito.
Solução: Exceto o caminho certo da biblioteca nativa (em hadoop-2.6.0 / lib / native), exclua todos os "libhadoop.so" em outros diretórios.
Notas: exclua todas as bibliotecas relacionadas do hadoop
rm -r libhadoop*
rm -r libhdfs*