安装hadoop启动之后总有警告:Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
原因:
Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。
1、首先找到对应自己hadoop版本的64位的lib包,可以自己手动去编译,但比较麻烦,也可以去网上找,好多都有已经编译好了的。
2、可以去网站:http://dl.bintray.com/sequenceiq/sequenceiq-bin/ 下载对应的编译版本
3、将准备好的64位的lib包解压到已经安装好的hadoop安装目录的lib/native 和 lib目录下:
tar xf hadoop-native-64-2.6.0.tar -C /web/soft/hadoop-2.6.5/lib/native/
tar xf hadoop-native-64-2.6.0.tar -C /web/soft/hadoop-2.6.5/lib/
4、 然后增加环境变量:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib:${HADOOP_HOME}/lib/native"
5、最后查看,警告已经消除
[hadoop@BD-Spark1 ~]$ hdfs dfs -ls /
Found 11 items
drwxr-xr-x - hadoop supergroup 0 2019-07-16 17:48 /apps
drwxr-xr-x - hadoop supergroup 0 2019-08-07 09:23 /data
drwxr-xr-x - hadoop supergroup 0 2019-08-19 17:37 /hbase
drwxr-xr-x - hadoop supergroup 0 2019-11-20 14:26 /hbase_recommend
drwxr-xr-x - hadoop supergroup 0 2019-10-26 15:07 /hive
drwxr-xr-x - hadoop supergroup 0 2019-11-19 21:08 /kylin
drwxr-xr-x - hadoop supergroup 0 2019-09-05 10:15 /spark-log
drwx-wx-wx - hadoop supergroup 0 2019-09-23 11:56 /tmp
drwxr-xr-x - hadoop supergroup 0 2019-11-14 15:59 /udf
drwxr-xr-x - hadoop supergroup 0 2019-07-16 17:58 /user