随着企业对降本提效的重视和资源成本管控成本的提高,一些新兴企业选择了EMR on VKE,这种在弹性容器上自动配置和管理开源大数据框架的解决方案。通过将EMR部署在火山引擎的安全容器中,企业能够在同一个弹性集群上无缝运行大数据应用和其他类型的应用程序,特别是像Spark这样具有明显波峰波谷特性的应用。这种部署方式不仅提高了资源的利用率,还简化了基础设施的管理。
选择EMR on VKE的用户通常具备一定的自主运维能力,且在线应用规模较大的企业,这类客户倾向于在同一弹性容器集群上部署 大数据(EMR) 和其他应用程序,以便在多个解决方案之间共享资源并实现操作和管理的标准化。这样的部署策略使得企业能够更加灵活地应对业务需求的变化,同时保持了运维的一致性和效率。
快速搭建离在线混部处理(文件、数据)框架
- 将 Spark/Ray 引擎部署在 VKE 节点,根据业务切割保持单集群的规模在万核规模;
- 通过分布式计算框架迭代计算:
Ray |
---|
- 相对于Spark,更加轻量级;
- Shuffle机制比较简单;
- 轻量级,C++相对于Java,执行效率更高;
- 常用于视频/文本的分析
|
- 采用 Remote Shuffle 解决数据倾斜问题,提升任务运行稳定性和执行效率
提升方向 | Remote Shuffle 场景描述 |
---|
提高性能 | - Remote Shuffle 通过减少网络请求的次数和优化数据传输,降低了网络延迟和提高了数据传输效率;
- 通过合并多个小文件为大文件,改善了磁盘的顺序读写性能,减少了随机 I/O,从而提升了作业的整体性能;
- 在大数据量场景下,Remote Shuffle 通过中心化的决策能力,如负载均衡,可以更有效地管理物理机的 I/O,提升性能。
|
增强稳定性 | - Remote Shuffle 通过存算分离架构,使得 Shuffle 服务的稳定性不受计算节点稳定性的影响;
- 引入了流量控制机制,如 Credit-based 流量控制,避免下游消费者节点因数据量过大而压力过大;
- 提供了更好的容错性和自我恢复能力,通过心跳和状态同步机制来维护集群状态的最终一致性。
|
提升资源利用率 | - Remote Shuffle 通过减少计算节点的磁盘使用,降低了对本地磁盘的依赖,使得 Spark 作业可以在资源受限的环境中更有效地运行;
- 通过优化内存使用,如使用受管理的内存,减少了内存溢出的风险,提高了作业的稳定性。
|
简化部署和运维 | - Remote Shuffle Service 作为一个独立的服务,简化了 Spark 作业的部署和运维工作;
- 提供了丰富的监控指标,方便用户监控系统的运行状态,简化了问题定位和故障排查。
|
采用EMR on VKE Spark/Ray基础镜像,可以灵活打入自定义库和Python包。
- 监控运维
- 作业日志/服务日志统一配置到日志服务tls里,资源释放后可以回看。
- 作业监控指标汇总到火山引擎全托管Grafana,集中统一查看,资源释放后可以回看。