优化网站性能,wordpress文章页调用分类列表,最近发生的军事事件,企业网站推广方案上海11月4日#xff0c;在2021腾讯数字生态大会上#xff0c;腾讯宣布将开源自主研发的分布式远程Shuffle服务Firestorm。该服务的开源不但可以助推分布式计算的云原生部署#xff0c;还能解决大数据分布式计算过程中的痛点#xff0c;提升计算资源的利用率。 在分布式计算领域…11月4日在2021腾讯数字生态大会上腾讯宣布将开源自主研发的分布式远程Shuffle服务Firestorm。该服务的开源不但可以助推分布式计算的云原生部署还能解决大数据分布式计算过程中的痛点提升计算资源的利用率。 在分布式计算领域Shuffle过程由于存在着磁盘IO随机读写问题一直是分布式计算任务的性能瓶颈除了降低计算任务的运行效率还降低硬件资源的利用率。同时由于Shuffle过程对于本地磁盘有容量需求(如Spark计算引擎)对于计算引擎的云原生化也制造了阻碍。近年来云原生的需求不断增加而和大数据息息相关的分布式计算领域也在不断探索如何云原生化这样的课题。业界对于Shuffle过程存在的问题越来越关注改善的需求也越来越迫切不但出现了各种解决方案部分国外厂商也开源了相关的实现。 腾讯大数据团队在推进云原生的过程中也遇到了相同的问题由于缺乏一个通用便于扩展的远程Shuffle服务的开源方案团队提议进行自研并最终开源回馈社区Firestorm则在这样的背景下应然而生。相比已经开源的同类服务腾讯Firestorm能适用于更多的应用场景更灵活的接入各类分布式计算引擎还能支持各种不同的存储系统。 为了达到支持云原生的部署模式并提升计算资源的使用率Firestorm具备诸多特性:
1. 支持多种集群部署模式。Firestorm将Shuffle数据存储在了远程因此计算集群将不再需要大量存储空间。同时大数据集群的部署模式也变得更加灵活基于Firestorm计算存储分离计算存储混布在线离线混布等部署模式都得到很好的支撑。
2. 支持Shuffle数据聚合。Firestorm通过服务端对Shuffle数据进行分拣操作从而达到了数据聚合的目的大幅降低了在Shuffle过程中对于磁盘的随机访问。同时Firestorm在客户端和服务端都使用了数据缓存机制最大化利用内存资源从而降低了磁盘访问的性能损耗。
3. 灵活适配各种计算引擎和存储方式。Firestorm在实现上采用了计算引擎和存储方式的解耦因此能通过实现引擎侧接口灵活支持各类计算引擎(如SparkMR等)。同样对于Shuffle数据的存储方式也能支持如本地文件HDFS文件及混合模式等。
4. 支持Shuffle数据的正确性校验。Firestorm以Block为单位存储Shuffle数据对于每个Block都会存储CRC值等元数据。基于这些元数据不但能过滤无效数据还能检测数据在整条链路的传递过程中是否缺失完整保障计算任务执行过程中的数据正确性。
5. 支持整体架构多活模式。Firestorm采用了主从架构能更好的管理集群的状况在任务调度过程中也能采用更灵活的调度方式提高整体集群资源利用率。为了满足服务高可用对于主节点还增加了主-备多活模式提升了集群服务的稳定性。
6. 支持多种指标监控。Firestorm对于集群的运行状况采集了大量的运行时指标基于这些指标能实时掌握集群的负载及健康状况在使用过程中及时准确地发现问题便于问题的排查。
7. 支持服务在线升级。Firestorm具备节点黑名单功能客户度和服务端也采用了版本匹配机制。基于这些特征Firestorm能实现在生产环境在线升级同时做到应用无感知增强了生产的实用性。 目前Firestorm在腾讯内部已经在近万台规模的在线离线混布集群落地每天支撑近5W的分布式计算作业每天的Shuffle数据量接近2PB已经达到了初期制定的第一阶段目标具备了相当的生产环境成熟度。除此以外Firestorm在Shuffle数据量较大的分布式计算任务中能显著提升性能和成功率有效支撑现网Shuffle量100TB的分布式作业。 腾讯大数据团队表示“将腾讯自主研发的分布式远程Shuffle服务Firestorm开源不仅可以将腾讯在大数据分布式计算领域的技术和经验和全球开发者分享还能够汲取该领域在全球范围内的优秀理念最终推动分布式计算领域在云原生时代的进一步发展。” 未来团队还会进一步对其优化在开源后腾讯也将和社区的开发者一起对Firestorm不断完善。 开源版本地址
https://github.com/Tencent/Firestorm
欢迎大家关注和star同时也欢迎各位优秀的开发者加入腾讯大数据研发团队。