我有我试图在Tomcat上部署一个火花的Web应用程序。 但是,当我试图启动使用休息调用火花它给以下错误。阿帕奇星火多个上下文错误
org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true
如何解决此错误?
我有我试图在Tomcat上部署一个火花的Web应用程序。 但是,当我试图启动使用休息调用火花它给以下错误。阿帕奇星火多个上下文错误
org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true
如何解决此错误?
我发现了这个问题。 其实Spark已经从其他用户启动,所以当我用我的用户启动它时,它给出了多个上下文错误。从其他用户帐户停止后,其工作正常。
你可能做这样的事情
val conf = new SparkConf().setAppName(appName).setMaster(master)
val sc1 = new SparkContext(conf)
...
val sc2 = new SparkContext(conf) // <<<< HERE
您应该使用只有一个情况下,例如
val conf = new SparkConf().setAppName(appName).setMaster(master)
val sc = new SparkContext(conf)
...
sc.DoSomething()
sc.DoSomethingElse() // see, it is the same context
我有同样的情况,并搬出SparkContext新的目标有帮助。
def spark = Action {
val logFile = "README.md"
val logData = SparkConnector.sc.textFile(logFile, 2).cache()
val numSparks = logData.filter(line => line.contains("POST")).count()
Ok(views.html.spark("Lines with Spark: " + numSparks))
}
SparkConnector.scala
object SparkConnector {
val sc = new SparkContext("local", "Application", "/opt/spark-1.5.2", List("target/scala-2.11/app_2.11-1.0-SNAPSHOT.jar"))
}
我做同样的事情。现在它的错误提示如下: 文件文件:/ home/user/checkpoint/351bac20-e6d5-41bc-be15-79070b31dbb3不存在。但/ home/user/checkpoint目录存在。 – OneUser
@ user3359790你有多少工人?如果不止一个,你必须将数据复制到所有的数据。或者,您可以使用Hadoop HDFS fily系统并从中读写文件。它是一个分布式文件系统,可以在所有节点上工作,就好像它只是一个节点 – oleksii
我只有一个工人。并且我没有使用HDFS – OneUser