ink大数据计算引擎入门

ink大数据计算引擎入门
Flink入门html

  • Apache Flink 是一个面向分布式数据流处理和批量数据处理的开源计算平台,提供支持流处理和批处理两种类型应用的功能。git

  • Apache Flink的前身是柏林理工大学一个研究性项目,在2014被Apache孵化器所接受,而后迅速地成为了Apache Software Foundation的顶级项目之一。

Flink 特色github

  • 现有的开源计算方案,会把流处理和批处理做为两种不一样的应用类型:流处理通常须要支持低延迟、Exactly-once保证,而批处理须要支持高吞吐、高效处理apache

  • Flink是彻底支持流处理,也就是说做为流处理看待时输入数据流时***的;批处理被做为一种特殊的流处理,只是它的输入数据流被定义为有界的。

ink大数据计算引擎入门

Flink组件栈网络

ink大数据计算引擎入门
Deployment层架构

主要涉及了Flink的部署模式、Flink支持多种部署模式:本地、集群(Standalone/YARN)、云(GCE/EC2).框架

Runtime层分布式

Runtime层提供了支持Flink计算的所有核心实现,好比:支持分布式Stream处理、JobGraph到ExecutionGraph的映射、调度等等,为上层API层提供基础服务ide

API层性能

API层主要实现了面向***Stream的流处理和面向Batch的批处理API,其中面向流处理对应DataStream API,面向批处理对应DataSet API

Libaries层

在API层之上构建的知足特定应用的实现计算框架,也分别对应于面向流处理和面向批处理两类。

ink大数据计算引擎入门
Flink优点

  • 支持高吞吐、低延迟、高性能的流处理

  • 支持高度灵活的窗口(Window)操做

  • 支持有状态计算的Exactly-once语义

  • 提供DataStream API和DataSet API

ink大数据计算引擎入门
Flink数据流和时间窗口
基本概念

  • Flink程序的基础构建模块是流(streams)与转换(transformations)。

  • 每个数据流起始于一个或多个source,并终止于一个或多个sink。

时间窗口

  • 流上的聚合须要由窗口来划定范围,好比 “计算过去的5分钟” 或者 “最后100个元素的和”

  • 窗口一般被区分为不一样的类型,好比滚动窗口(没有重叠),滑动窗口(有重叠),以及会话窗口(由布活动的间隙所打断)

ink大数据计算引擎入门
Flink分布式运行环境

  • Flink是基于Master-Slave风格的架构

  • Flink集群启动时,会启动一个JobManager进程、至少一个TaskManager进程

JobManager

  • Flink系统的协调者,他负责接受Flink Job ,调度组成Job的多个Task的执行

  • 收集Job的状态信息,并管理Flink集群中从节点TaskManager

TaskManager

  • 实际负责执行计算的Worder,在其上执行Flink Job的一组Task

  • TaskManager负责管理其所在节点上的资源信息,如内存、磁盘、网络,在启动的时候将资源的状态向JobManager汇报

Client

  • 用户提交一个Flink程序时,会首先建立一个Client,该Client首先会对用户提交的Flink程序进行预处理,并提交到Flink集群

  • Client会将用户提交的Flink程序组装一个JobGraph,而且时以JobGraph的形式提交的

Flink安装
方式一

方式二

到官网下载编译版:https://flink.apache.org/downloads.html
不一样环境下到bin目录,运行start-local.bat
运行正常,访问页面:http://localhost:8081

ink大数据计算引擎入门

ink大数据计算引擎入门

相关文章
相关标签/搜索