配置文件:/etc/profile
export JAVA_HOME=/usr/java/latest
export HADOOP_PREFIX=/opt/hadoop-2.4.1
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
export PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin:$HADOOP_PREFIX/bin
启动集群提示:It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'
是由于系统为64位,hadoop官方提供的native lib是32位导致的,如下:
[root@master ~]# file /opt/hadoop-2.4.1/lib/native/libhadoop.so
/opt/hadoop-2.4.1/lib/native/libhadoop.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
...
去除提示:
添加环境变量:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"
去除警告:
需要下载源代码,重新编译so,可参考http://blog.csdn.net/lalaguozhe/article/details/10580727
DataNode节点无法启动
原因:修改了namenode相关的配置文件,并重新格式化了文件系统。
如果namenode和datanode的关闭顺序不当也有可能会导致datanode无法启动。
解决方案:到datanode的数据目录中,删除current目录即可。