Spark standalone运行模式

举报
Smy1121 发表于 2019/06/22 15:18:06 2019/06/22
【摘要】 Spark Standalone部署配置---Standalone架构

Spark standalone运行模式

Spark Standalone部署配置---Standalone架构

image.png


Spark Standalone部署配置---手工启动一个Spark集群

http://spark.apache.org/docs/latest/spark-standalone.html#starting-a-cluster-manually



Spark Standalone部署配置---通过脚本启动集群

修改如下配置:

● slaves--指定在哪些节点上运行worker(下载)

● spark-defaults.conf---spark提交job时的默认配置

● spark-env.sh—spark的环境变量(下载)

● 在打算作为master的节点上启动集群:./sbin/start-all.sh


Spark Standalone部署配置---访问web ui

● 访问http://master-ip:8080/(默认端口是8080,端口大家可以自己修改)


Job提交与运行

Job提交与运行---运行示例程序

./bin/spark-submit --master spark://client:7077 --class org.apache.spark.examples.SparkPi lib/spark-examples-1.6.1-hadoop2.6.0.jar


Spark Standalone HA

● Standby masters with Zookeeper

● Single-Node Recover with Local File System

http://spark.apache.org/docs/latest/spark-standalone.html#high-availability

   

Spark Standalone运行架构解析:

image.pngimage.png


Spark Standalone运行架构解析---Spark基本工作流程


以SparkContext为程序运行的总入口,在SparkContext的初始化过程中,Spark会分别创建DAGScheduler作业调度和TaskScheduler任务调度两级调度模块。


其中作业调度模块是基于任务阶段的高层调度模块,它为每个Spark作业计算具有依赖关系的多个调度阶段(通常根据shuffle来划分),然后为每个阶段构建出一组具体的任务(通常会考虑数据的本地性等),然后以TaskSets(任务组)的形式提交给任务调度模块来具体执行。而任务调度模块则负责具体启动任务、监控和汇报任务运行情况。


Spark Standalone运行架构解析---Spark local模式

Local,本地模式,默认情况是本地模式运行,如运行的spark-shell,开发测试环境,运行任务命令:

./bin/run-example org.apache.spark.examples.SparkPi local

image.png


LocalBackend响应Scheduler的receiveOffers请求,根据可用的CPU核的设定值[N]直接生成CPU资源返回给Scheduler,并通过Executor类在线程池中依次启动和运行Scheduler返回的任务列表,其核心事件循环由内部类LocalActor以Akka Actor的消息处理形式来实现


Spark Standalone运行架构解析---Spark local cluster模式

伪分布式模式启动两个Worker,每个Worker管理两个CPU核和1024MB的内存:

./bin/run-example org.apache.spark.examples.SparkPi local[2,2,1024]

image.png


LocalBackend响应Scheduler的receiveOffers请求,根据可用的CPU核的设定值[N]直接生成CPU资源返回给Scheduler,并通过Executor类在线程池中依次启动和运行Scheduler返回的任务列表,其核心事件循环由内部类LocalActor以Akka Actor的消息处理形式来实现


Spark Standalone运行架构解析---Spark standalone模式:

image.png


Spark Standalone运行架构解析---Spark standalone详细过程解析:

image.png


Spark Standalone下运行wordcount

● wordcount代码下载

● mvn 项目打包上传至Spark集群。

● Spark 集群提交作业


./spark-submit --master spark://client:7077,node1:7077 --class com.dajiangtai.spark.MyWordCount /home/hadoop/projects/dajiangtai/learning-saprk/target/learning-saprk-1.0-SNAPSHOT.jar hdfs://client:8020/dajiangtai/2_8/input/words.txt hdfs://client:8020/dajiangtai/2_8/output


至此!


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。