hadoop-2.7.3 + Centos 6.7 64位环境下使用弄一套Hadoop环境过程的一些小事情。
(1)开始检查
[hadoop@xxx6 ~]$ hadoop checknative -a
16/03/21 23:12:46 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
16/03/21 23:12:46 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop: true /home/hadoop/hadoop-2.7.2/lib/native/libhadoop.so
zlib: true /lib64/libz.so.1
snappy: false
lz4: true revision:99
bzip2: false
openssl: false Cannot load libcrypto.so (libcrypto.so: 无法打开共享对象文件: 没有那个文件或目录)!
16/03/21 23:12:46 INFO util.ExitUtil: Exiting with status 1
(2)问题查找
https://issues.apache.org/jira/browse/HADOOP-12845
Google一通下来,才知道这个是hadoop-2.7.2这个版本的BUG,还有待解决,目前只能去回避问题。
On RedHat system (Fedora/Centos/...) the /usr/lib64/libcrypto.so is a link provided by
openssl-devel RPM package which is fine on a build/development host, but devel packages are
not supposed to be installed on Production servers (Hadoop Cluster) and the openssl RPM package
don't include that link which is a problem.
(3)问题解决
可以建立如下符号链接即可:
[hadoop@xxx6 ~]$ cd /usr/lib64/
[hadoop@xxx lib64]$ ln -s libcrypto.so.1.0.1e libcrypto.so
建立符号链接后再检查hadoop native,则现象改变了!
[hadoop@xxx6 ~]$ hadoop checknative -a
16/03/21 23:13:51 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
16/03/21 23:13:51 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop: true /home/hadoop/hadoop-2.7.2/lib/native/libhadoop.so
zlib: true /lib64/libz.so.1
snappy: false
lz4: true revision:99
bzip2: false
openssl: true /usr/lib64/libcrypto.so
16/03/21 23:13:51 INFO util.ExitUtil: Exiting with status 1