启用ISA-L步骤如下:
安装yasm和nasm
在Hadoop集群所有节点上安装yasm和nasm。
如果没有yum, 可以直接下载对应的源码,使用make进行安装
nasm 对应的下载地址 https://www.nasm.us/pub/nasm/releasebuilds/2.14.03rc2/linux/ 下载对应的rpm可以直接使用 yum localinstall 安装
yasm 对应的下载地址 http://www.tortall.net/projects/yasm/releases/ 下载最新版本解压后,进入目录执行:
1 ./configure
2. make && make install
或者直接用yum安装
yum install -y yasm
yum install -y nasm
注意:isa-l-2.28.0对nasm和yasm有版本要求,低版本在安装时会报错。
下载isa的压缩包地址 https://github.com/intel/isa-l
cd isa-l
./autogen.sh
./configure --prefix=/usr --libdir=/usr/lib64
make
make install
make -f Makefile.unx
各部操作无报错表示编译安装成功。
检查libisal.so*是否成功
ls -l ./bin/libisal.so* 存在则成功
现在其实还没有开启 hadoop还是找不到的, 执行hadoop checknative 打印如下
Native library checking:
hadoop: true /home/bigdata/hadoop/hadoop-3.2.1/lib/native/libhadoop.so.1.0.0
zlib: true /lib64/libz.so.1
zstd : false
snappy: true /lib64/libsnappy.so.1
lz4: true revision:10301
bzip2: true /lib64/libbz2.so.1
openssl: true /lib64/libcrypto.so
ISA-L: false libhadoop was built without ISA-L support
还需要下载hadoop对应的源码重新编译,安装好编译环境以后用下面的编译命令重新生成tar包
linux下
mvn clean package -Pdist,native -DskipTests -Dtar -Disal.lib=/usr/lib64/ -Dbundle.isal=true
编译完成后替换相应的包