Apache Flink(流筹备框架) 160 官方版

  Apache Flink是筹备一款流筹备框架,当您在设置流程的框架时候可以将这款软件部署到你的开发环境中使用,让您可以更好设置流程模块 , 官提供流和批筹备分析、筹备数据管道和ETL 、框架繁杂的 官后期数据筹备 、SQL对流和批筹备数据等多种功能,筹备您可以将其灵活的框架部署到自己的软件中,也可以部署到任何扩展架构使用;Apache Flink可以集成到多款软件上开发, 官让您的筹备软件具有流筹备功能,新增对 state TTL 的框架原生拥穿着 ,需要的 官挚友赶快下载吧 !

软件功能

  *流优先运行时,筹备拥穿着批筹备和数据流程序

  *优雅流畅的框架Java和Scala api

  *同时拥穿着高吞吐量和低事件延迟的运行时

  *基于*Dataflow模型

  *拥穿着DataStream API中的事件时间和无序*筹备

  *灵活的窗口(时间,计数, 官会谈 ,自定义触发器)跨越不同的时间语义(事件时间,筹备时间)

  *精确一次筹备保证*容错

  *流媒体节目的自然背压

  *用于图形筹备(批筹备)、机器学习(批筹备)和繁杂事件筹备(流)的库

  *数据集(批筹备)API中对迭代程序(BSP)的内置拥穿着

  *自定义内存管理,用于在内存中和非核心数据筹备算法之间铺开高效和强健的切换

  * Apache Hadoop MapReduce和Apache Storm的兼容性层

  *与YARN  、HDFS 、HBase和Apache Hadoop生态系统的其他组件集成

软件特色

  一致的检查点:Flink的恢复机制基于应用程序状态的一致检查点。如果裸露故障 ,应用程序将重新打开 ,并从最新的检查点加载其状态。与可重新设置的流源相结合,这个特性可以保证一次完全的状态一致性。

  有效的检查点:如果应用程序保持tb级的状态,那么检查点应用程序的状态可能非常高价。Flink可以执行异步和增量检查点 ,以保持检查点对应用程序的延迟sla的影响非常小。

  端到端精确地一次:Flink为特定存储系统提供了事务接收器,可以保证数据只写一次 ,即使在裸露故障的情况下也是如此 。

  与集群管理器集成:Flink与集群管理器紧密集成 ,例如Hadoop YARN 、Mesos或Kubernetes。当流程出局时,将自动打开一个新流程来接管其筹备 。

  高可用性设置:Flink具有高可用性模式 ,可以消除所有单点故障。ha模式基于Apache ZooKeeper ,这是一种经过实战验证的可靠分布式调停服务

安装计划

  通过定期将检查点写入远程持久存储,可以实现容错。下图描述了传统应用程序架构和事件驱动应用程序之间的差异。

  下载并打开Flink

  Flink可在Linux ,Mac OS X和Windows上运行 。为了能够运行Flink,唯一的要求是安装一个有效的Java 8.x. Windows用户  。

  您可以通过发出以下命令来检查Java的正确安装:

  java -version

  如果你有Java 8,输出将如下所示  :

  java version "1.8.0_111"

  Java(TM) SE Runtime Environment (build 1.8.0_111-b14)

  Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

  下载并解缩减规模

  1、从下载页面下载二进制文件。您可以选择任何您喜欢的Hadoop / Scala组合 。如果您打算只使用本地文件系统,任何Hadoop版本都可以正常筹备。

  2 、转到下载目录。

  3、解缩减规模下载的存档。

  $ cd ~/Downloads # Go to download directory

  $ tar xzf flink-*.tgz # Unpack the downloaded archive

  $ cd flink-1.6.0

  打开本地Flink群集

  $ ./bin/start-cluster.sh # Start Flink

  Apache Flink拥穿着流和批分析应用程序,如下图所示。

使用会谈明

  *注:Maven 3.3。x可以构建Flink ,但不能正确地消除某些依赖。Maven 3.0.3正确地创建了库 。

  要使用Java 8构建单元测试 ,请使用Java 8u51或更高版本 ,以防止在使用PowerMock runner.*的单元测试中裸露故障

  下图描述了周期性ETL作业和连续数据管道之间的差异。

  #发展Flink

  Flink提交者使用IntelliJ思想来开发Flink代码基  。

  我们推荐IntelliJ IDEA用于开发包含Scala代码的项目。

  IDE的最低要求是:

  拥穿着Java和Scala(也是混合项目)

  使用Java和Scala拥穿着Maven

  分层的api

  Flink提供了三个分层的api。每种API都在简洁和表达之间提供了不同的思索,并针对不同的用例 。

  IntelliJ IDEA

  IntelliJ IDE拥穿着开箱即用的Maven ,并为Scala开发提供了一个插件 。

  * IntelliJ下载:[https://www.jetbrains.com/idea/](https://www.jetbrains.com/idea/)

  * IntelliJ Scala插件:[http://plugins.jetbrains.com/plugin/?id=1347](http://plugins.jetbrains.com/plugin/?id=1347)

  Flink通过定期和异步检查本地状态到持久存储,保证了在裸露故障时的精确一次状态一致性 。

  由于有界数据集总是可以排序的 ,所以筹备有界流不需要有序的摄取。有界流的筹备也称为批筹备 。

更新日志

  新增对 state TTL 的原生拥穿着。此功能允许在 state 到期后铺开清理;

  绵延完善 1.5.0 重构的 Flink 分布式架构,并简化容器设置;

  进一步改进 SQL CLI ,使得针对大量数据源执行流式筹备和批筹备查询更轻易;

  新增 StreamingFileSink  ,以及对 ElasticSearch 6.x 的拥穿着;

  优化 Timer Deletions 。

渝ICP备2025076537号-22