当前位置: 首页 > article >正文

Flink Job更新和恢复

Checkpoints 的主要目的是为意外失败的作业提供恢复机制。
Savepoints的设计更侧重于可移植性和操作灵活性,尤其是在 job 变更方面。Savepoint 的用例是针对计划中的、手动的运维。例如,可能是更新你的 Flink 版本,更改你的作业图等等。

flink任务逻辑代码修改如何提交

在Apache Flink中,对任务逻辑代码进行修改并提交是一个涉及多个步骤的过程。以下是根据搜索结果提供的步骤和注意事项:

  1. 代码修改

    • 在开发环境中对Flink任务的逻辑代码进行修改。这可能包括更改数据处理逻辑、调整并行度、优化状态管理等。
  2. 单元测试和集成测试

    • 对修改后的代码进行彻底的测试,确保新的逻辑按预期工作。可以使用Flink提供的测试工具和框架进行测试。
  3. 构建和打包

    • 使用Maven或Gradle等构建工具将修改后的代码打包成JAR文件。确保所有依赖项都包含在内。
  4. 测试部署

    • 在测试环境中部署和运行打包后的JAR文件,以验证其在实际运行环境中的表现。
  5. 创建Savepoint

    • 如果需要从旧版本平滑过渡到新版本,可以在停止旧作业之前创建一个savepoint。
  6. 停止旧作业

    • 在生产环境中停止当前运行的Flink作业。如果之前创建了savepoint,可以使用它来恢复状态。
  7. 提交新作业

    • 使用Flink命令行工具或Flink客户端提交新的JAR文件。可以使用以下命令提交作业:
      ./bin/flink run -c your.main.Class your-application.jar
      
    • 如果使用savepoint恢复状态,可以添加-s参数:
      ./bin/flink run -c your.main.Class -s savepointPath your-application.jar
      
  8. 监控和验证

    • 在新作业启动后,密切监控其性能和行为,确保一切正常。可以使用Flink的Web UI来监控作业状态和指标。
  9. 文档更新

    • 更新相关的开发文档和操作文档,以反映代码变更和新的部署信息。
  10. 回滚计划

    • 准备一个回滚计划,以防新作业出现问题。如果新作业运行不稳定,可以使用savepoint快速回滚到旧版本。

在整个过程中,确保遵循最佳实践,如代码审查、持续集成和持续部署(CI/CD)等,以确保代码质量和部署的可靠性。同时,保持与团队成员的沟通,确保每个人都了解变更的内容和影响。

参考:
https://nightlies.apache.org/flink/flink-docs-release-1.20/zh/docs/ops/state/checkpoints_vs_savepoints/


http://www.kler.cn/a/394193.html

相关文章:

  • vue面试题7|[2024-11-14]
  • (六)Spark大数据开发实战:豆瓣电影数据处理与分析(scala版)
  • C++单例模式与多例模式
  • 为什么hbase在大数据领域渐渐消失
  • 学习记录:js算法(九十二):克隆图
  • Llama架构及代码详解
  • 生产模式打包
  • Spring框架之装饰者模式 (Decorator Pattern)
  • 数据库SQL——函数依赖
  • python基础大杂烩
  • 机器学习 贝叶斯公式
  • 设计模式之单例模式和工厂模式(代码+举例)
  • Android 10 默认授权安装app运行时权限(去掉运行时所有权限授权弹窗)
  • Python简单文件操作day9
  • RocketMQ学习笔记
  • vue3 中那些常用 靠copy 的内置函数
  • ChatGPT提问prompt范例模板
  • MySQL高级(二):一条更新语句是如何执行的
  • Flutter:input输入框
  • DOCKER 镜像基础命令
  • Windows 云服务器搭建 FTP 服务
  • 深度学习之全连接、局部连接、全卷积与局部卷积
  • 大数据-224 离线数仓 - 数仓 技术选型 版本选型 系统逻辑架构 数据库命名规范
  • CTF攻防世界小白刷题自学笔记13
  • Mybatis中批量插入foreach优化
  • Jmeter基础篇(22)服务器性能监测工具Nmon的使用