当前位置:   article > 正文

对Flink官网资源的初步了解_apache flink官网

apache flink官网

--------------------------------------------------何为Flink?------------------------------------------------------

ApacheFlink是一个用于有状态计算的框架和分布式处理引擎。无界和有界数据流。Flink已被设计为运行在所有公共集群环境,在内存速度任何尺度.

在这里,我们解释了弗林克架构的重要方面。

处理无界和有界数据

任何类型的数据都是以事件流的形式产生的。信用卡交易、传感器测量、机器日志或网站或移动应用程序上的用户交互,所有这些数据都是作为流生成的。

数据可以作为无界有界溪流。

  1. 无界流有一个开始,但没有定义结束。它们不会在生成数据时终止和提供数据。必须连续地处理无界流,即事件被摄入后必须立即处理。不可能等待所有输入数据到达,因为输入是无界的,并且不会在任何时间点完成。处理无界数据通常需要以特定的顺序(如事件发生的顺序)摄取事件,以便能够推理结果的完整性。

  2. 有界流有一个定义的开始和结束。在执行任何计算之前,可以通过摄取所有数据来处理有界流。为了处理有限制的流,不需要有序的摄入,因为有界的数据集总是可以被排序的。有界流的处理也称为批处理。

ApacheFlink擅长处理无界和有界数据集。对时间和状态的精确控制使Flink的运行时能够在无界流上运行任何类型的应用程序。有界流由专门为固定大小的数据集设计的算法和数据结构进行内部处理,获得优异的性能。

通过探索用例建在弗林克上面。

在任何地方部署应用程序

ApacheFlink是一个分布式系统,需要计算资源才能执行应用程序。Flink与所有常见的集群资源管理器集成,例如Hadoop纱Apache Mesos,和库伯奈特斯但也可以设置为作为独立集群运行。

Flink旨在使以前列出的每个资源管理器都能很好地工作。这是通过特定于资源管理器的部署模式实现的,这些模式允许Flink以其惯用的方式与每个资源管理器交互。

在部署Flink应用程序时,Flink根据应用程序配置的并行性自动标识所需的资源,并向资源管理器请求它们。如果发生故障,Flink将通过请求新资源来替换失败的容器。提交或控制应用程序的所有通信都是通过REST调用进行的。这简化了Flink在许多环境中的集成。

以任何规模运行应用程序

Flink设计用于运行任意规模的有状态流应用程序。应用程序被并行化为可能的数千个任务,这些任务在集群中被分布并发执行。因此,应用程序可以利用几乎无限数量的CPU、主存、磁盘和网络IO。此外,Flink很容易维护非常大的应用程序状态。它的异步和增量检查点算法确保了对处理延迟的最小影响,同时保证了精确的一次状态一致性。

用户报告了令人印象深刻的可伸缩性数字。对于在生产环境中运行的Flink应用程序,如

  • 应用处理每天有数以万亿计的事件,
  • 应用程序维护数兆字节的状态,和
  • 应用在成千上万的核心上运行.

利用内存中的性能

有状态Flink应用程序被优化为本地状态访问。任务状态总是在内存中维护,如果状态大小超过可用内存,则保持在访问效率高的磁盘数据结构中。因此,任务通过访问本地(通常是内存中)状态来执行所有计算,从而产生非常低的处理延迟。Flink通过周期性和异步的检查点将本地状态指向持久存储,从而保证在故障情况下的一次状态一致性。

--------------------------------------------------------常见问题---------------------------------------------------------------

Flink是一个非常通用的系统,用于数据处理和数据驱动应用程序。数据流作为核心构件。这些数据流可以是实时数据流,也可以是存储的历史数据流.例如,在Flink的视图中,文件是存储的字节流。因此,Flink支持实时数据处理和应用程序,以及批处理应用程序.

流可以是无界(没完没了,不断发生的事情)有界(流有开始和结束)。例如,来自消息队列的Twitter提要或事件流通常是无界流,而来自文件的字节流是有界流。

有界流通常比无界流更有效地处理。实时处理无界事件流要求系统能够立即对事件采取行动,并产生中间结果(通常具有较低的延迟时间)。处理有界流通常不需要产生较低的延迟结果,因为数据无论如何都是一段时间(相对而言)。这允许Flink以一种简单和更有效的方式处理数据。

DatastreamAPI捕获了对无界和有界流的连续处理,该模型支持低延迟结果和对事件和时间(包括事件时间)的灵活反应。

DataSet API的技术通常加速有界数据流的处理。未来,社区计划将这些优化与DatastreamAPI中的技术结合起来。

弗林克Apache Hadoop并且运行时没有任何Hadoop依赖关系。

但是,Flink与许多Hadoop组件集成得很好,例如,HDFS纱线,或HBASE。当与这些组件一起运行时,Flink可以使用HDFS读取数据,或者写入结果和检查点/快照。Flink可以通过纱线轻松部署,并与纱线和HDFS Kerberos安全模块集成。

可运行Flink的用户有库伯奈特斯梅索斯码头工人,甚至作为独立的服务。

  • 你需要Java 8若要运行Flink作业/应用程序,请执行以下操作。
  • ScalaAPI(可选)依赖于Scala2.11。
  • 高度可用的没有单一故障点的设置需要阿帕奇动物园管理员.
  • 对于可以从故障中恢复的高度可用的流处理设置,flink需要为检查点提供某种形式的分布式存储(hdfs/s3/nns/san/gfs/Kosmos/cph/…)

用户在非常小的设置(少于5个节点)和1000s节点上以及状态的TBS上运行Flink作业。

对于DatastreamAPI,Flink支持比内存更大的状态配置RocksDB状态后端。

对于DataSet API,所有操作(增量迭代除外)都可以扩展到主存之外。

如需更多资源请点击官网链接

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号