Spark源碼環境問題

異常1

點擊idea–build–build project,或者打開源碼顯示導入異常。但是maven包都是下載好了的

Error:(45, 66) not found: type SparkFlumeProtocol
  val transactionTimeout: Int, val backOffInterval: Int) extends SparkFlumeProtocol with Logging {
	                                                                 ^

解決方法:
點擊右側 maven project ,右鍵選中相應的project , Generate Sources and update folders

異常2

右鍵—run sparkpi.scala報錯異常如下:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Seq
	at org.apache.spark.examples.SparkPi.main(SparkPi.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.Seq
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 1 more

解決方法:
點擊Run/debug configurations
選中“Include dependencies with provided scope”

spark 源碼編譯打包

mvn -Pyarn -Phive -Phive-thriftserver -Phadoop-2.7 -Dhadoop.version=2.7.4 -DskipTests clean package


./dev/make-distribution.sh --name spark-2.2.2 --tgz -Pyarn -Phadoop-2.7 -Phive -Phive-thriftserver -Dhadoop-version=hadoop-2.7.4

spark 源碼導入idea

直接open就行,然後設置爲maven sbt project 依賴會自動下載。不要import 工程 as maven之類的。

idea debug 設置

以SparkPi爲例,在運行參數中加入 -Dspark.master=local

遠程debug設置

export SPARK_SUBMIT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
./spark-submit --master "local[2]" --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.2.2.jar 100

scala style 註釋問題

在源碼中添加註釋都報錯

解決辦法:
下載 http://www.scalastyle.org/scalastyle_config.xml 替換 工程根目錄下的 scalastyle_config.xml即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章