hadoop Unable to load native-hadoop library --解决

13/09/11 22:05:53 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable


经常会出现这段代码,他可能会导致程序无法向下执行

网上对于这个问题有很错中说法

1,建立软链接

2,配置环境变量

  export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native/Linux-amd64-64

3,配置JVM启动参数

-Djava.library.path=$HADOOP_HOME/lib/native/Linux-amd64-64

4,重新编译本地库包

ant compile-native


本人经过一一尝试,最终失败


解决方案:

修改core-site配置文件

<property>
  <name>io.compression.codecs</name>
  <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec</value>
  <description>A list of the compression codec classes that can be used 
               for compression/decompression.</description>
</property>

将压缩算法替换成自己能成功允许的算法即可

替代解决方案一:

将本地文件库里的.so文件上传到分布式文件系统,在程序中显式的加载调用

替代解决方案二

在网上下载某种压缩算法,然后拷贝到hadoop/lib下,user/local/lib,hadoop native labirary中,配置好访问路径

修改core-site配置文件

将压缩算法替换成刚下载的算法

如果程序执行成功:

13/09/11 22:20:06 INFO util.NativeCodeLoader: Loaded the native-hadoop library
13/09/11 22:20:06 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library

祝您好运!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值