Я использую 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
....
Кажется, что искровой контекст должен быть каким-то образом разрушен, но потерпел неудачу. Что означает эта ошибка и как ее исправить?
Большое спасибо.