Метод Apache Spark не найден sun.nio.ch.DirectBuffer.cleaner () Lsun / misc / Cleaner; - PullRequest
0 голосов
/ 23 января 2019

Я столкнулся с этой проблемой при запуске сценария автоматической обработки данных в spark-shell.Первые несколько итераций работают нормально, но всегда рано или поздно сталкиваются с этой ошибкой.Я погуглил эту проблему, но не нашел точного соответствия.Другие подобные проблемы находятся вне контекста искры.Я думаю, это может быть связано с версией JVM, но я не могу понять, как решить проблему.

Я использовал 2 машины в отдельном кластере искры.

Машина № 1 Java Информация:

java 10.0.2 2018-07-17 Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

Машина № 2 Информация о Java:

openjdk 10.0.2 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

Информация об ошибке: WARN TaskSetManager:66 - Lost task 3.0 in stage 28.0 (TID 1368, 169.254.115.145, executor 1): java.lang.NoSuchMethodError: sun.nio.ch.DirectBuffer.cleaner()Lsun/misc/Cleaner; at org.apache.spark.storage.StorageUtils$.cleanDirectBuffer(StorageUtils.scala:212) at org.apache.spark.storage.StorageUtils$.dispose(StorageUtils.scala:207) at org.apache.spark.storage.StorageUtils.dispose(StorageUtils.scala) at org.apache.spark.io.NioBufferedFileInputStream.close(NioBufferedFileInputStream.java:130) at java.base/java.io.FilterInputStream.close(FilterInputStream.java:180) at org.apache.spark.io.ReadAheadInputStream.close(ReadAheadInputStream.java:400) at org.apache.spark.util.collection.unsafe.sort.UnsafeSorterSpillReader.close(UnsafeSorterSpillReader.java:152) at org.apache.spark.util.collection.unsafe.sort.UnsafeSorterSpillReader.loadNext(UnsafeSorterSpillReader.java:124) at org.apache.spark.util.collection.unsafe.sort.UnsafeExternalSorter$SpillableIterator.loadNext(UnsafeExternalSorter.java:590) at org.apache.spark.sql.execution.UnsafeKVExternalSorter$KVSorterIterator.next(UnsafeKVExternalSorter.java:287) at org.apache.spark.sql.execution.aggregate.SortBasedAggregator$$anon$1.findNextSortedGroup(ObjectAggregationIterator.scala:276) at org.apache.spark.sql.execution.aggregate.SortBasedAggregator$$anon$1.hasNext(ObjectAggregationIterator.scala:247) at org.apache.spark.sql.execution.aggregate.ObjectAggregationIterator.hasNext(ObjectAggregationIterator.scala:81) at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409) at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:148) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55) at org.apache.spark.scheduler.Task.run(Task.scala:121) at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:402) at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:408) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:844)

1 Ответ

0 голосов
/ 01 февраля 2019

Мне удалось решить проблему, установив JAVA_HOME для spark на java8 JDK.Это довольно новая проблема, но она была обнаружена разработчиками spark, см. Здесь https://github.com/apache/spark/pull/22993/files/7f58ae61262d7c2f2d70c24d051c63e8830d5062.

Последняя предварительно скомпилированная искра, предоставленная официальным сайтом, была выпущена 2 ноября, и этот запрос на удалениеслучилось позже.Надеюсь, что более поздняя версия позволит избежать этой проблемы с Java более новой версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...