各模式下运行spark自带实例SparkPi

此系统是ubuntu,spark版本是1.0.0(下载的不是源码,而是编译好的,在我的其他文章里有下载网盘地址),hadoop版本2.2.0,scala版本2.10.4


1.spark-sunbmit命令:spark1.0之前的版本运行自带例子使用$SPARK_HOME/bin/run-example命令,对于spark1.0以后做出了改进,使用$SPARK_HOME/bin/spark-submit命令。其实,spark-shell用到的就是通过spark-submit,之后调用spark-class函数来完成这些命令。具体可看下spark-submit.sh,会找到spark-class。


2.运行模式有很多模式,这里就不一一介绍模式的运行原理,具体可去看下书。只看下运行模式的命令和结果。模式有:(1)local(本地)模式,(2)standalone模式,(3)on-yarn-cluster(on-yarn-standalone)模式,(4)on-yarn-client模式。


2.1 local模式

 在安装的spark目录下敲入命令:./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local lib/spark-examples-1.0.0-hadoop2.2.0.jar 

解释下命令:

--class 类名

--master local 本地模式

 lib/spark-examples-1.0.0-hadoop2.2.0.jar  是你spark安装目录下的lib目录下的examples的jar包,其实以后在windows上用intellij写的spark程序也要打成jar包,放到这里来调用。

运行结果如下图:



2.2 standalone模式

首先进入spark安装目录下,启动./sbin/start-all.sh,输入jps,主节点看到Master,从节点看到worker

在安装的spark目录下敲入命令:./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://192.168.123.101:7077 lib/spark-examples-1.0.0-hadoop2.2.0.jar 

解释下命令:

--master spark://192.168.123.101:7077    这个IP是要写你在spark的conf目录下配置的export SPARK_MASTER_IP的地址。


前三种方式不需要启动hadoop,spark有自己的资源管理模式


2.3 on-yarn-cluster模式

大前提是master的机器和slave机器的系统时间要保持一致,不一致会有错。

首先要进入hadoop安装目录下,启动./sbin/start-all.sh,看到主节点和namenode secondarynamenode resourcemanager master和从节点有datanode nodemanager worker

在安装的spark目录下敲入命令:./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster lib/spark-examples-1.0.0-hadoop2.2.0.jar 


2.4 on-yarn-client模式

大前提是master的机器和slave机器的系统时间要保持一致,不一致会有错。

要求和 on-yarn-cluster模式一样。

在安装的spark目录下敲入命令:./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client lib/spark-examples-1.0.0-hadoop2.2.0.jar 


所有运行模式命令都是参考Submitting Applications 网址:http://spark.apache.org/docs/latest/submitting-applications.html



你可能感兴趣的:(Spark,spark,hadoop)