Apache Flink 是一个开源的流处理框架,应用于分布式、高性能、始终可用的、准确的数据流应用程序。Apache Flink新版本继续围绕使用户能够无缝地运行快速数据处理并轻松构建数据驱动和数据密集型应用而改进,让用户可以更好进行数据处理。
Apache Flink 特点
处理无界和有界数据
任何类型的数据都是作为事件流产生的。信用卡交易,传感器测量,机器日志或网站或移动应用程序上的用户交互,所有这些数据都作为流生成。
随处部署应用程序
Apache Flink是一个分布式系统,需要计算资源才能执行应用程序。Flink与所有常见的集群资源管理器(如Hadoop YARN,Apache Mesos和Kubernetes)集成,但也可以设置为作为独立集群运行。
以任何比例运行应用程序
Flink旨在以任何规模运行有状态流应用程序。应用程序可以并行化为数千个在集群中分布和同时执行的任务。因此,应用程序可以利用几乎无限量的CPU,主内存,磁盘和网络IO。而且,Flink可以轻松维护非常大的应用程序状态。其异步和增量检查点算法确保对处理延迟的影响最小,同时保证一次性状态一致性。
利用内存中的性能
有状态Flink应用程序针对本地状态访问进行了优化。任务状态始终保留在内存中,或者,如果状态大小超过可用内存,则保存在访问高效的磁盘上数据结构中。因此,任务通过访问本地(通常是内存中)状态来执行所有计算,从而产生非常低的处理延迟。Flink通过定期和异步检查本地状态到持久存储来保证在出现故障时的一次状态一致性。
更新日志
新增对 state TTL 的原生支持。此功能允许在 state 到期后进行清理;
继续完善 1.5.0 重构的 Flink 分布式架构,并简化容器设置;
进一步改进 SQL CLI,使得针对大量数据源执行流式处理和批处理查询更容易;
新增 StreamingFileSink ,以及对 ElasticSearch 6.x 的支持;
优化 Timer Deletions 。
安装教程
下载并启动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
∨ 展开