2017-01-11 2 views
1

を実行することができる。SparkException:一つだけSparkContextは、単純なスパークパイプラインを提出このJVMで

./bin/spark-submit --class com.example.ExamplePipeline --master local pipeline-1.0.0-SNAPSHOT.jar 
... 
17/01/11 12:34:24 INFO BlockManagerMaster: Registered BlockManager 
Exception in thread "main" 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. The currently running SparkContext was created at: 
org.apache.spark.SparkContext.<init>(SparkContext.scala:82) 
org.apache.spark.streaming.StreamingContext$.createNewSparkContext(StreamingContext.scala:874) 
org.apache.spark.streaming.StreamingContext.<init>(StreamingContext.scala:81) 
org.apache.spark.streaming.api.java.JavaStreamingContext.<init>(JavaStreamingContext.scala:140) 
com.example.ExamplePipeline.createExecutionContext(ExamplePipeline.java:72) 
com.example.ExamplePipeline.exec(ExamplePipeline.java:115) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
java.lang.reflect.Method.invoke(Method.java:498) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1702) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1641) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755) 
    at org.apache.spark.SparkContext$$anonfun$assertNoOtherContextIsRunning$1.apply(SparkContext.scala:2257) 
    at org.apache.spark.SparkContext$$anonfun$assertNoOtherContextIsRunning$1.apply(SparkContext.scala:2239) 
    at scala.Option.foreach(Option.scala:236) 
    at org.apache.spark.SparkContext$.assertNoOtherContextIsRunning(SparkContext.scala:2239) 
    at org.apache.spark.SparkContext$.setActiveContext(SparkContext.scala:2325) 
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:2197) 
    at org.apache.spark.streaming.StreamingContext$.createNewSparkContext(StreamingContext.scala:874) 
    at org.apache.spark.streaming.StreamingContext.<init>(StreamingContext.scala:81) 
    at org.apache.spark.streaming.api.java.JavaStreamingContext.<init>(JavaStreamingContext.scala:140) 
    at com.example.ExamplePipeline.createExecutionContext(Exampleipeline.java:72) 
    at com.example.ExamplePipeline.exec(ExamplePipeline.java:115) 
    at com.example.ExamplePipeline.main(ExamplePipeline.java:144) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
17/01/11 12:34:24 INFO ReceiverTracker: Sent stop signal to all 1 receivers 
17/01/11 12:34:24 INFO StreamingContext: Invoking stop(stopGracefully=false) from shutdown hook 

それは別のコンテキストで実行があります見て、それが停止しています。他に何が実行されているのかわかりませんが、これは同じ環境で動作していました。

答えて

4

あなたはspark.driver.allowMultipleContexts = trueを設定しない限り、一つだけSparkContextのインスタンスを持つことができます(ただし、これはお勧めできません - それはテストではなく、生産のためです)

をあなたがない場合:

JavaStreamingContext ssc = new JavaStreamingContext(conf, window); 

スパークが新しいSparkContextを作成し、生成されたSparkContextを使用するStreamingContextを返します。 StreamingContextの前にSparkContextを作成した場合は、例外がスローされます。私の知る限りは、スタックトレースから見ることができるように、あなたはこの例外を回避するために、このコンストラクタ

を使用している次のコマンドを実行します。http://stackoverflow.com/questions/でT-gawęda、コード@

JavaStreamingContext ssc = new JavaStreamingContext(sparkContext, window); 
+0

41722984/sparkexception-javastreamingcontext-getorcreate-only-one-sparkcontext-m – wikier

関連する問題