大数据就业特训营录播4-容错_第1页
大数据就业特训营录播4-容错_第2页
大数据就业特训营录播4-容错_第3页
大数据就业特训营录播4-容错_第4页
大数据就业特训营录播4-容错_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Spark大数据平台主讲人:李老师Spark Streaming容错检查点机制-checkpoint什么是检查点机制Spark Streaming 周期性地把应用数据存储到诸如HDFS 或Amazon S3 这样的可靠存储系统中以供恢复时使用的机制叫做检查点机制检查点机制的作用控制发生失败时需要重算的状态数Spark Streaming通过lineage重算,检查点机制则可以控制需要在lineage中回溯多远提供驱动器程序容错如果流计算应用中的驱动器程序崩溃了,你可以重启驱动器程序,并让驱动器程序从检查点恢复,这样Spark Streaming 就可以读取之前运行的程序处理数据的进度,并从那里

2、继续。检查点机制-checkpointcheckpoint 两种类型的数据Metadata(元数据) checkpointing - 保存定义了 Streaming 计算逻辑至类似 HDFS 的支持容错的存储系统。用来恢复 driver,元数据包括:配置 - 用于创建该 streaming application 的所有配置DStream 操作 - DStream 一些列的操作未完成的 batches - 那些提交了 job 但尚未执行或未完成的 batchesRDD Data checkpointing - 保存已生成的RDDs至可靠的存储metadata checkpointing 主要用

3、来恢复 driver;而 RDD数据的 checkpointing 对于stateful 转换操作是必要的。检查点机制-checkpoint对于window和stateful操作必须checkpoint(Spark Streaming会检查并给出提示) 通过StreamingContext的checkpoint来指定目录,默认按照batch Duration来做checkpoint 通过DStream的checkpoint指定当前DStream的间隔时间 间隔必须是slide interval的倍数检查点机制-checkpoint的形式checkpoint 的形式是将类 Checkpoint的

4、实例序列化后写入外部存储,值得一提的是,有专门的一个线程来做将序列化后的 checkpoint 写入外部存储的操作。类 Checkpoint 包含以下数据:除了 Checkpoint 类,还有 CheckpointWriter 类用来导出 checkpoint,CheckpointReader 用来导入 checkpoint检查点机制-checkpoint的局限Spark Streaming 的 checkpoint 机制看起来很美好,却有一个硬伤。前面提到最终刷到外部存储的是类 Checkpoint 对象序列化后的数据。那么在 Spark Streaming application 重新编译

5、后,再去反序列化 checkpoint 数据就会失败。这个时候就必须新建 StreamingContext。针对这种情况,在我们结合 Spark Streaming + kafka 的应用中,需要自行维护了消费的 offsets,这样一来即使重新编译 application,还是可以从需要的 offsets 来消费数据。对于其他的情况需要大家根据实际需求自行处理Driver节点容错如果你想让你的 application能从driver失败中恢复,你的application要满足:若 application 为首次重启,将创建一个新的 StreamContext 实例如果 application

6、 是从失败中重启,将会从 checkpoint 目录导入 checkpoint 数据来重新创建 StreamingContext 实例def createStreamingContext() = .val sparkConf = new SparkConf().setAppName(“xxx)val ssc = new StreamingContext(sparkConf , Seconds(1)ssc.checkpoint(checkpointDir)ssc.val ssc = StreamingContext.getOrCreate(checkpointDir, createStreami

7、ngContext _)Driver节点容错除调用 getOrCreate 外, 你还需要编写在驱动器程序崩溃时重启驱动器进程的代码。在 yarn 模式下,driver 是运行在 ApplicationMaster 中,若 ApplicationMaster 挂掉,yarn 会自动在另一个节点上启动一个新的 ApplicationMaster。Spark standalone模式下:./bin/spark-submit -deploy-mode cluster -supervise -master spark:/. App.jarWorker节点容错为了应对工作节点失败的问题,Spark St

8、reaming 使用与Spark 的容错机制相同的方法,根据不同的输入源,分两种情况:使用可靠输入源如HDFS由于输入数据是可靠的,所有数据都可以重新计算,因此不会丢失数据使用基于网络接收的输入源例如Kafka、Flume等接收到的数据会在集群的不同节点间复制(默认复本数为2)一个工作节点失效,在恢复时可以从另一个工作节点的数据中重新计算如果是接收数据的工作节点失效,那就可能丢失数据(数据已经收到但是还未复制到其他节点,也没有处理完是失效了)处理保证所有转换操作为精确一次保证(Spark Streaming 工作节点的容错保障)输出操作在把结果保存到外部存储时,写结果的任务可能因故障而执行多次,一些数据可能也就被写了多次可以使用事务操作来写入外部系统(即原子化地将一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论