【摘要】:Tachyon是AMPLab的李浩源所开发的一个基于内存的分布式文件系统,是AMPLab的BDAS的一个组成部分,在协议栈中的位置,如图5.1所示。通过Tach-yon内存分布式文件系统,可以为Spark等计算框架提供内存存储能力。不仅如此,Tachyon内存分布式文件系统可以为集群中部署的计算框架提供内存级别的数据共享,即不同框架中的应用都可以基于Tachyon来共享数据。
Tachyon是AMPLab的李浩源所开发的一个基于内存的分布式文件系统,是AMPLab的BDAS的一个组成部分,在协议栈中的位置,如图5.1所示。
图5.1 伯克利数据分析协议栈
Spark内存计算框架,只是提供了强大的内存计算能力,并未提供存储能力。通过Tach-yon内存分布式文件系统,可以为Spark等计算框架提供内存存储能力。不仅如此,Tachyon内存分布式文件系统可以为集群中部署的计算框架提供内存级别的数据共享,即不同框架中的应用都可以基于Tachyon来共享数据。
Spark计算框架内跨进程的数据共享:存储引擎和计算引擎在同一个进程(JVM)内,不同的Jobs之间共享数据是通过磁盘(disk)读写来实现的,如图5.2所示。
图5.2 Spark计算框架内跨进程的数据共享
Spark计算框架与Hadoop计算框架间的数据共享也需要通过磁盘读写来实现,如图5.3所示。
基于Tachyon,可以实现多个计算框架间的数据共享,如图5.4所示。(www.xing528.com)
同时,单独抽离出一个内存分布式文件系统,还可以避免由于计算框架执行失败而导致数据丢失等问题,比如Spark内部进程崩溃(crash)而导致的内存数据丢失问题,如图5.5所示。
图5.3 Spark与Hadoop间的disk数据共享
图5.4 Spark与Hadoop间的Tachyon数据共享
图5.5 进程crash而导致的内存数据丢失
使用Tachyon不仅可以避免多个框架多个内存缓存,还避免了因进程崩溃(crash)而导致的数据丢失问题,同时还引入了堆外内存(off-heap memory)技术来降低GC的开销。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。