Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created on 10-16-2018 03:27 AM
If you have erasure coded some directory and perform some operations on the directory you might have observed WARN messages like below
WARN erasurecode.ErasureCodeNative: Loading ISA-L failed: Failed to load libisal.so.2 (libisal.so.2: cannot open shared object file: No such file or directory) WARN erasurecode.ErasureCodeNative: ISA-L support is not available in your platform... using builtin-java codec where applicable
This WARN messages are due to ISA Library not being present on the node.
Below are the steps to enable the library
1) Clone the isa-l github repository.
# git clone https://github.com/01org/isa-l.git
2) Go to the cloned directory
# cd isa-l
3) Install yasm if you do not have it already
# yum install -y yasm ---> centOS # apt-get install yasm ----> ubuntu
4) Build the library
# make -f Makefile.unx
5) Copy the library files to lib directory
# cp bin/libisal.so bin/libisal.so.2 /lib64
6) Verify that isa-l library is enabled properly
# hadoop checknative Expected output 18/10/12 10:20:03 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native 18/10/12 10:20:03 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library Native library checking: hadoop: true /usr/hdp/3.0.0.0-1634/hadoop/lib/native/libhadoop.so.1.0.0 zlib: true /lib64/libz.so.1 zstd : false snappy: true /usr/hdp/3.0.0.0-1634/hadoop/lib/native/libsnappy.so.1 lz4: true revision:10301 bzip2: true /lib64/libbz2.so.1 openssl: true /lib64/libcrypto.so ISA-L: true /lib64/libisal.so.2 -------------> Shows that ISA-L is loaded.
If step 6 uses /usr/lib64 directory instead of /lib64, you need copy the .so files in Step 5 to /usr/lib64 directory. Perform the steps on all datanode and namenode hosts or copy the .so files from the above node to /lib64 directories of all other nodes.
.
Hope this helps 🙂
Created on 10-25-2018 07:16 AM
Tested in my cluster as well and was able to add ISA-L libs and remove the WARN messages.
Created on 03-31-2022 02:03 PM
hello I have the errors mentioned in the description and I am executing the procedure but I get the following errors in
make -f Makefile.unx
[root@emkioqlnclo01 isa-l]# make -f Makefile.unx
---> Building erasure_code/gf_vect_mul_sse.asm x86_64
---> Building erasure_code/gf_vect_mul_avx.asm x86_64
---> Building erasure_code/gf_vect_dot_prod_sse.asm x86_64
---> Building erasure_code/gf_vect_dot_prod_avx.asm x86_64
---> Building erasure_code/gf_vect_dot_prod_avx2.asm x86_64
---> Building erasure_code/gf_2vect_dot_prod_sse.asm x86_64
---> Building erasure_code/gf_3vect_dot_prod_sse.asm x86_64
---> Building erasure_code/gf_4vect_dot_prod_sse.asm x86_64
---> Building erasure_code/gf_5vect_dot_prod_sse.asm x86_64
---> Building erasure_code/gf_6vect_dot_prod_sse.asm x86_64
---> Building erasure_code/gf_2vect_dot_prod_avx.asm x86_64
---> Building erasure_code/gf_3vect_dot_prod_avx.asm x86_64
---> Building erasure_code/gf_4vect_dot_prod_avx.asm x86_64
---> Building erasure_code/gf_5vect_dot_prod_avx.asm x86_64
---> Building erasure_code/gf_6vect_dot_prod_avx.asm x86_64
---> Building erasure_code/gf_2vect_dot_prod_avx2.asm x86_64
---> Building erasure_code/gf_3vect_dot_prod_avx2.asm x86_64
---> Building erasure_code/gf_4vect_dot_prod_avx2.asm x86_64
---> Building erasure_code/gf_5vect_dot_prod_avx2.asm x86_64
---> Building erasure_code/gf_6vect_dot_prod_avx2.asm x86_64
---> Building erasure_code/gf_vect_mad_sse.asm x86_64
---> Building erasure_code/gf_2vect_mad_sse.asm x86_64
---> Building erasure_code/gf_3vect_mad_sse.asm x86_64
---> Building erasure_code/gf_4vect_mad_sse.asm x86_64
---> Building erasure_code/gf_5vect_mad_sse.asm x86_64
---> Building erasure_code/gf_6vect_mad_sse.asm x86_64
---> Building erasure_code/gf_vect_mad_avx.asm x86_64
---> Building erasure_code/gf_2vect_mad_avx.asm x86_64
---> Building erasure_code/gf_3vect_mad_avx.asm x86_64
---> Building erasure_code/gf_4vect_mad_avx.asm x86_64
---> Building erasure_code/gf_5vect_mad_avx.asm x86_64
---> Building erasure_code/gf_6vect_mad_avx.asm x86_64
---> Building erasure_code/gf_vect_mad_avx2.asm x86_64
---> Building erasure_code/gf_2vect_mad_avx2.asm x86_64
---> Building erasure_code/gf_3vect_mad_avx2.asm x86_64
---> Building erasure_code/gf_4vect_mad_avx2.asm x86_64
---> Building erasure_code/gf_5vect_mad_avx2.asm x86_64
---> Building erasure_code/gf_6vect_mad_avx2.asm x86_64
---> Building erasure_code/ec_multibinary.asm x86_64
multibinary.asm:283: error: expression syntax error
multibinary.asm:359: error: expression syntax error
make: *** [bin/ec_multibinary.o] Error 1