一.问题描述。
在安装好Hadoop后,在启动Hadoop或进行一些需求和操作时会产生本地库无法使用的警告。如下
WARN util.NativeCodeLoader: Unable to load native-hadooplibrary for your platform... using builtin-java classes where applicable
二.问题分析。
Hadoop是使用Java语言开发完成的,再加上Hadoop的原生版本都是32位的,
为了能够更好的操作Hadoop,所以就引入了Hadoop的本地库,通过本地库可以更加高效地执行某一些操作。这就极有可能造成一些Hadoop本地库的需求和操作并不完全适合使用java,因此便造成了Hadoop本地库与系统的冲突。
三.为题解决。
为了解决本地库的冲突,可以通过配置文件,定向的去使用Hadoop的本地库。
修改hadoop-env.sh和yarn-env.sh添加如下配置:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
exportHADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"