什么是Flink
Flink 它可以处理有界的数据集、也可以处理无界的数据集、它可以流式的处理数据、也可以批量的处理数据。所谓的无穷数据集就是我们日常中所说的实时数据,比如金融市场的实时交易记录,web的实时访问记录,所谓的有界数据集就是一些有限不会改变的数据集合,所以flink数据运算模型有流式和批处理。
flink的官网
https://flink.apache.org
github地址
https://github.com/apache/flink
flink的架构
1、flink和Hadoop一样是一个主从式的分布式系统,有主节点master和从节点worker组成
2、主节点可以做HA也可以不做HA
3、主节点:负责分发计算任务,负责监控计算任务的执行情况
4、从节点:负责执行计算任务,负责报告计算任务的执行情况
5、flink使用一个client来提交计算任务
6、主节点上的进程为 JobManager
7、从节点上的进程为TaskManager
8、client用于向flink-cluster提交job
9、JobManager负责将job解析为task,并将相应的task分给相应的TaskManager执行,监控TaskManager的运行情况,
10、TaskManager负责执行相应的task,并将执行的进度情况实时上报给JobManager
11、如果flink和Hadoop部署在一起,那么一般将namenode和JobManager部署在一起,将DataNode和TaskManager部署在一起
12、flink也能照顾到数据本地性,移动计算而不是移动数据