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

大数据Flink简介与架构剖析并搭建基础运行环境

文章目录

    • 前言
    • Flink 简介
    • Flink 集群剖析
    • Flink应用场景
    • Flink基础运行环境搭建
      • Docker安装
      • docker-compose文件编写
      • 创建并运行容器
      • 访问Flink web界面

前言

前面我们分别介绍了大数据计算框架Hadoop与Spark,虽然他们有的有着良好的分布式文件系统和分布式计算引擎,有的有着分布式数据集和基于内存的分布式计算引擎,但是却不能对无边界数据流进行有效处理,今天我们就分享一个第四代大数据分布式计算框架Flink简介与架构剖析并搭建基础运行环境

Flink 简介

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

有状态的 Flink 程序针对本地状态访问进行了优化。任务的状态始终保留在内存中,如果状态大小超过可用内存,则会保存在能高效访问的磁盘数据结构中。任务通过访问本地(通常在内存中)状态来进行所有的计算,从而产生非常低的处理延迟。Flink 通过定期和异步地对本地状态进行持久化存储来保证故障场景下精确一次的状态一致性。
在这里插入图片描述

Flink 集群剖析

Flink 运行时由两种类型的进程组成:一个 JobManager 和一个或者多个 TaskManager。
在这里插入图片描述

Client 不是运行时和程序执行的一部分,而是用于准备数据流并将其发送给 JobManager。之后,客户端可以断开连接(分离模式),或保持连接来接收进程报告(附加模式)。客户端可以作为触发执行 Java/Scala 程序的一部分运行,也可以在命令行进程./bin/flink run …中运行。
可以通过多种方式启动 JobManager 和 TaskManager:直接在机器上作为standalone 集群启动、在容器中启动、或者通过YARN或Mesos等资源框架管理并启动。TaskManager 连接到 JobManagers,宣布自己可用,并被分配工作。

Flink应用场景

1、驱动型应用
事件驱动型应用是一类具有状态的应用,它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。
典型的事件驱动型应用实例 #
反欺诈
异常检测
基于规则的报警
业务流程监控
(社交网络)Web 应用
2、数据分析应用
数据分析任务需要从原始数据中提取有价值的信息和指标,为了得到最新数据的分析结果,必须先将它们加入分析数据集并重新执行查询或运行应用,随后将结果写入存储系统或生成报告。
典型的数据分析应用实例 #
电信网络质量监控
移动应用中的产品更新及实验评估分析
消费者技术中的实时数据即席分析
大规模图分析
3、数据管道应用
提取-转换-加载(ETL)是一种在存储系统之间进行数据转换和迁移的常用方法。ETL 作业通常会周期性地触发,将数据从事务型数据库拷贝到分析型数据库或数据仓库。
电子商务中的实时查询索引构建
电子商务中的持续 ETL

Flink基础运行环境搭建

Docker安装

安装docker和docker-compose并赋予权限

docker与docker-compose安装
#安装docker社区版
yum install docker-ce
#版本查看
docker version
#docker-compose插件安装
curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#可执行权限
chmod +x /usr/local/bin/docker-compose
#版本查看
docker-compose version

docker-compose文件编写

vim docker-compose-flink.yaml

version: "3.3"
services:jobmanager:image: registry.cn-hangzhou.aliyuncs.com/senfel/flink:1.9.2-scala_2.12expose:- "6123"ports:- "8081:8081"command: jobmanagerenvironment:- JOB_MANAGER_RPC_ADDRESS=jobmanagertaskmanager:image: registry.cn-hangzhou.aliyuncs.com/senfel/flink:1.9.2-scala_2.12expose:- "6121"- "6122"depends_on:- jobmanagercommand: taskmanagerlinks:- "jobmanager:jobmanager"environment:- JOB_MANAGER_RPC_ADDRESS=jobmanager

创建并运行容器

docker-compose -f docker-compose-flink.yaml up -d

在这里插入图片描述

访问Flink web界面

ip:8081
在这里插入图片描述

http://www.lryc.cn/news/146004.html

相关文章:

  • RISC-V IOPMP实际用例-Rapid-k模型在NVIDIA上的应用
  • 【UE5】给模型指定面添加自定义材质
  • mall:redis项目源码解析
  • RISC-V Linux系统kernel制作
  • 5G NR:PRACH时域资源
  • LLaMA-2的模型架构
  • 掌握Java框架之Struts,开启高效开发之旅!
  • 关于Vue.set()
  • Selenium 遇见伪元素该如何处理?
  • RPA技术介绍与应用价值
  • 产品经理,需要具备哪些能力和知识
  • 【C++】map和set
  • crawlab通过docker单节点部署简单爬虫
  • 【STM32】中断与NVIC以外部中断为例
  • 大学生网页设计制作作业实例代码 (全网最全,建议收藏) HTML+CSS+JS
  • Llama模型结构解析(源码阅读)
  • 基于XML实现SpringIoC配置
  • Kaniko在containerd中无特权快速构建并推送容器镜像
  • 分享5款不会被打入冷宫的神器软件
  • Windows如何部署Redis
  • VUE数据双向绑定原理解析
  • SSM商城项目实战:订单管理
  • SELinux 入门 pt.2
  • 函数(个人学习笔记黑马学习)
  • 《Flink学习笔记》——第五章 DataStream API
  • Vue3.0 新特性以及使用变更总结
  • ToBeWritten之VSOC安全运营
  • 2023爱分析·一站式通信解决方案市场厂商评估报告:牛信云
  • 微信小程序消防知识每天学平台设计与实现
  • Oracle跨库访问DBLINK