我是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