Flink 专题1 : 搭建Flink 及Flink 简介

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 搭建Flink 及Flink 简介 包括flink 基本概要信息 以及flink linux 集群安装 flink 标准集群启动模式 flink on yarn 启动模式

Flink 专题1 : 搭建Flink 及Flink 简介

图片来源于网络

Flink 简介

image

Apache Flink® - 基于数据流的有状态计算

Flink 的优势:

  • 流场景使用案例
  1. 数据驱动的应用
  2. 批流数据分析
  3. 数据通道和ETL
  • 正确性保证
  1. Exactly-once状态一致性保证
  2. 事件时间处理
  3. 复杂的late date处理 更多
  • API分层体系
    统一SQL支持Stream和Batch数据处理

DataStream API & DataSet API
ProcessFunction (Time & State)

  • Operational Focus
  1. 部署灵活
  2. 高可用配置
  3. Savepoints
  • 适用于各种应用场景Scales to any use case#
  1. 架构可扩展
  2. 超大state支持
  3. 增量checkpointing
  • 高性能
  1. 低延时
  2. 高吞吐
  3. 内存计算

Flink 安装

安装地址:
flink : http://mirror.bit.edu.cn/apache/flink/flink-1.6.2/flink-1.6.2-bin-hadoop27-scala_2.11.tgz
hadoop : https://archive.apache.org/dist/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz

hadoop 安装略过

flink 安装步骤

flink 安装包含单点模式,集群模式,flink on yarn 模式 ,flink on k8s 等模式 ,flink 通过是基于jvm 进行操作, 通过代码可以在单机情况下模拟 集群模式数据 ,以此可以实现本地化的degug 操作。
下面介绍一下集群模式部署:

flink 集群模式 结构 :

Flink 集群模式 包含 JobManager /TaskManager

配置文件设置:

flink-conf.yaml

jobmanager.rpc.address: test-hadoop01
jobmanager.rpc.port: 6123
 // 设置jobManager 的内存大小 
jobmanager.heap.size: 2048m
 // 设置每个taskManager 的内存大小 
taskmanager.heap.size: 3072m
// 设置每个TaskManager 所占槽位 (最好和当前 机器的 可用核数相同(注意要排除预留给自己自身的核数))
taskmanager.numberOfTaskSlots: 8 
parallelism.default: 3  // 默认并行度 
// hdfs 地址 
fs.default-scheme: hdfs://test-hadoop02:9000/  
fs.hdfs.hadoopconf: hdfs:///flink/data/     
state.checkpoints.dir: hdfs:///checkpoints/  
//设置checkpoint 保留版本数量(选择)
state.checkpoints.num-retained: 20
// 设置savepoint 地址 (选择 )
state.savepoints.dir: hdfs://namenode01.td.com/flink-1.5.3/flink-savepoints
//该参数控制了 Flink 是否该重新分配失败的 TaskManager 容器。默认值:true  (选择 )
yarn.reallocate-failed:true
//ApplicationMaster 能接受最多的失败 container 数,直到 YARN 会话失败。默认:初始请求的 TaskManager 数(-n) (选择 )
yarn.maximum-failed-containers:10
//ApplicationMaster(以及 TaskManager containers)重试次数。此参数默认值为1,如果 Application master 失败,那么整个 YARN session 会失败。如果想增大 ApplicationMaster 重启次数,可以把该参数的值调大一些。 (选择 ) 
yarn.application-attempts:5

slaves
将集群的所有节点均写入该文件中

test-hadoop01
test-hadoop02
test-hadoop03

image

添加jobManager/TaskManager

可以使用 bin/jobmanager.sh 和 bin/taskmanager.sh 两个脚本把 JobManager 和 TaskManager 实例添加到正在运行的集群中。
添加 JobManager

./bin/jobmanager.sh ((start|start-foreground) [host] [webui-port])|stop|stop-all

添加 TaskManager

