您的位置:首页 > 运维架构

hadoop集群lzo某个机器上报错 Could not load native gpl library

2016-02-24 16:58 3275 查看

    错误

         具体错误为:   lzo.GPLNativeCodeLoader: Could not load native gpl library  java.lang.UnsatisfiedLinkError:
no gplcompression in java.library.path  

     测试


     首先编辑一个java类,获取当前"java.library.path"这个路径所指向的位置。并查看是否已经包含了 lzo环境。

     具体类代码如下:

import java.util.Properties;
import java.util.Set;

public class TestLD {

public static void main(String[] args) {
System.out.println(System.getProperty("java.library.path"));
Properties props = System.getProperties();
Set<Object> keys = props.keySet();
for (Object key : keys) {
if (((String) key).equals("java.library.path"))
System.out.println(System.getProperty("java.library.path"));
if (((String) key).equals("."))
System.out.println(System.getProperty("."));

}
try {
//loading gplcompression...
System.loadLibrary("gplcompression");
System.out.println("Load gplcompression success");

System.mapLibraryName("lzohadoop");
} catch (Throwable t) {
System.out.println("Error");
t.printStackTrace();
}
System.out.println(System.mapLibraryName("gplcompression"));
}
}

    比如我的输出如下:

    


     分别查看 这些路径下是否有 libgpl的文件,测试显示没有。

      


         由于我之前安装过lzo,此时查找文件 包含libgplcompression的路径,然后将该路径下的这些文件都复制到 /usr/lib目录下。第一张图是 liggplcompression所涵盖的文件,第二张图是复制之后的效果。

   


   


再次执行 java代码查看,可得如下结果:

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop lzo