使用IntelliJ IDEA配置Spark應用開發環境及源碼閱讀環境(基礎)

在本地搭建好Spark 1.6.0後,除了使用官方文檔中的sbt命令打包,spark-submit提交程序外,咱們能夠使用IntelliJ IDEA這個IDE在本地進行開發調試,以後再將做業提交到集羣生產環境中運行,使用IDE能夠提高咱們的開發效率。html

個人博客原文地址連接:http://blog.tomgou.xyz/shi-yong-intellij-ideapei-zhi-sparkying-yong-kai-fa-huan-jing-ji-yuan-ma-yue-du-huan-jing.htmljava

0.安裝IntelliJ IDEA

個人系統環境(Ubuntu 14.04.4 LTS)git

下載最新版本的IntelliJ IDEA,官網地址:https://www.jetbrains.com/idea/download/
最新版本的IntelliJ IDEA支持新建SBT工程,安裝scala插件。github

安裝步驟:apache

  • Unpack the idea idea-15.0.4.tar.gz file using the following command: tar xfz idea-15.0.4.tar.gzbash

  • Run idea.sh from the bin subdirectory.多線程

記得在IntelliJ IDEA的「Configure」菜單中,選擇「Plugins」,安裝「Scala」插件。intellij-idea


1.以本地local模式運行Spark程序

1)建立「New Project」,選擇「Scala」。「Project SDK」選擇JDK目錄,「Scala SDK」選擇Scala目錄。
idea_conf1ide

2)選擇菜單中的「File」 ->「Project Structure」 ->「libraries」 ->+「java」,導入Spark安裝目錄/home/tom/spark-1.6.0/lib下的「spark-assembly-1.6.0-hadoop2.6.0.jar」。oop

3)運行Scala示例程序SparkPi:
Spark安裝目錄的examples目錄下,能夠找到Scala編寫的示例程序SparkPi.scala,該程序計算Pi值並輸出。
在Project的main目錄下新建SparkPitest.scala,複製Spark示例程序代碼。
idea_conf1
選擇菜單中的「Run」 ->「Edit Configurations」,修改「Main class」和「VM options」。
idea_conf1

運行結果:
idea_conf1

注意:
在我最初運行Spark的測試程序SparkPi時,點擊運行,出現了以下錯誤:
Exception in thread "main" org.apache.spark.SparkException: A master URL must be set in your configuration
從提示中能夠看出找不到程序運行的master,此時須要配置環境變量。
搜索引擎查詢錯誤後,瞭解到傳遞給spark的master url能夠有以下幾種,具體能夠查看Spark官方文檔:

  • local 本地單線程

  • local[K] 本地多線程(指定K個內核)

  • local[*] 本地多線程(指定全部可用內核)

  • spark://HOST:PORT 鏈接到指定的 Spark standalone cluster master,須要指定端口。

  • mesos://HOST:PORT 鏈接到指定的 Mesos 集羣,須要指定端口。

  • yarn-client客戶端模式 鏈接到 YARN 集羣。須要配置 HADOOP_CONF_DIR。

  • yarn-cluster集羣模式 鏈接到 YARN 集羣。須要配置 HADOOP_CONF_DIR。

在VM options中輸入「-Dspark.master=local」,指示本程序本地單線程運行。


2.生成jar包提交到集羣

1)和本地local模式運行Spark相同,咱們創建起project。

2)選擇菜單中的「File」 ->「Project Structure」 ->「Artifact」 ->「jar」 ->「From Modules with dependencies」,以後選擇Main Class和輸出jar的Directory。
idea_conf6
idea_conf5
3)在主菜單選擇「Build」 ->「Build Artifact」,編譯生成jar包。
4)將jar包使用spark-submit提交:

$SPARK_HOME/bin/spark-submit --class "SimpleApp" --master local[4] simple.jar

3.配置Spark源碼閱讀環境

克隆Spark源碼:

$ git clone https://github.com/apache/spark

而後在IntelliJ IDEA中便可經過「Import Project」,選擇sbt項目,選擇「Use auto-import」,便可生成IntelliJ項目文件。

idea_conf7

相關文章
相關標籤/搜索