无法解压snappy文件,即使指定了-Djava.library.path=/*/*/

3

主线程中的异常

java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support.
at org.apache.hadoop.io.compress.SnappyCodec.checkNativeCodeLoaded(SnappyCodec.java:65)
at org.apache.hadoop.io.compress.SnappyCodec.getDecompressorType(SnappyCodec.java:193)
at org.apache.hadoop.io.compress.CodecPool.getDecompressor(CodecPool.java:178)
at org.apache.hadoop.io.compress.CompressionCodec$Util.createInputStreamWithCodecPool(CompressionCodec.java:157)
at org.apache.hadoop.io.compress.SnappyCodec.createInputStream(SnappyCodec.java:164)

我可以看到Snappy库已经正确安装。我已经使用“-Djava.library.path”命令指定了库路径,但仍然出现相同的错误。
请问有什么建议吗?
hadoop checknative -a

本地库检查:

hadoop:  true /opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/hadoop/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/hadoop/lib/native/libsnappy.so.1
lz4:     true revision:10301
bzip2:   true /lib64/libbz2.so.1
openssl: true /usr/lib64/libcrypto.so
2个回答

0

0
问题已解决。
我在我的类路径中使用了错误版本的hadoop-core jar文件。
修改为使用当前CDH版本的hadoop core jar后,能够执行snappy压缩和解压缩。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接