在Centos下hadoop native-library错误

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

猜你喜欢

转载自blog.csdn.net/zhangzhaokun/article/details/50951238
今日推荐