flink

Flink的高可用集群环境

我是研究僧i 提交于 2020-01-14 04:36:21
Flink的高可用集群环境 Flink简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布,数据通信以及容错机制等功能。 因现在主要Flink这一块做先关方面的学习,因此准备要开通Apache Flink专栏这一块定期发布一些文章。今天在自己的博客因为专栏无法申请通过,所以先在此记录第一篇关于Flink部署的文章。 在这里顺便打个小广告,Flink社区第一季线下meetup,已在上海,北京举办。接下来分别会在成都和深圳举办接下来的几期,也希望小伙伴们踊跃的加入到Flink社区来,下载钉钉,扫描下方二维码即可加入大群。 首先今天先介绍一下Flink的安装,安装部署最新1.6版本支持有8种安装方式,详细可以参考安装部署方式【Clusters & Deployment】 。下面主要介绍Standalone Cluster模式和on yarn模式 。 软件包下载地址 一.Flink独立集群模式安装(Cluster Standalone) 1.1.解压安装 [root@h001 soft]# tar -zxvf flink-1.2.0-bin-hadoop26-scala_2.11.tgz -C /usr/bigdata/ 1 1.2.Flink配置(Configuring Flink) 对其进行相关的配置。主要涉及到的配置文件是conf/flink

Flink的安装配置

谁都会走 提交于 2020-01-14 04:35:58
一. Flink的下载 安装包下载地址: http://flink.apache.org/downloads.html ,选择对应Hadoop的Flink版本下载 [admin@node21 software]$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.6.1/flink-1.6.1-bin-hadoop27-scala_2.11.tgz [admin@node21 software]$ ll -rw-rw-r-- 1 admin admin 301867081 Sep 15 15:47 flink-1.6.1-bin-hadoop27-scala_2.11.tgz Flink 有三种部署模式,分别是 Local、Standalone Cluster 和 Yarn Cluster。 二. L ocal模式 对于 Local 模式来说,JobManager 和 TaskManager 会公用一个 JVM 来完成 Workload。如果要验证一个简单的应用,Local 模式是最方便的。实际应用中大多使用 Standalone 或者 Yarn Cluster,而local模式只是将安装包解压启动(./bin/start-local.sh)即可,在这里不在演示。 三. Standalone 模式

Flink 部署文档

天大地大妈咪最大 提交于 2020-01-14 04:35:21
Flink 部署文档 1 先决条件 2 下载 Flink 二进制文件 3 配置 Flink 3.1 flink-conf.yaml 3.2 slaves 4 将配置好的 Flink 分发到其他节点 5 以 Standalone 模式启动 Flink 6 以 Flink on YARN 模式启动 6.1 Flink YARN Session 6.2 Single Flink job on YARN 7 参考 本文档中的集群包含 192.168.105.10/11/12 三台机器。三台机器的 hostname 分别设为 ivic10/ivic11/ivic12,其中第一台机器作为 master,后两台作为 slaves。 1 先决条件 在部署 Flink 之前,请确认集群的每个节点都符合以下条件: 已安装 Java 1.8.x 或以上版本(推荐 1.8 版本) 节点两两之间可以 SSH 免密码登陆 已部署 Hadoop(如果只是部署 Standalone Cluster 则不需要 Hadoop) 如果你已经按照 Hadoop 部署文档 成功建立了 Hadoop 集群,那么以上条件均已满足。 2 下载 Flink 二进制文件 在 Flink 的 下载页面 中有多个版本可以选择,因为之前选择了 Hadoop 2.7.7 版本,所以这里选择与之对应的 Apache Flink 1.7.2

Flink独立集群1

