购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5 Flink的主要组件

Flink是由多个组件构成的软件栈,整个软件栈可分为4层,如图1-9所示。

(1)存储层

Flink本身并没有提供分布式文件系统,因此Flink的分析大多依赖于HDFS,也可以从HBase和Amazon S3(亚马逊云存储服务)等持久层读取数据。

(2)调度层

Flink自带一个简易的资源调度器,称为独立调度器(Standalone)。若集群中没有任何资源管理器,则可以使用自带的独立调度器。当然,Flink也支持在其他的集群管理器上运行,包括Hadoop YARN、Apache Mesos等。

图1-9 Flink的主要组件

(3)计算层

Flink的核心是一个对由很多计算任务组成的、运行在多个工作机器或者一个计算集群上的应用进行调度、分发以及监控的计算引擎,为API工具层提供基础服务。

(4)工具层

在Flink Runtime的基础上,Flink提供了面向流处理(DataStream API)和批处理(DataSet API)的不同计算接口,并在此接口上抽象出了不同的应用类型组件库,例如基于流处理的CEP(复杂事件处理库)、Table&SQL(结构化表处理库)和基于批处理的Gelly(图计算库)、FlinkML(机器学习库)、Table&SQL(结构化表处理库)。 Jcd+hi3n784kKNC3vn9mgeBk6e/VFWUCj8QsXCuDiqejMChMdxagy1ZrfxgoellR

点击中间区域
呼出菜单
上一章
目录
下一章
×