阿里大数据专家:Flink你明白吗?来看一下我说的吧

什么Flink

Apache Flink是一个框架和分布式处理引擎,用于对*和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算

1、处理*和有界的数据

*流有一个开始但没有定义的结束。它们不会在生成时终止并提供数据。必须持续处理*流,即必须在摄取事件后立即处理事件。无法等待所有输入数据到达,因为输入是*的,并且在任何时间点都不会完成。处理*数据通常要求以特定顺序(例如事件发生的顺序)摄取事件,以便能够推断结果完整性。

有界流具有定义的开始和结束。可以在执行任何计算之前通过摄取所有数据来处理有界流。处理有界流不需要有序摄取,因为可以始终对有界数据集进行排序。有界流的处理也称为批处理。

 

阿里大数据专家:Flink你明白吗?来看一下我说的吧

 

 

Apache Flink擅长处理*和有界数据集。精确控制时间和状态使Flink的运行时能够在*流上运行任何类型的应用程序。有界流由算法和数据结构内部处理,这些算法和数据结构专门针对固定大小的数据集而设计,从而产生出色的性能。

2、随机部署应用程序

Apache Flink是一个分布式系统,需要计算资源才能执行应用程序。Flink与所有常见的集群资源管理器(如Hadoop YARN,Apache Mesos和Kubernetes)集成,但也可以设置为作为独立集群运行。

3、以任何比例运行应用程序

Flink旨在以任何规模运行有状态流应用程序。应用程序可以并行化为数千个在集群中分布和同时执行的任务。因此,应用程序可以利用几乎无限量的CPU,主内存,磁盘和网络IO。而且,Flink可以轻松维护非常大的应用程序状态。其异步和增量检查点算法确保对处理延迟的影响最小,同时保证一次性状态一致性。

· 应用程序每天处理数万亿个事件

· 应用程序维护多个TB的状态,以及

· 应用程序在数千个内核的运行

 

4、利用内存的性能

有状态Flink应用程序针对本地状态访问进行了优化。任务状态始终保留在内存中,或者,如果状态大小超过可用内存,则保存在访问高效的磁盘上数据结构中。因此,任务通过访问本地(通常是内存中)状态来执行所有计算,从而产生非常低的处理延迟。Flink通过定期和异步检查本地状态到持久存储来保证在出现故障时的一次状态一致性

 

阿里大数据专家:Flink你明白吗?来看一下我说的吧

 

 

Flink搭建

1、安装包下载

https://flink.apache.org/downloads.html

(注:要下载与你hadoop以及scala对应的版本,Flink提供了相应的与hadoop、scala相互绑定的对应版本,根据自己的需求进行选择,当然,Flink也是可以单独自己运行的,不需要依赖于hadoop等组件)

 

阿里大数据专家:Flink你明白吗?来看一下我说的吧

 

2、配置java以及ssh免秘钥

Java配置:

1、JAVA_HOME主节点和所有工作节点上设置环境变量,并指向Java安装的目录。

2、您可以conf/flink-conf.yaml通过env.java.home键设置此变量。

免秘钥:

主节点ssh-****** -t rsa生成秘钥

通过ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

3、上传你下载的Flink,然后解压到当前文件

tar -xzf flink-*.tgz

4、在conf/flink-conf.yaml中将jobmanager.rpc.address的地点指向主节点的地址,也可以在flink-ocnf.yaml中设置以下的内容对flink使用的资源进行优化

· 每个JobManager(jobmanager.heap.mb)的可用内存量,

· 每个TaskManager(taskmanager.heap.mb)的可用内存量,

· 每台机器的可用CPU数量(taskmanager.numberOfTaskSlots),

· 集群中的CPU总数(parallelism.default)和

· 临时目录(taskmanager.tmp.dirs)

5、将master中设置主节点的位置

 

阿里大数据专家:Flink你明白吗?来看一下我说的吧

 

6、在slaves中设置从节点的位置

 

阿里大数据专家:Flink你明白吗?来看一下我说的吧

为了能够让大家更好的学习,我整理了一些面试和学习视频、文档等资料,需要的可以私信“资料”获取

阿里大数据专家:Flink你明白吗?来看一下我说的吧

阿里大数据专家:Flink你明白吗?来看一下我说的吧

需要更多架构大数据资料的,点赞关注转发,私信“资料”获取