解决 Unable to load native-hadoop library for your platform 的报错问题
在启动hdfs时出现以下报错:
Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
原因是:
Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要64位的版本。
解决方法:
1、首先找到对应自己hadoop版本的64位的lib包,可以自己手动去编译,网上也有编译好的,可以去网站: http://dl.bintray.com/sequenceiq/sequenceiq-bin/ 下载对应的编译版本
2、将准备好的64位的lib包解压到已经安装好的hadoop安装目录的lib/native 和 lib目录下:
[hadoop@hadoopTest ~]$ tar -xvf hadoop-native-64-2.7.0.tar -C hadoop-2.7.2/lib/native
[hadoop@hadoopTest ~]$ tar -xvf hadoop-native-64-2.7.0.tar -C hadoop-2.7.2/lib
3、接着配置环境变量:
$ vim /home/hadoop/.bashrc
加上
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
然后刷新生效
$ source /home/hadoop/.bashrc
4、自检hadoop checknative –a 指令检查
$ hadoop checknative –a
网友评论