2.快照执行池【Ignite实战】默认情况下,快照线程池大小的值为4 。减少快照创建过程中涉及的线程数会增加拍摄快照的总时间 。但是,这会将磁盘负载保持在合理的范围内 。
2.4.2 创建快照Ignite 提供了几个用于创建快照的 API 。
1.使用控制脚本Ignite 提供了支持以下列出的与快照相关的命令的控制脚本:
# Create a cluster snapshot named "snapshot_09062021" in the background:control.(sh|bat) --snapshot create snapshot_09062021# Create a cluster snapshot named "snapshot_09062021" and wait for the entire operation to complete:control.(sh|bat) --snapshot create snapshot_09062021 --sync# Create a cluster snapshot named "snapshot_09062021" in the "/tmp/ignite/snapshots" folder (the full path to the snapshot files will be /tmp/ignite/snapshots/snapshot_09062021):control.(sh|bat) --snapshot create snapshot_09062021 -dest /tmp/ignite/snapshots# Cancel a running snapshot named "snapshot_09062021":control.(sh|bat) --snapshot cancel snapshot_09062021# Kill a running snapshot named "snapshot_09062021":control.(sh|bat) --kill SNAPSHOT snapshot_090620212.使用JMX使用该SnapshotMXBean接口通过 JMX 执行特定于快照的过程:
方法描述createSnapshot(String snpName)创建快照cancelSnapshot(String snpName)
取消节点上的快照已启动其创建3.使用Java API此外,还可以在 Java 中以编程方式创建快照:
CacheConfiguration<Integer, String> ccfg = new CacheConfiguration<>("snapshot-cache");try (IgniteCache<Integer, String> cache = ignite.getOrCreateCache(ccfg)) {cache.put(1, "Maxim");// Start snapshot operation.ignite.snapshot().createSnapshot("snapshot_02092020").get();}finally {ignite.destroyCache(ccfg.getName());}2.4.3 检查快照一致性通常所有集群节点都运行在不同的机器上,并且快照数据分布在整个集群中 。每个节点都存储自己的快照段,因此在某些情况下,可能需要在从快照恢复之前检查快照的数据完整性和整个集群的数据一致性 。
对于这种情况,Apache Ignite 提供了内置的快照一致性检查命令,使您能够验证内部数据一致性,计算数据分区哈希和页面校验和,并在发现问题时打印结果 。check 命令还将主分区的哈希值与相应的备份分区进行比较,并报告任何差异 。
2.4.4 从快照恢复快照可以在停止的集群上手动恢复,也可以在活动的集群上自动恢复 。下面描述了这两个过程,但是,最好只使用控制脚本中的恢复命令 。
1.手动快照恢复过程快照结构类似于 Ignite Native Persistence 的布局,因此对于手动快照还原,您必须仅在具有相同节点的相同集群consistentId和拍摄快照的相同拓扑上执行快照还原 。如果您需要在不同的集群或不同的集群拓扑上恢复快照,请使用 自动快照恢复过程 。
经验总结扩展阅读
- 快读《ASP.NET Core技术内幕与项目实战》WebApi3.1:WebApi最佳实践
- IQueryable和IEnumerable 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘
- Spring事务传播行为实战
- 四十八 SpringCloud微服务实战——搭建企业级开发框架:【移动开发】整合uni-app搭建移动端快速开发框架-使用第三方UI框架
- React +SpreadJS+Echarts 项目实战:在线报价采购系统
- 四十七 SpringCloud微服务实战——搭建企业级开发框架:【移动开发】整合uni-app搭建移动端快速开发框架-添加Axios并实现登录功能
- 【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?
- Module XAF新手入门 - 模块
- 3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架
- 机器学习实战-AdaBoost