./bin/taskmanager.sh start|start-foreground|stop|stop-all

启动集群

1 集群模式启动

/bin/start-cluster.sh

2. yarn 模式启动

./bin/yarn-session.sh

Usage:
   Required
     -n,--container <arg>   Number of YARN container to allocate (=Number of Task Managers)
   Optional
     -D <arg>                        Dynamic properties
     -d,--detached                   Start detached
     -jm,--jobManagerMemory <arg>    Memory for JobManager Container with optional unit (default: MB)
     -nm,--name                      Set a custom name for the application on YARN
     -q,--query                      Display available YARN resources (memory, cores)
     -qu,--queue <arg>               Specify YARN queue.
     -s,--slots <arg>                Number of slots per TaskManager
     -tm,--taskManagerMemory <arg>   Memory per TaskManager Container with optional unit (default: MB)
     -z,--zookeeperNamespace <arg>   Namespace to create the Zookeeper sub-paths for HA mode

Flink 基于 YARN 的恢复机制
Flink 的 YARN 客户端通过下面的配置参数来控制容器的故障恢复。这些参数可以通过 conf/flink-conf.yaml 或者在启动 YARN session 的时候通过 -D 参数来指定。
yarn.reallocate-failed:该参数控制了 Flink 是否该重新分配失败的 TaskManager 容器。默认值:true
yarn.maximum-failed-containers:ApplicationMaster 能接受最多的失败 container 数,直到 YARN 会话失败。默认:初始请求的 TaskManager 数(-n)
yarn.application-attempts:ApplicationMaster(以及 TaskManager containers)重试次数。此参数默认值为1,如果 Application master 失败,那么整个 YARN session 会失败。如果想增大 ApplicationMaster 重启次数,可以把该参数的值调大一些。

参考地址:
https://flink.apache.org/

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
1月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
60 1
|
7月前
|
Prometheus 监控 Cloud Native
Flink Metrics 简介
Fink Metrics 是 Flink 内部的一个度量系统,除了可以在 Flink UI 上展示运行时的指标,也可以对外暴露接口集成到第三方系统,本文详述了这两方面的应用
|
分布式计算 Java Hadoop
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
|
存储 SQL 分布式计算
Flink 引擎简介 | 青训营笔记
从产品技术来看,Flink 具备如下流计算技术特征:完全一次保证:故障后应正确恢复有状态运算符中的状态;低延迟:越低越好。许多应用程序需要亚秒级延迟;高吞吐量:随着数据速率的增长,通过管道推送大量数据至关重要;强大的计算模型:框架应该提供一种编程模型,该模型不限制用户并允许各种各样的应用程序在没有故障的情况下,容错机制的开销很低;流量控制:来自慢速算子的反压应该由系统和数据源自然吸收,以避免因消费者缓慢而导致崩溃或降低性能;乱序数据的支持:支持由于其他原因导致的数据乱序达到、延迟到达后,计算出正确的结果;完备的流式语义:支持窗口等现代流式处理语义抽象;
185 0
Flink 引擎简介 | 青训营笔记
|
存储 SQL 资源调度
环境篇之 flink 简介|学习笔记
快速学习环境篇之 flink 简介
102 0
环境篇之 flink 简介|学习笔记
|
分布式计算 大数据 数据处理
Flink 简介
Flink 简介
204 0
|
消息中间件 分布式计算 大数据
Flink原理简介和使用(3)
Flink原理简介和使用(3)
173 0
Flink原理简介和使用(3)
|
流计算
Flink原理简介和使用(2)
Flink原理简介和使用(2)
176 0
Flink原理简介和使用(2)
|
Java 流计算
Flink原理简介和使用(1)
Flink原理简介和使用(1)
191 0
Flink原理简介和使用(1)
|
资源调度 Kubernetes 监控
Flink部署、使用、原理简介(下)
Flink部署、使用、原理简介(下)
136 0
Flink部署、使用、原理简介(下)