写hbase异常native snappy library not available: this version of lib hadoop was built without snappy

操作snappy压缩的表时抛出:

java.lang.RuntimeException: native snappy library not available: this version of lib hadoop was built without snappy support.

原因: 是由于没有在java.library.path上加上snappy库

解决方法:修改spark-default.conf配置文件
加上: spark.executor.extraLibraryPath /ldata/Install/hadoop/lib/native
或者spark.executor.extraJavaOptions -Djava.library.path=/data/Install/hadoop/lib/native

如果spark任务是cluster模式,则需要在spark-default.conf参数里面配置上

spark.driver.extraLibraryPath /opt/cloudera/parcels/CDH/lib/hadoop/lib/native

spark.executor.extraLibraryPath /opt/cloudera/parcels/CDH/lib/hadoop/lib/native

如果是使用spark-submit提交任务(Client模式),命令增加的参数则是

--drive-library-path /path

新增一个排查方法:
先用hadoop checknative检查系统有无相应支持包
在这里插入图片描述

到hadoop路径下发现 /opt/cloudera/parcels/CDH/lib/hadoop/lib/native 有libhadoop.so文件,
但是在java.library.path的实际路径下,没有libhadoop.so文件
程序在运行system.loadlibrary(“hadoop”)时,报错实际上是找不到文件,加载失败报错
Unable to load native-hadoop library for your platform… using builtin-java classes where applicable.

把包复制进去即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值