1.错误
在Hadoop虚拟机里面编写spark程序时出现如下警告
报错:WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
截图时通过CRT操作虚拟机
2. 警告原因
spark预先编译的hadoop版本为32位的,放在64位的机器上执行会报这个错误
3.解决方法
方法一
- 进入spark下的conf目录下
- 在spark-env.sh文件中加入LD_LIBRARY_PATH环境变量
LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
- 检验:
由图可知,原先的警告已经消除
方法二
在 ~/.bashrc 设置一下 export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
vi ~/.bashrc
依旧是添加LD_LIBRARY_PATH环境变量
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
注:因为方法一我进过测试已经成功,但方法二我测试未成功,但也有人测试方法一不可行,方法二可行。原因还不清楚,抱歉。