用hadoop运行jar时,本机snappy库是什么

bkkx9g8r  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(356)

当我在centos 6.4中运行mapreduce jar时,有一个错误,请注意如下。
hadoop版本是2.6.0,适用于64位。
mapreduce失败了,如何解决?

Error: 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:64)
    at org.apache.hadoop.io.compress.SnappyCodec.getCompressorType(SnappyCodec.java:133)
    at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:148)
    at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:163)
    at org.apache.hadoop.io.SequenceFile$Writer.init(SequenceFile.java:1199)
    at org.apache.hadoop.io.SequenceFile$Writer.<init>(SequenceFile.java:1092)
    at org.apache.hadoop.io.SequenceFile$BlockCompressWriter.<init>(SequenceFile.java:1442)
    at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:275)
    at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:528)
    at org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat.getSequenceWriter(SequenceFileOutputFormat.java:64)
    at org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat.getRecordWriter(SequenceFileOutputFormat.java:75)
    at org.apache.hadoop.mapred.ReduceTask$NewTrackingRecordWriter.<init>(ReduceTask.java:540)
    at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:614)
    at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:389)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
af7jpaap

af7jpaap1#

您需要为本机库编译hadoop源代码。这里提供了逐步说明。
视频包括验证、使用maven编译代码和使用本机库。

相关问题