大数据计算引擎——Flink学习
从该网址上的内容中摘抄出来的,如有侵权,联系,可删,目的是做笔记记录,放在博客上易于查找~~~https://www.ibm.com/developerworks/cn/opensource/os-cn-apache-flink/index.html
大数据计算引擎的发展:
Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。
第一代的计算引擎,无疑就是 Hadoop 承载的 MapReduce。
缺点:对于上层应用来说,就不得不想方设法去拆分算法,甚至于不得不在上层应用实现多个 Job 的串联,以完成一个完整的算法,例如迭代计算。
第二代计算引擎支持 DAG 的框架,针对于上述缺点,催生了第二代引擎。对于当时的 Tez 和 Oozie 来说,大多还是批处理的任务。
第三代的计算引擎以 Spark 为代表。
特点:特点主要是 Job 内部的 DAG 支持(不跨越 Job),以及强调的实时计算。在这里,很多人也会认为第三代计算引擎也能够很好的运行批处理的 Job。随着第三代计算引擎的出现,促进了上层应用快速发展,例如各种迭代计算的性能以及对流计算和 SQL 等的支持
第四代Flink 的诞生。应该主要表现在 Flink 对流计算的支持,以及更一步的实时性上面。当然 Flink 也可以支持 Batch 的任务,以及 DAG 的运算。
Flink 是一个针对流数据和批数据的分布式处理引擎。
Flink 会把所有任务当成流来处理,这也是其最大的特点。Flink 可以支持本地的快速迭代,以及一些环形的迭代任务。并且 Flink 可以定制化内存管理。在这点,如果要对比 Flink 和 Spark 的话,Flink 并没有将内存完全交给应用层。这也是为什么 Spark 相对于 Flink,更容易出现 OOM 的原因(out of memory)。
Flink 几个最基础的概念:
Client:
Client 用来提交任务给 JobManager
JobManager :
JobManager 分发任务给 TaskManager 去执行
TaskManager :
TaskManager 会心跳的汇报任务状态。
看到这里,有的人应该已经有种回到Hadoop一代的错觉。确实,从架构图去看,JobManager 很像当年的JobTracker,TaskManager也很像当年的TaskTracker。然而有一个最重要的区别就是TaskManager之间是是流(Stream)。其次,Hadoop一代中,只有 Map和Reduce之间的Shuffle,而对Flink而言,可能是很多级,并且在TaskManager 内部和 TaskManager之间都会有数据传递,而不像Hadoop,是固定的 Map到Reduce。
Flink 中的调度简述:
在 Flink 集群中,计算资源被定义为 Task Slot。每个 TaskManager 会拥有一个或多个 Slots。JobManager 会以 Slot 为单位调度 Task。但是这里的 Task 跟我们在 Hadoop 中的理解是有区别的。对 Flink 的 JobManager 来说,其调度的是一个 Pipeline 的 Task,而不是一个点。举个例子,在 Hadoop 中 Map 和 Reduce 是两个独立调度的 Task,并且都会去占用计算资源。对 Flink 来说 MapReduce 是一个 Pipeline 的 Task,只占用一个计算资源。类同的,如果有一个 MRR 的 Pipeline Task,在 Flink 中其也是一个被整体调度的 Pipeline Task。在 TaskManager 中,根据其所拥有的 Slot 个数,同时会拥有多个 Pipeline。
Flink 的部署
Flink 有三种部署模式,分别是 Local、Standalone Cluster 和 Yarn Cluster。对于 Local 模式来说,JobManager 和 TaskManager 会公用一个 JVM 来完成 Workload。如果要验证一个简单的应用,Local 模式是最方便的。实际应用中大多使用 Standalone 或者 Yarn Cluster。下面我主要介绍下这两种模式。
- [Flink--计算引擎]--第三代计算引擎--Flink
- spark大数据计算引擎原理深剖(优缺点)-spark简介
- 作为大数据和云计算学习的一个序吧
- 大数据系列之并行计算引擎Spark介绍
- 百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。
- 利用规则引擎计算个人所得税学习
- 百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。
- 【Spark深入学习 -13】Spark计算引擎剖析
- 利用规则引擎计算个人所得税学习
- 大数据分析引擎Apache Flink
- Spark入门,概述,部署,以及学习(Spark是一种快速、通用、可扩展的大数据分析引擎)
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 全新一代人工智能计算引擎MaxCompute杭州开服,强化阿里云大数据能力,比肩谷歌微软
- 饿了么大数据计算引擎实践与应用 - 大数据
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 全新一代人工智能计算引擎MaxCompute杭州开服,强化阿里云大数据能力,比肩谷歌微软
- 饿了么大数据计算引擎实践与应用 - 大数据
- LinkedIn开源大数据计算引擎 Cubert,并为此创建新的语言
- 利用规则引擎计算个人所得税学习
- Flink流计算编程--流处理引擎的选型