spark容错分析

spark容错分析

ID:38170221

大小:201.61 KB

页数:9页

时间:2019-06-06

spark容错分析_第1页
spark容错分析_第2页
spark容错分析_第3页
spark容错分析_第4页
spark容错分析_第5页
资源描述:

《spark容错分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Standalone部署的节点组成介绍Spark的资料中对于RDD这个概念涉及的比较多,但对于RDD如何运行起来,如何对应到进程与线程的,着墨的不是很多。在实际的生产环境中,Spark总是会以集群的方式进行运行的,其中standalone的部署方式是所有集群方式中最为精简的一种,另外是Mesos与YARN,要理解其内部运行机理,显然要花更多的时间才能了解清楚。standalonecluster的组成standalone集群由三个不同级别的节点组成,分别是·Master 主控节点,可以类比为董事长或总舵主,在整个集群之中,最多只有一个Master处在Active

2、状态·Worker 工作节点,这个是manager,是分舵主,在整个集群中,可以有多个worker,如果worker为零,什么事也做不了·Executor 干苦力活的,直接受worker掌控,一个worker可以启动多个executor,启动的个数受限于机器中的cpu核数这三种不同类型的节点各自运行于自己的JVM进程之中。DriverApplication提交到standalone集群的应用程序称之为DriverApplicaton。Standalone集群启动及任务提交过程详解 上图总结了正常情况下Standalone集群的启动以及应用提交时,各节点之间有哪

3、些消息交互。下面分集群启动与应用提交两个过程来作详细说明。集群启动过程正常启动过程如下所述step1:启动master$SPARK_HOME/sbin/start-master.shstep2:启动worker./bin/spark-classorg.apache.spark.deploy.worker.Workerspark://localhost:7077worker启动之后,会做两件事情1.将自己注册到Master,RegisterWorker2.定期发送心跳消息给Master任务提交过程step1:提交application利用如下指令来启动spark

4、-shellMASTER=spark://127.0.0.1:7077$SPARK_HOME/bin/spark-shell运行spark-shell时,会向Master发送RegisterApplication请求日志位置: master运行产生的日志在$SPARK_HOME/logs目录下step2:Master处理RegisterApplication的请求之后收到RegisterApplication请求之后,Mastet会做如下处理1.如果有worker已经注册上来,发送LaunchExecutor指令给相应worker2.如果没有,则什么事也不做s

5、tep3:启动ExecutorWorker在收到LaunchExecutor指令之后,会启动Executor进程step4:注册Executor启动的Executor进程会根据启动时的入参,将自己注册到Driver中的SchedulerBackend日志位置:executor的运行日志在$SPARK_HOME/work目录下step5:运行TaskSchedulerBackend收到Executor的注册消息之后,会将提交到的SparkJob分解为多个具体的Task,然后通过LaunchTask指令将这些Task分散到各个Executor上真正的运行如果在调用

6、runJob的时候,没有任何的Executor注册到SchedulerBackend,相应的处理逻辑是什么呢?1.SchedulerBackend会将Task存储在TaskManager中2.一旦有Executor注册上来,就将TaskManager管理的尚未运行的task提交到executor中3.如果有多个job处于pending状态,默认调度策略是FIFO,即先提交的先运行测试步骤1.启动Master2.启动spark-shell3.执行sc.textFile("README.md").count4.启动worker5.注意worker启动之后,spar

7、k-shell中打印出来的日志消息Job执行结束任务运行结束时,会将相应的Executor停掉。可以做如下的试验1.停止spark-shell2.利用ps-ef

8、grep-ijava查看java进程,可以发现CoarseGrainedExecutorBackend进程已经退出小结通过上面的控制消息原语之间的先后顺序可以看出1.Master与worker进程必须显式启动2.executor是被worker隐式的带起3.集群的启动顺序1.Master必须先于其它节点启动2.worker与driver哪个先启动,无所谓3.但driver提交的job只有在有相应的wo

9、rker注册到Master之后才可以被

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。