在進行實際的spark應用程式開發時,常常會利用window環境進行程式開發,開發測試好之後送出到spark叢集中利用bin/spark-submit腳本進行程式的釋出運作,本教程教将一步一步地教大家如何進行該操作。本教程主要内容如下:
window開發環境說明
spark叢集運作環境說明
scala ide for eclipse中spark程式開發
利用spark-submit腳本送出到spark叢集當中運作
(1)scala-ide eclipse ,版本号見下圖

(2) java版本号 jdk 1.7
(3) scala 版本号 2.10.4
(1)作業系統:ubuntu 10.04
(2) java與scala版本号與windows上一緻
(3) hadoop 版本 hadoop 2.2.0
(4) spark 版本 spark 1.1.0
配置如下:
ip位址
主機名
運作程序
192.168.1.104
cluster04
quorumpeermain(zookeeper程序) master(spark master程序) datanode journalnode resourcemanager(yanr資料總管) nodemanager worker
192.168.1.105
cluster05
namenode quorumpeermain(zookeeper程序) worker(spark worker程序) nodemanager datanode dfszkfailovercontroller(用于實作 namenode ha) journalnode
192.168.1.106
cluster06
namenode quorumpeermain(zookeeper程序) worker(spark worker程序) nodemanager datanode dfszkfailovercontroller(用于實作 namenode ha) journalnode
(1) 在scala ide for eclipse建立一個scala project,全名為:sparkwordcount
(2) 将spark-assembly-1.1.0-hadoop2.2.0.jar導入
(3)工程結構如下圖
(4) 将userpurchasehistory.csv上傳到hdfs根目錄:hadoop fs -put /data/userpurchasehistory.csv /
userpurchasehistory.csv内容如下:
第一清單示客戶姓名,第二清單示購買物品,第三清單示物品價格
(4)建立包cn.ml,并建立scala object,全名為purchaseproduct,代碼如下:
(5)将工程打包成jar檔案:sparkwordcount.jar
(1)将打包好的sparkwordcount.jar檔案上傳到spark master所在的機器cluster04的根目錄上,然後運作下列腳本:
/spark-1.1.0/bin# ./spark-submit –master spark://itcast04:7077 –class cn.ml.purchaseproduct /sparkwordcount.jar
–master 用于指定叢集的master
–class 用于指定待運作的主類
(2) 運作結果圖