Spark2.3.1中用各種模式來跑官方Demo


 

 

1  使用單機local模式提交任務

          local模式也就是本地模式,也就是在本地機器上單機執行程序。使用這個模式的話,並不需要啟動Hadoop集群,也不需要啟動Spark集群,只要有一台機器上安裝了JDKScalaSpark即可運行。

        進入到Spark2.1.1的安裝目錄,命令是:

cd  /opt/spark/spark-2.1.1-bin-hadoop2.7

   執行命令,用單機模式運行計算圓周率的Demo:

./bin/spark-submit  --class   org.apache.spark.examples.SparkPi  --master   local  examples/jars/spark-examples_2.11-2.1.1.jar

  如圖:

2  使用獨立的Spark集群模式提交任務

            這種模式也就是Standalone模式,使用獨立的Spark集群模式提交任務,需要先啟動Spark集群,但是不需要啟動Hadoop集群。啟動Spark集群的方法是進入$SPARK_HOME/sbin目錄下,執行start-all.sh腳本,啟動成功后,可以訪問下面的地址看是否成功:

        http://Spark的Marster機器的IP:8080/

如圖:

 執行命令,用Standalone模式運行計算圓周率的Demo:

./bin/spark-submit   --class   org.apache.spark.examples.SparkPi   --master   spark://192.168.27.143:7077   examples/jars/spark-examples_2.11-2.1.1.jar

  如圖:

 

3 用yarn-client模式執行計算程序

cd   /opt/spark/spark-2.1.1-bin-hadoop2.7

   執行命令,用yarn-client模式運行計算圓周率的Demo:

 ./bin/spark-submit   --class  org.apache.spark.examples.SparkPi  --master  yarn-client    examples/jars/spark-examples_2.11-2.1.1.jar

  我這里出現了報錯, 如圖:

 

解決方法:

echo -e "export HADOOP_CONF_DIR=/usr/local/hadoop-2.7.3/etc/hadoop" >> /etc/profile
source /etc/profile

接着運行...

又出現了如下報錯....

 

 

 

經一番gooole, 由於VMware設置了4g內存,本地虛機啟動了太多程序導致內存不夠引起.

 

解決方案:

修改yarn-site.xml,添加下列property

<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>

<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>

 

4 用yarn-cluster模式執行計算程序

 

cd   /opt/spark/spark-2.1.1-bin-hadoop2.7

  執行命令,用yarn-cluster模式運行計算圓周率的Demo:

./bin/spark-submit  --class  org.apache.spark.examples.SparkPi  --master  yarn-cluster   examples/jars/spark-examples_2.11-2.1.1.jar

  注意,使用yarn-cluster模式計算,結果沒有輸出在控制台,結果寫在了Hadoop集群的日志中,如何查看計算結果?注意到剛才的輸出中有地址:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM