💡
原文中文,约9800字,阅读约需24分钟。
📝
内容提要
AWS EMR 支持使用 Spot 实例运行大数据任务,但实例中断可能导致 Spark 任务重算。通过引入 Apache Celeborn 的远程 Shuffle 服务,将 Shuffle 数据存储在远程,提升容错能力,减少重算开销,最大化 Spot 实例的成本优势。测试显示,使用 Celeborn 后,即使 Spot 实例中断,任务也能完成,降低了运行成本。
🎯
关键要点
- AWS EMR 支持使用 Spot 实例来降低大数据工作负载的成本,但中断可能导致 Spark 任务重算。
- 引入 Apache Celeborn 的远程 Shuffle 服务可以存储 Shuffle 数据,提高容错能力,减少重算开销。
- Celeborn 是一个 Apache 顶级项目,旨在减少计算实例意外终止导致的重算开销并提升性能。
- Celeborn 的核心设计包括 Push Shuffle 和 Partition 聚合,优化了数据存储和读取过程。
- Celeborn 的架构由 Master、Worker 和 Client 组成,负责管理集群状态和 Shuffle 数据的存储。
- Celeborn 的工作流程包括注册 Worker、请求存储 Slot、推送 Shuffle 数据等步骤。
- 测试中,使用 Celeborn 避免了 Spot 实例中断导致的重算,验证了其有效性。
- Celeborn 通过存算分离解决了 Shuffle 数据丢失的问题,最大化了 Spot 实例的成本优势。
➡️