在安装部署的时候,遇到了问题 Unable to load native-hadoop library
原因1:64位linux使用了32位的hadoop native本地库
[root@hadoop-001hadoop-2.4.1]# hadoop fs -ls /
14/12/09 19:43:06 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[root@lsn-linux hadoop-2.4.1]#
原因是hadoop-2.4.1.tar.gz安装包是在32位机器上编译的,64位的机器加载本地库.so文件时出错,不影响使用。
参照:” 检查Hadoop是32位还是64位”
解决:
1.重新编译源码后将新的lib/native替换到集群中原来的lib/native
这里替换完毕,可是还是出现,在增加下面配置。
2.修改hadoop-env.sh ,增加
export HADOOP_OPTS="$ HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
3.hadoop-env.sh 同步集群其他节点,重启集群生效