Поток Spark getOrCreate () приводит к исключению времени выполнения: не удалось уничтожить группу потоков - PullRequest
0 голосов
/ 16 февраля 2020

Я использую Ubuntu 18.04 с oracle jdk 1.8 и scala 2.11.8, что прекрасно работает. Теперь у меня есть очень простой фрагмент кода, который только выполняет некоторую инициализацию для потокового воспроизведения:

import org.apache.spark.sql.SparkSession

object wordCountSimple {
    def main(args: Array[String]): Unit = {
        val spark = SparkSession
        .builder
        .master("local")
        .appName("wordCount9999")
        .getOrCreate()

        spark.sparkContext.setLogLevel("WARN")
    }
}

Я компилирую и запускаю его с помощью maven:

mvn compile && mvn exec:java -Dexec.mainClass="wordCountSimple"

Он компилируется нормально, но выдает ошибку времени выполнения:

....
20/02/16 06:59:49 INFO BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
20/02/16 06:59:49 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(driver, 0a08e87c0a18, 46499, None)
20/02/16 06:59:49 INFO BlockManagerMasterEndpoint: Registering block manager 0a08e87c0a18:46499 with 2.8 GB RAM, BlockManagerId(driver, 0a08e87c0a18, 46499, None)
20/02/16 06:59:49 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(driver, 0a08e87c0a18, 46499, None)
20/02/16 06:59:49 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 0a08e87c0a18, 46499, None)
20/02/16 06:59:49 ERROR ContextCleaner: Error in cleaning thread
java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
        at org.apache.spark.ContextCleaner$$anonfun$org$apache$spark$ContextCleaner$$keepCleaning$1.apply$mcV$sp(ContextCleaner.scala:181)        at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1322)
        at org.apache.spark.ContextCleaner.org$apache$spark$ContextCleaner$$keepCleaning(ContextCleaner.scala:178)
        at org.apache.spark.ContextCleaner$$anon$1.run(ContextCleaner.scala:73)
20/02/16 06:59:49 ERROR Utils: uncaught error in thread spark-listener-group-appStatus, stopping SparkContext
java.lang.InterruptedException
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$C
....

Кажется, что искровой контекст должен быть каким-то образом разрушен, но потерпел неудачу. Что означает эта ошибка и как ее исправить?

Большое спасибо.

...