Tachyon内存文件系统

Tachyon作为一个位于大数据计算框架和存储系统之间的中间层,旨在解决数据共享的性能问题。通过内存单副本及lineage数据恢复技术,提供比HDFS更快的写性能,减少任务执行时间。它支持HDFS、S3和GlusterFS等后端文件系统,并通过ZooKeeper和Journal实现容错。Tachyon利用心跳机制进行通信和状态检查,确保系统稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tachyon内存文件系统

     Tachyon是以内存为中心的分布式文件系统,拥有高性能和容错能力,能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。

      从软件栈的层次来看,Tachyon是位于现有大数据计算框架和大数据存储系统之间的独立的一层。它利用底层文件系统作为备份,对于上层应用来说,Tachyon就是一个分布式文件系统。

     从Tachyon项目的介绍可以看到, tachyon解决Spark/MapReduce框架数据共享的性能问题。 大数据业务一般是一个任务流, 任务流由一组相互依赖的任务组成, 一个任务的输出往往是另外一组任务的输入, 任务间数据共享是一个强需求。 最常见的数据共享方式是HDFS, 这种方式性能低下, 主要问题有: (1) HDD或者是SSD带宽都比较有限, (2) HDFS三副本写入性能损失较大, (3) 文件可能被多次缓存, 浪费内存。 Tachyon的目标就是解决数据共享的性能问题, 解决方法也很极端 —— 内存单副本。 当然简单的内存单副本会导致数据丢失, Tachyon采用lineage数据恢复技术保证数据可靠性。 根据相关论文的测试数据, Tachyon的写性能是HDFS的110倍, 任务流执行时间降低到1/4。
Tachyon concept

     如上图所示, tachyon介于存储系统和计算框架之间, 缓存计算任务读写的文件, 目前Tachyon支持HDFS, S3和GlusterFS这几个后端文件系统。 引入Tachyon后, Spark/MapReduce任务程序不需要修改, 但是Spark、MapReduce框架自身要做一个200~300行代码的小Patch, 因为计算框架在产生输出之前, 必须先将数据lineage关系告知Tachyon, Tachyon记录lineage信息到磁盘, 用于实现数据的故障恢复。

Tachyon arch

     如上图所示, Tachyon文件系统的架构非常类似HDFS, 全局有一个Master管理元数据, Woker负责数据读写, 文件数据存储到在Ramdisk中。

      容错机制: 作为分布式文件系统,Tachyon具有良好的容错机制,Master和Worker都有自己的容错方式。

从之前的系统架构图中也可看出,Master支持使用ZooKeeper进行容错。同时,Master中保存的元数据使用Journal进行容错,具体包括Editlog——记录所有对元数据的操作,以及Image——持久化元数据信息。此外,Master还对各个Worker的状态进行监控,发现Worker失效时会自动重启对应的Worker。

      对于具体的文件数据,使用血统关系(Lineage)进行容错。文件元数据中记录了文件之间的依赖关系,当文件丢失时,能够根据依赖关系进行重计算来恢复文件数据。


                                             
       心跳机制:

在Tachyon中,心跳(HeartBeat)用于两个方面:Master, Worker, Client之间的定期通信;Master, Worker自身的定期状态自检。具体地:

  • Client向Master发送心跳信号:表示Client仍处于连接中,Client释放连接后重新连接会获得新的UserId
  • Client向Worker发送心跳信号:表示Client仍处于连接中,释放连接后Worker会回收该Client的用户空间
  • Worker自检,同时向Master发送心跳信号:Worker将自己的存储空间信息更新给Master(容量,移除的块信息),同时清理超时的用户,回收用户空间
  • Master自检:检查所有Worker的状态,若有Worker失效,会统计丢失的文件并尝试重启该Worker
   参考资料: 
  • http://tachyon-project.org/
  • Tachyon: Reliable, memory speed storage for cluster computing frameworks
Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。把Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件。主要职责是将那些不需要落地到DFS里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率。同时可以减少内存冗余,GC时间等。        特性:类 Java 的文件 API兼容性:实现 Hadoop 文件系统接口可插入式的底层文件系统内建 Raw 原生表的支持基于 Web 的 UI 提供命令行接口Tachyon 架构:与 HDFS 的比较:        Hadoop足够快吗?美国加州大学伯克利分校的AMPLab基于Hadoop的核心组件开发出一个更快的版本Tachyon。AMPLab从底层重建了Hadoop平台,“没有最快,只有更快”。        AMPLab在大数据领域最知名的产品是Spark,它是一个内存中并行处理的框架,Spark的创造者声称:使用Shark运行并行处理Job速度要比MapReduce快100倍。又因为Spark是在内存运行,所以Shark可与Druid或者SAP's HANA系统一较高下。Spark也为ClearStory下一代分析和可视化服务提供处理引擎。如果你喜欢用Hive作为Hadoop的数据仓库,那么你一定会喜欢Shark,因为它代表了“Hive on Spark”。       AMPLab的最新目标就是Hadoop分布式文件系统(HDFS),不过HDFS在可用性和速度方面一直受人诟病,所以AMPLab创建了Tachyon( 在High Scalability上非常夺目,引起了Derrick Harris的注意)。       当然,AMPLab并不是第一个对HDFS提出质疑的组织,同时也有很多商业版本可供选择,像Quantcast就自己开发了开源文件系统,声称其在运行大规模文件系统时速度更快、更高效。诚然,AMPLab所做的工作就是打破现有商业软件的瓶颈限制。如果碰巧破坏了现状,那么就顺其自然吧!不过,对于用户来说,AMPLab只是为那些寻找合适工具的人员提供了一种新的选择,AMPLab的合作伙伴和赞助商包括谷歌,Facebook,微软和亚马逊网络服务,它们当然非常乐意看到这些新技术,如果很有必要的话。       AMPLab的其他项目包括PIQL,类似于一种基于键/值存储的SQL查询语言;MLBase,基于分布式系统的机器学习系统;Akaros,一个多核和大型SMP系统的操作系统;Sparrow,一个低延迟计算集群调度系统。Tachyon可运行在如下任意平台上: 标签:分布式  文件系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值