我是hadoop的新手,在centos盒子上安装了hadoop 2.2.0。 对于我在下面提到的任何HDFS命令,我收到的警告消息。任何帮助,不胜感激。
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /data/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
14/02/25 11:52:45 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable.
JAVA_HOME设置为甲骨文热点JDK1.7
能够得到一些答案,centos 运行在 64 位版本和 Hadoop默认安装是 32 位。所以要么需要在 centos 上编译,要么忽略相同的内容。
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
在 .bashrc 中添加这两行并重新打开终端并尝试重新启动 hadoop。
execstack -c <libfile>
,或将其与-z noexecstack
链接。如果您遇到此错误意味着只需通过sudo gedit .bashrc
打开./bashrc
并添加以下两行:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
更新 .bashrc 文件的下一步:
source .bashrc
最后:
./start-all.sh
完成。现在它工作正常。