flink 什么是fink(三)flink操作

flink操作

flink是一个框架,用于对有界流和无界流进行有状态的计算。由于许多流应用程序被设计为以最少的停机时间连续运行,因此流处理器必须提供出色的故障恢复,以及在应用程序运行时监控和维护应用程。

Apache Flink 非常关注流处理的操作。在这里,我们解释 Flink 的故障恢复机制,并展示其管理和监控正在运行的应用程序的功能。

7乘24小时运行你的应用程序

机器和进程故障在分布式系统中无处不见。像 Flink 这样的分布式流处理器必须能够在故障中恢复,以便能够 24/7 全天候运行流应用程序。显然,这不仅意味着在发生故障后重新启动应用程序,而且还要确保其内部状态保持一致,以便应用程序可以继续处理,就好像故障从未发生过一样。Flink 提供了几个特性来确保应用程序保持运行并保持一致:

  • Consistent Checkpoints(一致性检查点): Flink 的恢复机制基于应用程序状态的一致检查点。如果出现故障,应用程序将重新启动并从最新的检查点加载其状态。结合可重置的数据流源,此功能可以保证恰好一次的状态一致性。
  • Efficient Checkpoints(高效检查点): 如果应用程序维护数 TB 的状态,则检查应用程序的状态可能会非常昂贵。 Flink 可以执行异步和增量检查点,以保持检查点对应用程序延迟 SLA 的影响非常小
  • End-to-End Exactly-Once(端到端的仅一次性语义):Flink为特定的存储系统提供了事务接收器,保证数据只被写入一次,即使发生故障。
  • Integration with Cluster Managers(集成集群管理器): Flink 与集群管理器紧密集成,例如 Hadoop YARN、MesosKubernetes。当一个进程失败时,一个新进程会自动启动来接管它的工作。
  • High-Availability Setup(高可用设置): 高可用性设置:Flink 具有高可用性模式,可消除所有单点故障。 HA 模式基于 Apache ZooKeeper,这是一种久经考验的可靠分布式协调服务。

更新、迁移、暂停和恢复您的应用程序

维护为关键业务提供支撑的流式应用程序,例如修复漏洞,bug修复或者功能改进。然后更新一个有状态的流式应用程序绝非易事。

flink的Savepoint是一个非常强大的特性,它解决了更新有状态的应用程序的相关问题。Savepoint是应用程序检查点的一致性快照,因此非常类似于检查点,但是与检查点不同的是,Savepoint是需要手动触发的,并且应用程序停止以后不会被删除,保存点可以启用与保存点兼容的应用程序并初始胡器状态。Savepoint启用以下功能:

  • Application Evolution(应用迭代): Savepoint可以用来迭代应用程序。应用的固定版本和改进版本可以取自该应用以前版本保存的Savepoint来重新启动。也可以从较早的时间点启动应用程序,已修正由缺陷版本计算出来的错误结果。
  • Cluster Migration(集群迁移): 使用Savepoint可以将应用程序迁移到其他集群上。
  • Flink Version Updates(flink的版本更新): 使用Savepoint可以将应用程序迁移到新版本的flink集群上。
  • Application Scaling(应用扩展): Savepoint可以用来增加或者减少应用程序的并行度。
  • A/B Tests and What-If Scenarios(A/B测试和假设场景): 通过从同一保存点启动所有版本,可以比较应用程序的两个(或更多)不同版本的性能或质量
  • Pause and Resume(暂停和恢复):通过获取Savepoint来暂停和停止应用程序,在后续的时间里,可以通过该Savepoint来恢复应用。
  • Archiving(存档): 可以存档保存点,以便能够将应用程序的状态重置到较早的时间点。

监控和控制应用程序

就像任何其他服务一样,持续运行的流应用程序需要受到监控并将其集成到组织的运营基础设施中,即监控和日志服务。监控有助于预测问题并提前做出反应。日志记录支持根本原因分析以调查故障。最后,用于控制正在运行的应用程序的易于访问的界面是一个重要功能。

Flink很好地集成了许多常见的日志和监视服务,并提供了一个REST API来控制应用程序和查询信息。

  • Web UI: Flink 具有一个 Web UI 来检查、监视和调试正在运行的应用程序。也可用于提交执行或取消执行
  • Logging: Flink 实现了流行的 slf4j 日志接口,并与日志框架 log4j 或 logback 集成。
  • Metrics:Flink 具有复杂的指标系统来收集和报告系统和用户定义的指标。指标可以导出到多个报告器,包括 JMX、Ganglia、Graphite、Prometheus、StatsD、Datadog 和 Slf4j。
  • REST API: Flink公开REST API以提交新应用程序、获取运行应用程序的保存点或取消应用程序。REST API还公开元数据和收集运行或完成的应用程序指标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值