hadoop使用分布式操作出现报错WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform.

原因:

Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。

你需要重新修改native文件(不要嫌麻烦这个是最好的办法)

1:进入网址:

http://dl.bintray.com/sequenceiq/sequenceiq-bin/
这里面有hadoop相关的版本信息,如果你是2.7.*的就下载2.7.0的就可以了,2.6.*的下载2.6.0的依次类推

2:下载完成后,使用xftp导入到你的虚拟机中

先使用rm -rf native/*将你原来native下的文件全部删除,native的位置在安装hadoop文件下的lib下

在这里插入图片描述
再使用tar -xvf hadoop-native-64-2.6.0.tar -C /opt/module/hadoop-2.7.7/lib/native将你下载好的native解压缩到native下

3:配置环境变量

使用 vim /etc/profile进入环境变量配置
在文件中添加以下内容

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native  
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"  

重启环境变量

source /etc/profile

4:检查是否解决问题

在命令框下使用hadoop fs -ls /
如果没有出现报错,就说明问题解决了

你可能感兴趣的:(python学习,hadoop,分布式学习,启用分布式报错)