孤街醉人 提交于 2020-01-14 04:30:51
要求 软件要求 JAVA_HOME 配置 Flink设置 配置Flink 启动Flink 将JobManager / TaskManager实例添加到群集 要求 软件要求 Flink可在所有类UNIX环境中运行,例如Linux,Mac OS X和Cygwin(适用于Windows),并期望集群由一个主节点和一个或多个工作节点组成。在开始设置系统之前,请确保在每个节点上安装了以下软件: Java 1.8.x或更高版本, ssh(必须运行sshd才能使用管理远程组件的Flink脚本) 如果您的群集不满足这些软件要求,则需要安装/升级它。 在所有群集节点上使用无密码SSH和相同的目录结构将允许您使用我们的脚本来控制所有内容。 JAVA_HOME 配置 Flink要求在JAVA_HOME主节点和所有工作节点上设置环境变量,并指向Java安装的目录。 您可以conf/flink-conf.yaml通过env.java.home键设置此变量。 Flink设置 转到 下载页面 并获取可立即运行的包。确保选择与您的Hadoop版本匹配的Flink包。如果您不打算使用Hadoop,请选择任何版本。 下载最新版本后,将存档复制到主节点并解压缩: tar xzf flink-*.tgz cd flink-* 配置Flink 解压缩系统文件后,需要通过编辑conf / flink-conf

Flink1.6系列之—Flink on yarn流程详解

ⅰ亾dé卋堺 提交于 2020-01-14 04:27:49
本篇我们介绍下,Flink在YARN上运行流程: 当开始一个新的Flink yarn 会话时,客户端首先检查所请求的资源(containers和内存)是否可用。如果资源够用,之后,上传一个jar包,包含Flink和HDFS的配置。 客户端向yarn resource manager发送请求,申请一个yarn container去启动ApplicationMaster。 yarn resource manager会在nodemanager上分配一个container,去启动ApplicationMaster yarn nodemanager会将配置文件和jar包下载到对应的container中,进行container容器的初始化。 初始化完成后,ApplicationMaster构建完成。ApplicationMaster会为TaskManagers生成新的Flink配置文件(使得TaskManagers根据配置文件去连接到JobManager),配置文件会上传到HDFS。 ApplicationMaster开始为该Flink应用的TaskManagers分配containers,这个过程会从HDFS上下载jar和配置文件(此处的配置文件是AM修改过的,包含了JobManager的一些信息,比如说JobManager的地址) 一旦上面的步骤完成,Flink已经建立并准备好接受jobs

Flink学习 - 10. Flink Side Output 侧输出

隐身守侯 提交于 2020-01-13 21:45:15
Flink学习 - 10. Flink Side Output 侧输出 Side Output概念 Side Output 使用方式 定义OutputTag 使用特定函数产生数据流 处理Side Output数据流 处理延迟数据 Side Output概念 Side Output简单来说就是在你程序执行过程中,你需要将从主流stream中获取额外的流的方式,也就是在处理一个数据流的时候,将这个流中的不同的业务类型或者不同条件的数据分别输出到不同的地方。 如果采用filter算子对数据做筛选,也可以满足这种需求,但是这样会造成数据流被复制多分,造成不必要的性能浪费。 Side Output在拆分数据流时,然后从每个流过滤出你不想拥有的数据,非常有用。 摘自 : Flink的处理机制以及侧输出应用 通常我们说sideoutput的使用场景如下: 分流 : 使用split函数 异常值捕获(空值,字段缺失,异常值过大等场景),滞后的数据处理等 : 使用sideoutput 举个例子来说明: 比如现在有一篇文章吧,单词长度不一,但是我们想对单词长度小于5的单词进行wordcount操作,同时又想记录下来哪些单词的长度大于了5,那么我们该如何做呢? 普遍的做法是: datastream.filter(word.length>=5); //获取不统计的单词,也即是单词长度大于等于5。

Flink初步了解

旧街凉风 提交于 2020-01-13 18:09:38
Flink初步了解 废话少说---- 1 基本框架 2 Flink简介 2.1 Fink是什么 2.2 Flink的来历 2.3 Flink的特点 2.3.1 流处理特性 2.3.2 API支持 2.3.3 Libraries支持 2.3.4 整合支持 2.3.5 Flink生态圈 3 Flink组件栈 3.1 Deployment层 3.2 Runtime层 3.3 Libaries层 3.4 API层 4 Flink自身优势 5 Flink分布式环境运行 5.1 JobManager 5.2 TaskManager 5.3 Client 6 Flink下载安装 6.1 MethodOne 6.2 MethodTwo 7 Flink入门程序 8 实时技术对比。 9 既往平台问题 10 现有案例 10.1 场景一:Event-driven Applications【事件驱动】 10.2 场景二:Data Analytics Applications【分析】 10.3 场景三:Data Pipeline Applications【管道式ETL】 11 现有案例 11.1 阿里巴巴 11.1.1 实时监控 11.1.2 实时报表 11.1.3 流数据分析 11.1.4 实时仓库 11.2 滴滴出行 废话少说---- 1 基本框架 2 Flink简介 2.1 Fink是什么 Apache

