我是apache-spark的新手,在尝试从本地机器连接到包含Spark工作实例的远程服务器时遇到一些问题。无法连接到远程Apache-Spark
我成功地设法可见SSH隧道连接到使用JSCH该服务器,但我得到了以下错误:
Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$; at org.apache.spark.ui.jobs.AllJobsPage.(AllJobsPage.scala:39) at org.apache.spark.ui.jobs.JobsTab.(JobsTab.scala:38) at org.apache.spark.ui.SparkUI.initialize(SparkUI.scala:65) at org.apache.spark.ui.SparkUI.(SparkUI.scala:82) at org.apache.spark.ui.SparkUI$.create(SparkUI.scala:220) at org.apache.spark.ui.SparkUI$.createLiveUI(SparkUI.scala:162) at org.apache.spark.SparkContext.(SparkContext.scala:452) at server.Server$.main(Server.scala:45) at server.Server.main(Server.scala)
当试图连接到的火花。
这是我的Scala代码
val conf = new SparkConf().setAppName("Test").setMaster("spark://xx.xxx.xxx.x:7077")
val sc = new SparkContext(conf)
val rdd = sc.parallelize(Array(1, 2, 3, 4, 5)).count()
println(rdd)
哪里线45
强调了(Server.scala:45)
错误是一个与new SparkContext(conf)
。
在本地和远程机器上,我正在使用scala ~ 2.11.6
。在我的本地pom.xml
文件中,我输入了scala : 2.11.6
,spark-core_2.10
和spark-sql_2.10
两者都是~2.1.1
。在我的服务器上,我安装了spark ~ 2.1.1
。在服务器上,我还设法通过编辑conf/spark-env.sh
将master
设置为本地计算机。
当然,我设法测试服务器的火花,它工作得很好。
我在做什么错?
你如何试图连接?你是用'spark-submit'还是运行'spark-shell'来提交工作? – stefanobaghino
如果你的意思是在服务器上,我使用'spark-shell'运行我的测试。 – AndreaM16
你不需要在'spark-shell'中创建一个新的'SparkContext',只要你看到提示符,就有一个为你准备好,它的名字是'sc'。 – stefanobaghino