1. 程式人生 > 實用技巧 >提交一個spark程式及spark執行器

提交一個spark程式及spark執行器

spark中自帶了很多例子,他們存放在examples/jars目錄下,今天我們就提交一個蒙特.卡羅拉演算法求PI的例子:
向spark叢集提交程式的命令是spark-submit,後面我們要制定引數

/usr/local/spark-2.1.0-bin-hadoop2.6/bin/spark-submit --master spark://node1.edu360.cn:7077 --class org.apache.spark.examples.SparkPi --executor-memory 1G --total-executor-cores 2 /usr/local/spark-2.1.0-bin-hadoop2.6/lib/spark-examples-2.1.0-hadoop2.6.0.jar 100
  • 1

–master 是指定master的地址
spark:// 是spark RPC通訊的協議,後面跟的是master節點的IP和埠,如果有多個master,每兩個master之間要用逗號隔開。
–class 是指定要執行程式的main方法的名字
–executor-memory 指定每個程序分配多少記憶體 //可以不指定
–total-executor-cores 指定一共給程序分配多少核數 //可以不指定
後面跟的是jar包,以及引數,引數表示迭代的次數

附加:

在執行程式時,我們執行jps命令,會發現,在提交任務的Worker節點上多了兩個程序,一個是SparkSubmit,一個是CoarseGrainedExecutorBackend。其他Worker節點上多了一個CoarseGrainedExecutorBackend程序。
這個CoarseGrainedExecutorBackend叫做執行器,他是真正執行計算任務的程序。在執行完計算任務後,該程序會被自動停掉,釋放資源。