2015年9月23日 星期三

Spark Standalone Cluster 練習

承接上次架設的Spark環境,這次想試試 Spark Cluster, Spark Cluster事實上有分3種模式,但我目前只有單機,所以選擇了了Standalone的方式,以下就是這次的練習。
This is reference link
http://mbonaci.github.io/mbo-spark/

首先找到上次安裝Spark的目錄,是在usr/lib下



接著進入到/sbin的目錄下,因為執行的指令是放在這裡,而不是bin喔

執行指令 ./start-master.sh
接著根據上面的訊息,我們去打開 log file看看
你可以試著在瀏覽器打開會發現如下你會發現已經啟動了一個WebUI在port 8081 (我8080有tomcat)
請注意畫面上7077 port是 sparkMaster的 service port跟WebUI的port是不同的
接著理論上我們應該回到/sbin下執行 ./start-slave.sh指令
但是 我們接著要先做2件事
(1)為了要讓 Master可以管理到 slave,必須透過 ssh-keygen 來達到 trust
(2)假設每次要啟動 slave 都要執行一次執行,那要4台的話就得執行4次有點麻煩,因為可透過config一個檔案後,只需執行1次就可以產生4台 slave

步驟(1)
由於需要使用ssh,所以事先得先安裝好openssh,執行指令 ssh-keygen後
再執行 ssh-copy-id 將檔案複製你的本機下(username@localhost name),如圖
(2)至 /conf目錄下執行 cp spark-env.sh.template spark-env.sh 指令
將範例設定檔複製並更改檔名為 spark-env.sh,這個檔案一般來說執行 spark指令後會先來找此檔案的設定,接著新增一個設定至該檔案執行export SPARK_WORKER_INSTANCES=4指令 如圖



自己可以試著 cat 看看 是否已將設定配置好在 spark-env.sh

########################################################
完成上述的前置作業後,我們可以回到/sbin下準備執行 ./start-slave 指令了,執行該指令必須指定一個 Spark-master service的位置,所以我們執行如下圖
此時回到剛才 master 的 WebUI 重新整理一下 看是否已經可以 monitor到 slave了
#注意一下 剛才指令是使用 ubuntu-i386-2 而不是使用 localhost或是IP,是因為剛才 keygen我是指定這個名稱,這個很重要,否則master會無法看到上面的畫面

#恭喜,此時已經成功建置了一個 Standalone cluster




沒有留言:

張貼留言