我使用这个连接到DSE(Spark):
new SparkConf()
.setAppName(name)
.setMaster("spark://localhost:7077")
DSE 5.0.8
工作正常(Spark 1.6.3
),但现在失败,DSE 5.1.0
收到此错误:
java.lang.AssertionError: Unknown application type
at org.apache.spark.deploy.master.DseSparkMaster.registerApplication(DseSparkMaster.scala:88) ~[dse-spark-5.1.0.jar:2.0.2.6]
检查使用火花罐后,我想出了这个:
if(rpcendpointref instanceof DseAppProxy)
在spark中,似乎是RpcEndpointRef(NettyRpcEndpointRef)。
如何解决此问题?
答案 0 :(得分:1)
我有一个类似的问题,并通过以下方式修复它: https://docs.datastax.com/en/dse/5.1/dse-dev/datastax_enterprise/spark/sparkRemoteCommands.html
然后你需要使用dse spark-submit
来运行你的工作,而不指定任何主人。
答案 1 :(得分:0)
我找到了解决方案。
首先,我认为在DSE 5.1中的应用程序中运行Spark作业是不可能的。必须与dse spark-submit
一旦发送,它就能完美运行。为了与作业进行通信,我使用了Apache Kafka。
如果您不想使用作业,可以随时返回Apache Spark。