当前位置: 首页 > news >正文

Flink基础简介和安装部署

文章目录

    • 一、Flink基础简介
      • 1、什么是Flink
      • 2、Flink流处理特性
      • 3、Flink四大基石
      • 4、Flink中的角色
    • 二、Flink集群搭建
      • 1、Local模式
        • ①上传Flink安装包
        • ②启动交互窗口
        • ③提交任务测试
        • ④访问WebUI页面查看
        • ④退出停止集群

一、Flink基础简介

1、什么是Flink

Flink是⼀个分布式,高性能,随时可⽤的以及准确的流处理计算框架,Flink可以对无界数据(流处理)和有界数据(批处理)进⾏有状态计算的分布式,⾼性能的计算框架。

⽆界数据流:数据流是有⼀个开始但是没有结束;
有界数据流:数据流是有⼀个明确的开始和结束,数据流是有边界的。

2、Flink流处理特性

1.支持高吞吐、低延迟、高性能的流处理
2.支持带有事件时间的窗口(Window)操作
3.支持有状态计算的 Exactly-once 语义
4.支持高度灵活的窗口(Window)操作,支持基于 time、count、session,以及 data-driven 的窗口操作
5.支持具有 Backpressure(背压) 功能的持续流模型
6.支持基于轻量级分布式快照(Snapshot)实现的容错
7.一个运行时同时支持 Batch on Streaming 处理和 Streaming 处理
8.Flink 在 JVM 内部实现了自己的内存管理
9.支持迭代计算; 
10.程序自动优化:避免特定情况下 Shuffle、排序等昂贵操作,中间结果有必要进行缓存

3、Flink四大基石

checkpoint,state,time,window

checkpoint:
基于chandy-lamport算法实现分布式计算任务的⼀致性语义;

state:
flink中的状态机制,flink 天生支持state,state可以认为程序的中间计算结果或者是历史计算结果;

time:
flink中⽀持基于事件时间和处理时间进⾏计算,spark streaming只能按照process time进⾏处理;基于事件时间的计算我们可以解决数据延迟和乱序等问题。

window:
flink提供了更多丰富的window,基于时间,基于数量,session window,同样⽀持滚动和滑动窗
⼝的计算。

4、Flink中的角色

JobManager: 负责资源申请,任务分发,任务调度执行,checkpoint的协调执行;
TaskManager: 负责任务的执行,基于Dataflow(Spark中DAG)划分出的Task;与JobManager保持⼼跳,汇报任务状态。

二、Flink集群搭建

Local: 单机模式,自测学习使用
Standalone:Flink⾃带集群,资源管理由Flink集群管理
Flink on Yarn: 把资源管理交给yarn实现。

1、Local模式

①上传Flink安装包

准备服务器, 上传安装包 flink-1.7.2-bin-hadoop27-scala_2.11.tgz 然后解压到指定目录,注意修改所属用户和用户组

注意: 服务器需要配置JDK8的环境

tar -zxvf flink-1.7.2-bin-hadoop27-scala_2.11.tgz
mv flink-1.7.2 flink
chown -R root:root flink

如下图所示:
在这里插入图片描述

②启动交互窗口

进入Flink的bin目录下启动shell交互式窗口

cd /develop/flink
bin/start-scala-shell.sh local

如下图所示
在这里插入图片描述

③提交任务测试

注意: 提前创建一个测试文件/root/words.txt,随便写入一些文本作为测试文件

benv.readTextFile("/root/words.txt").flatMap(_.split("")).map((_,1)).groupBy(0).sum(1).print()

在这里插入图片描述

④访问WebUI页面查看
http://192.168.88.88:8081

在这里插入图片描述

④退出停止集群
bin/stop-cluster.sh

在这里插入图片描述

相关文章:

  • playwright-go实战:自动化登录测试
  • 1. 找不能被3、5和7整除的数并存入列表。
  • C++常见问题与思考
  • Keil5调试技巧
  • olmOCR模型论文解读
  • c++(哈希以及封装)
  • ⭐算法OJ⭐判断二叉搜索树【树的遍历】(C++实现)Validate Binary Search Tree
  • 算法-最大公约数
  • 计算机二级(MS Office高级应用)知识点总结
  • 轴承的结构参数以及特征频率的计算
  • Transformer中,Fisher矩阵与权重之间关系
  • linux命令行工具进阶
  • HTTP状态码全解析
  • kubernetes|云原生|kubeadm-1.25.7集群单master+外部etcd集群+kubeadm-init+cri-docker文件形式快速部署
  • 基于概率图模型的蛋白质功能预测
  • 河南大学数据库实验6
  • 【leetcode题解】链表
  • 【STL】string类
  • SDH(Synchronous Digital Hierarchy,同步数字体系)
  • 如何使用SQL进行多表联合查询(SQLⅰte举例)
  • 4月人民币对美元即期汇率微跌,今年以来升值0.48%
  • 许峰已任江苏省南京市副市长
  • 李铁案二审今日宣判
  • 逛了6个小时的上海车展。有些不太成熟的感受。与你分享。
  • 在岸、离岸人民币对美元汇率双双升破7.26关口
  • 法院为“外卖骑手”人身权益撑腰:依法认定实际投保人地位