1. 程式人生 > >spark學習記錄(五、Spark基於資源排程管理器的提交模式)

spark學習記錄(五、Spark基於資源排程管理器的提交模式)

一、Standalone(Spark自帶)

1.1 Standalone-client模式

 提交命令:

./spark-submit --master spark://hadoop1:7077 --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

過程:

Standalone-client模式提交任務,會在客戶端看到task的執行情況和結果。當在客戶端提交多個Application時,每個Application都會啟動自己的Driver,Driver與叢集worker有大量的通訊,會造成客戶端網絡卡流量激增問題。這種模式適用於程式測試,不適用於生產。

1.2 Standalone-cluster模式

提交命令:

./spark-submit --master spark://hadoop1:7077 --deploy-mode cluster --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

過程:

Standalone-cluster模式提交任務,Driver會在叢集中隨機一臺worker上啟動,如果提交多個application,那麼每個application的Driver會分散到叢集的Worker節點,相當於將client模式的客戶端網絡卡流量激增問題分散到叢集中。適用於生產環境。

二、Yarn

2.1 Yarn-client模式

在spark客戶conf下的spark-env.xml檔案下配置

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

提交命令:

./spark-submit --master yarn --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

過程:

 yarn-client模式提交任務,Driver在客戶端啟動,當提交多個Application時,每個Application的Driver都會在客戶端啟動,也有網絡卡流量激增問題。這種模式適用於程式測試,不適用於生產環境。在客戶端可以看到任務的執行和結果。

2.2 yarn-cluster模式

命令:

./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

過程:

yarn-cluster模式提交任務,適用於生產環境,AM(Driver)隨即在一臺NM節點啟動,當提交多個Application時,每個Application的Driver會分散到叢集的NM中啟動,相當於將Yarn-client模式的客戶端網絡卡流量激增問題分散到叢集中。在客戶端看不到task執行情況和結果,要到webui中檢視。