到目前爲止,基於RDD的spark streamming實時應用和離線應用(主要解析日誌)已經寫了一些,可是對spark的瞭解仍是不多,因此決心花點精力,對spark作一些比較深刻的瞭解和學習。參照以前hbase的學習經驗,感受除了看一些文章以外,搭建調試環境,碰到問題經過源碼去了解細節,對於學習開源產品有着很是重要的做用。因此決定先把spark的本地調試環境搭建起來。git
依賴: JDK,maven,scala, IDEAgithub
到github的的spark主頁上下載指定branch的源碼,而且編譯。web
1
2
|
git clone -b branch-2.1 https://github.com/apache/spark.git
build/mvn -DskipTests clean package
|
點擊IDEA中的Perferences…,在彈出的以下頁面中,搜搜scala,安裝便可。安裝完畢後,經過File,open spark工程。apache
在idea中跳轉(Command + O)到master,而後能夠直接啓動master。一樣在跳轉到worker中,須要添加一下兩個參數後,能夠啓動worker.maven
1
|
--webui-port 8081 spark://172.17.10.20:7077
|
至此,spark在本地便跑起來了。學習
整體來講,spark的本地環境搭建仍是蠻簡單的。中途碰到一些問題,比方說啓動的時候,出現Class not found com.google.common.找不到等,能夠把對應的scope從provide改爲compile. 另外,若是在生產環境碰到問題,可能遠程調試更有用,這塊暫時還沒試。ui