分布式远程Shuffle服务Firestorm
-
Firestorm 作为一个远程 的Shuffle 服务,它为 Apache Spark 应用程序提供了在远程服务器上存储 shuffle 数据的能力。Firestorm的特点是能够支持多种集群部署模式。
Firestorm服务将Shuffle数据存储在了远程服务端,因此计算集群将不再需要大量存储空间。同时,大数据集群的部署模式也随之变得更加灵活,基于Firestorm服务不仅能够计算存储分离,计算存储混布,在线离线混布等部署模式都得到很好的支撑。支持Shuffle数据聚合。Firestorm服务通过服务端对Shuffle数据进行分拣操作,从而达到了数据聚合的目的,大幅降低了在Shuffle过程中对于磁盘的随机访问。同时,Firestorm在客户端和服务端都使用了数据缓存机制,最大化利用内存资源,从而降低了磁盘访问的性能损耗。灵活适配各种计算引擎和存储方式。
Firestorm服务在实现上采用了计算引擎和存储方式的解耦,因此能通过实现引擎侧接口,灵活支持各类计算引擎。同样,对于Shuffle数据的存储方式也能支持,比如本地文件、HDFS文件、或者是混合模式等。支持Shuffle数据的正确性校验。Firestorm服务是用blocj为计量单位存储Shuffle数据,对于每个Block单位都会存储CRC值等元数据。而这些crc元数据,不但能够起到过滤无效数据,还能很大效率的检测数据在整条链路的传递过程中是否缺失,完整,保障计算任务执行过程中的数据正确性。支持整体架构多活模式。
Firestorm服务采用了主从架构,能更好的管理集群的状况,在任务调度过程中也能采用更灵活的调度方式,提高整体集群资源利用率。为了满足服务高可用,对于主节点还增加了主-备多活模式,提升了集群服务的稳定性。支持多种指标监控。Firestorm对于集群的运行状况,采集了大量的运行时指标,基于这些指标能实时掌握集群的负载及健康状况,在使用过程中及时准确地发现问题,便于问题的排查。支持服务在线升级。Firestorm具备节点黑名单功能,客户端和服务端也采用了版本匹配机制。基于这些特征,Firestorm能实现在生产环境在线升级,同时做到应用无感知,增强了生产的实用性。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