WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
如果命令输出为i386,就是这个问题了,如果你是像我上面这种输出,就不是这个问题导致的,直接跳到第二步。spark@master:~/workspace/hadoop-2.7.1/lib/native$ file libhadoop.so.1.0.0
libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked,BuildID[sha1]=f10b72d3bd2583ab9b126ede6ca886c3c9cc8a88, not stripped
一、本地编译源码
具体操作可参考:http://blog.youkuaiyun.com/young_kim1/article/details/50269501
最后编译完以后,目标在
二、配置环境变量
在/etc/profile中,添加下面配置:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_HOME=/home/hadoop/labc/hadoop-2.7.1
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
并把相同配置添加到hadoop-env.sh文件末尾。
另加下面这句到/etc/profile中
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH
最后记得使配置生效:source /etc/profile
再执行spark-shell,就没有这个警告了。