1. 首页
  2. 大数据
  3. Spark教程

【Spark教程】(三)Spark运行模式(Local、Standalone、Yarn)

本文讲解Spark的运行模式,主要分为本地模式,自带的Standalone模式以及基于Yarn的模式。而提交Spark作业的方式有四种,Standalone(client\cluster)和Yarn(client\cluster) 。

Spark运行模式


Local模式

Local[n] 本地模式 启动n个线程
Local模式通常用于测试用,直接bin/spark-shell启动即可。


Standalone模式

Standalone是Spark自带的资源管理器,无需依赖任何其他资源管理系统

配置

vim conf/spark-env.sh

可以看到其中关于standalone模式的配置参数Standalone参数

主要配置如下参数:

SPARK_MASTER_HOST=master
SPARK_MASTER_PORT=7077
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g
SPARK_CONF_DIR=/usr/local/spark-2.2.0-bin-hadoop2.6.0-cdh5.11.1/conf

启动

cd /usr/local/spark-2.2.0-bin-hadoop2.6.0-cdh5.11.1/sbin/
./start-master.sh //在哪台机器上启动 那台机器就成了Master
./start-slaves.sh //启动所有的从节点
* sbin目录总结:
sbin/start-master.sh – 在当前机器上启动一个主节点。
sbin/start-slaves.sh- 在conf/slaves文件中指定的所有机器上启动一个从节点。
sbin/start-slave.sh – 在当前机器上启动一个从节点。
sbin/start-all.sh – 启动所有master和slave。
sbin/stop-master.sh- 停止master。
sbin/stop-slaves.sh- 停止所有slave。
sbin/stop-all.sh – 停止所有master和slave。

验证

  • 使用命令jps查看进程。master机器上会有Master和Worker。slave机器上会有Worker进程。
    master机器slave机器

  • web端界面显示
    8080端口界面

客户端测试

bin/spark-shell --master spark://master:7077
启动客户端
可以在Web端实时的看见Spark的运行任务

WEB UI


Yarn模式

使用Hadoop中的Yarn作为资源管理器。
Yarn Cluster:主程序逻辑和任务都运行在Yarn集群中
Yarn Client:主程序逻辑运行在本地,任务运行在Yarn集群中

配置

HADOOP_CONF_DIR必须有export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.0-cdh5.11.1/etc/hadoop
其他可选,根据自己的需求配
Yarn参数

启动

bin/spark-shell --master yarn //注意要先启动hadoop

验证

能在yarn的web界面上看见spark shell这个进程:
yarn WEB UI

Spark程序提交


提交方式分为Standalone(client\cluster)和Yarn(client\cluster) 四种。
首先编写好我们的wordcount程序然后打成jar包,传到我们的服务器上。

object Wordcount {
  def main(args:Array[String]): Unit ={
   val conf = new SparkConf().setAppName("WordCount")
   val sc = new SparkContext(conf)
   val inputpath = args(0)
   val lines = sc.textFile(inputpath)
   val words = lines.flatMap(line=>line.split(" "))
   words.count()
   val wordcounts = words.map(word=>(word,1)).reduceByKey(_+_)
   wordcounts.saveAsTextFile(args(1))
 } 
}

我们需要使用spark的bin/spark-submit来提交我们的程序,具体参数使用help命令查看:
bin/spark-submit --help
spark-submit

Standalone模式 client

bin/spark-submit \
--class cn.lyl.spark.Wordcount  \
--master spark://master:7077  \
--executor-memory 1G  \
wordcount.jar \
hdfs://master:8020/user/README.txt \
hdfs://master:8020/user/wordcount1

wordcount1文件目录

Standalone模式 cluster

bin/spark-submit \
--class cn.lyl.spark.Wordcount \
--master spark://master:7077 \
--executor-memory 1G \
--deploy-mode cluster \
wordcount.jar \
hdfs://master:8020/user/README.txt \
hdfs://master:8020/user/wordcount2

集群模式下Web监控界面

Yarn模式 client

bin/spark-submit \
--class cn.lyl.spark.Wordcount \
--deploy-mode client \
--master yarn \
--executor-memory 1G \
wordcount.jar \
hdfs://master:8020/user/README.txt \
hdfs://master:8020/user/wordcount3

Yarn Client

Yarn cluster

bin/spark-submit \
--class cn.lyl.spark.Wordcount \
--deploy-mode cluster  \    
--master yarn  \
--executor-memory 1G  \
wordcount.jar  \
hdfs://master:8020/user/README.txt  \
hdfs://master:8020/user/wordcount4

BDStar原创文章。发布者:Liuyanling,转载请注明出处:http://bigdata-star.com/archives/840

发表评论

登录后才能评论

联系我们

562373081

在线咨询:点击这里给我发消息

邮件:562373081@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code