问题描述:
部署完Hadoop之后,执行 hadoop checknative 对本地库做检查:
./bin/hadoop checknative
19/12/06 11:31:39 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
19/12/06 11:31:39 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop: true /home/work/software/hadoop-2.7.2.7/lib/native/libhadoop.so.1.0.0
zlib: true /lib64/libz.so.1
snappy: true
lz4: true revision:99
bzip2: false
openssl: false Cannot load libcrypto.so (libcrypto.so: cannot open shared object file: No such file or directory)!
发现bzip2为false,bizip2的的本地压缩支持无效,整个编译过程没有发现错误,去cenots下的lib64位目录下,查看libbz2的so文件,发现也正常;
ls /lib64/libz.so.1
/lib64/libz.so.1
问题原因:
在编译hadoop时,由于centos系统没有安装bzip2-devel库文件,导致的;
查看编译机bizip2-devel库文件
rpm -qa bzip2-devel : 发现没有安装;
问题解决:
安装bzip2-devel库支持,然后重新编译hadoop软件包;
yum install -y bzip2-devel
编译部署完成后重新验证: 发现已经生效;
./bin/hadoop checknative
19/12/06 11:40:23 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
19/12/06 11:40:23 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop: true /home/work/software/hadoop-2.7.2.7/lib/native/libhadoop.so.1.0.0
zlib: true /lib64/libz.so.1
snappy: true /home/work/software/hadoop-2.7.2.7/lib/native/libsnappy.so.1
lz4: true revision:99
bzip2: true /lib64/libbz2.so.1
openssl: false Cannot load libcrypto.so (libcrypto.so: cannot open shared object file: No such file or directory)!