基于 Flink 构建 CEP 引擎的挑战和实践

瘦欲@ 提交于 2020-01-13 18:01:46
奇安信集团作为一家网络安全公司是如何基于 Flink 构建 CEP 引擎实时检测网络攻击?其中面临的挑战以及宝贵的实践经验有哪些?本文主要内容分为以下四个方面: 背景及现状 技术架构 产品及运维 未来发展与思考 作者:韩鹏@奇安信 背景及现状 奇安信集团作为一家网络安全公司,专门为政府、企业,教育、金融等机构和组织提供企业级网络安全技术、产品和服务,奇安信的 NGSOC 产品的核心引擎是一个 CEP 引擎,用于实时检测网络攻击,其技术演进过程如下图所示。 2015 年开始使用基于 Esper 的 CEP 方案,但是当时遇到了很多问题,其中最显著的是性能问题,因为 Esper 对于规则条目的支持数量不多,一般情况下超过几十条就会受到严重影响; 2017 年奇安信的技术方案演进到了使用 C++ 实现的 Dolphin 1.0,其在单机上的性能表现大幅度提升; 2018 年奇安信决定将技术方案全面转向基于 Flink 的 Sabre。 奇安信产品具体的应用场景是企业系统的安全检测和数据分析,其自下而上分为四个业务处理流程,分别是数据的采集、解析、处理和展示结果,这其中最核心的是第三层数据处理。该产品的用户主要是安全规则团队,其可以使用规则编辑器来对安全规则进行添加、删除、编辑和查找操作,并可批量启动/停用多个规则,同时可以将处于启动状态的有效规则统一发送给产品。 在数据规模方面

Flink作业调度

白昼怎懂夜的黑 提交于 2020-01-13 07:01:15
Flink作业调度 1.如何进行作业调度 实际上作业调度可以看作是对资源和任务进行匹配的过程。在Flink中,资源是通过slot来表示的,每个slot可以用来执行不同的Task。调度的主要目的就是为了给Task找到匹配的slot。 该图表示的就是flink的作业调度过程,从图中我们可以清晰的看出来一个作业的整个提交调度过程。 master-slave: AM(AppMaster):master,负责管理整个集群中的资源和作业。 TaskExecutor:slave,负责提供具体的资源并实际执行作业。 Master部分包含3个组件:Dispatcher、ResourceManager和JobManager (1)Dispatcher负责接收用户提交作业,并且负责为这个新提交的作业拉起一个新的JobManager组件。 (2)ResourceManager负责资源管理。 (3)JobManager负责管理作业的执行,在一个Flink集群中可能有多个作业同时执行,每个作业都有自己的JobManager组件。 作业调度的整个流程: 1.用户提交作业,提交作业会首先启动一个Client进程负责作业的编译和提交。它首先将用户编写的代码编译为一个JobGraph。(还会进行一些检查或者优化工作,例如判断哪些Operator可以Chain到同一个Task中)然后将JobGraph提交到集群中执行

Flink 笔录

半腔热情 提交于 2020-01-12 16:02:59
Flink 文章目录 Flink 一、Flink 简介 1.1 Flink 的特点 1.2 Flink 与 Spark Streaming 对比 二、快速上手 2.1 搭建 maven 工程 2.2 批处理 wordcount 三、Flink 部署 3.1 Yarn 部署 3.2 Kubernetes 部署 四、Flink 运行时架构 4.1 Flink 运行时组件 4.2 任务提交流程 4.3 任务调度原理 2. TaskManger 与 Slots 3. 程序与数据流(DataFlow) 4. 执行图(ExecutionGraph) 5. 并行度(Parallelism) 6. 任务链(Operator Chains) 4.4 网络流控与反压机制 1. 网络流控 2. Flink 的反压机制 五、Flink 流处理 API 5.1 Envrionment createLocalEnvironment createRemoteEnvironment getExecutionEnvrionment 5.2 Source fromCollection readTextFile addSource 读取 kafka 数据 自定义 Source 5.3 transform map flatMap fliter keyBy 滚动聚合算子(Rolling Aggregation)