美文网首页
java.lang.NoClassDefFoundError:

java.lang.NoClassDefFoundError:

作者: 牛肉圆粉不加葱 | 来源:发表于2015-05-15 17:07 被阅读3920次

    现象

    在spark-shell中执行streaming application时,频繁出现以下错误。但是相同的代码在之前执行成功并无任务错误,集群以及spark的配置都没有任何改动

    15/05/13 17:41:53 INFO scheduler.TaskSetManager: Starting task 3.0 in stage 0.0 (TID 6, slave14.cluster03, ANY, 1522 bytes)
    15/05/13 17:41:53 WARN scheduler.TaskSetManager: Lost task 1.1 in stage 0.0 (TID 3, slave14.cluster03): java.lang.NoClassDefFoundError: org/apache/kafka/common/message/KafkaLZ4BlockOutputStream
        at kafka.message.ByteBufferMessageSet$.decompress(ByteBufferMessageSet.scala:65)
        at kafka.message.ByteBufferMessageSet$$anon$1.makeNextOuter(ByteBufferMessageSet.scala:179)
        at kafka.message.ByteBufferMessageSet$$anon$1.makeNext(ByteBufferMessageSet.scala:192)
        at kafka.message.ByteBufferMessageSet$$anon$1.makeNext(ByteBufferMessageSet.scala:146)
        at kafka.utils.IteratorTemplate.maybeComputeNext(IteratorTemplate.scala:66)
        at kafka.utils.IteratorTemplate.hasNext(IteratorTemplate.scala:58)
        at scala.collection.Iterator$$anon$1.hasNext(Iterator.scala:847)
        at scala.collection.Iterator$$anon$19.skip(Iterator.scala:612)
        at scala.collection.Iterator$$anon$19.hasNext(Iterator.scala:615)
        at org.apache.spark.streaming.kafka.KafkaRDD$KafkaRDDIterator.getNext(KafkaRDD.scala:164)
        at org.apache.spark.util.NextIterator.hasNext(NextIterator.scala:71)
        at scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371)
        at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:388)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327)
        at org.apache.spark.util.collection.ExternalSorter.insertAll(ExternalSorter.scala:202)
        at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:56)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:68)
        at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
        at org.apache.spark.scheduler.Task.run(Task.scala:64)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:203)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
    Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.message.KafkaLZ4BlockOutputStream
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 23 more
    
    

    原因:

    这个错误在google、spark mail list中都没有找到有帮助的信息。后来想到是否是因为集群资源不足导致task会各种失败,检查集群情况,集群资源使用率为100%,之后在集群空闲时执行相同的streaming application,并未出现任何错误


    欢迎关注我的微信公众号:FunnyBigData

    FunnyBigData

    相关文章

      网友评论

          本文标题:java.lang.NoClassDefFoundError:

          本文链接:https://www.haomeiwen.com/subject/seckqttx.html