1. 程式人生 > >執行第一個Spark程式

執行第一個Spark程式

我們這裡使用官方的Spark自帶的一個程式來體驗一下Spark的執行

Spark自帶的例子是利用蒙特·卡羅演算法求PI

在Spark目錄下執行下面命令

bin/spark-submit \
>--master spark://cdh0:7077 \
>--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.1.0.jar 100

說明:    

bin/spark-submit是提交Spark程式的命令, --master spark://cdh0:7077 是指定Master在哪臺機器上,--class org.apache.spark.examples.SparkPi指定包名,Spark執行程式jar包的所在目錄,100是指取樣次數

注意:        這裡的--master可以指定多個Master,保證高可用,例如:spark://cdh0:7077,cdh1:7077

執行結果:

當然在WEBUI介面中也可以檢視到:

 說明:

Cores指使用核數(執行緒數),這裡預設使用所有的核數,Memory per Node指使用的記憶體,預設是用1G,這裡在實際生產環境中都是要自己進行指定的,在提交Spark程式時加入以下命令:

--executor-memory 1G \              --每個executor使用的記憶體大小
--total-executor-cores 2 \          --整個程式使用的核數

注意:      這裡--executor-memory不僅支援G,還支援mb

這裡的Spark程式執行時間比較短,如果你擴大采樣次數,你就會發現在執行Spark任務的當前機器上多了兩個程序,而其他Worker節點機器上也多了一個程序

SparkSubmit程序是提交Spark程式的,CoarseGrainedExecutorBackend程序是用來計算的,這兩個程序都是Spark程式執行完之後就會被銷燬的,以此來釋放資源