PS:最近一年事情太多,一年多没在博客分享记录了,以后有空还是分享下。
今天测试部署Hadoop 2.6集群,出现一个报错,搜索了下,都说是hadoop配置文件问题,检查了两遍发现没问题,排查怀疑是JDK版本问题,报错的是1.7,后升级安装到1.8后问题解决。
在 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 里面选择下载jdk-8u66-linux-x64.rpm这个包。
# rpm -Uvh jdk-8u66-linux-x64.rpm
# vim /etc/profile
在最后加入如下配置:
export JAVA_HOME=/usr/java/jdk1.8.0_66
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/usr/lib/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
保存退出后运行source /etc/profile使其生效。上面也是每一台hadoop节点的JDK环境配置。
注意:其实里面提示的“Unsupported major.minor version 51.0”才是问题关键,51.0是JDK1.7的Class版本号,这里提示就是不支持JDK1.7的意思。
我查询了官方文档,JDK版本号和Class版本号对应表如下:
JDK 1.8 = 52
JDK 1.7 = 51
JDK 1.6 = 50
JDK 1.5 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
JDK 1.1 = 45