分布式内存文件系统:Tachyon

标签: 大数据 | 发表时间:2015-02-11 22:23 | 作者:
出处:http://my.oschina.net/apdplat

Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存储在Tachyon里的文件。Tachyon是架构在最底层的分布式文件系统和上层的各种计算框架之间的一种中间件,其主要职责是将那些不需要落地到DFS里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率,减少内存冗余,减少GC时间等。
20140808145905388.png

Tachyon架构 

       Tachyon的架构是传统的Master—Slave架构,这里和Hadoop类似,TachyonMaster里WorkflowManager是 Master进程,因为是为了防止单点问题,所以通过Zookeeper做了HA,可以部署多台Standby Master。Slave是由Worker Daemon和Ramdisk构成。Ramdisk使用off heap memory。Master和Worker直接的通讯协议是Thrift。

      下图是Tachyon的架构

     20140808182040308.png

Fault Tolerant

     Tachyon的容错机制是怎么样的呢?

     Tachyon使用lineage这个我们在Spark的RDD里已经很熟悉的概念,通过异步的向Tachyon的底层文件系统做Checkpoint。

     当我们向Tachyon里面写入文件的时候,Tachyon会在后台异步的把这个文件给checkpoint到它的底层存储,比如HDFS,S3.. etc...

     这里用到了一个Edge的算法,来决定checkpoint的顺序。

     比较好的策略是每次当前一个checkpoint完成之后,就会checkpoint一个最新生成的文件。当然像Hadoop,Hive这样的中间文件,需要删除的,是不需要checkpoint的。

     如下图所示

      20140808175651860.png

    

    关于重新计算时,资源的分配策略:

    目前Tachyon支持2种资源分配策略:

     1、优先级的资源分配策略

     2、公平调度的分配策略

     20140808181858939.png


总结

    Tachyon是一个基于内存的分布式文件系统,通常位于分布式存储系统和计算框架之间,可以在不同框架之间共享内存,同时可以减少内存冗余和基于JVM内存计算框架的GC时间。

    Tachyon也有类似RDD的lineage概念,input文件和output文件都是会有lineage信息,这样来达到容错。并且Tachyon也利用lineage信息,异步的做checkpoint,文件丢失情况下,也能利用两种资源分配策略来优先计算丢失掉的资源。

项目地址: http://tachyon-project.org/index.html


相关 [分布 内存 文件系统] 推荐:

分布式内存文件系统:Tachyon

- - 杨尚川的个人页面
Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存储在Tachyon里的文件. Tachyon是架构在最底层的分布式文件系统和上层的各种计算框架之间的一种中间件,其主要职责是将那些不需要落地到DFS里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率,减少内存冗余,减少GC时间等.

FastDFS分布式文件系统

- - 开源软件 - ITeye博客
       FastDFS是一个开源的轻量级 分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题. 特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册网站、视频网站等等.

FastDFS分布式文件系统架构

- - 企业架构 - ITeye博客
FastDFS分布式文件系统架构.            FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题. 特别适合以文件为载体的在线服务,如相册网站、视频网站等等. 二、 FastDFS系统架构.

开源分布式文件系统GlusterFS 3.3 发布

- - InfoQ cn
Gluster团队在2012年5月31日发布了 GlusterFS 3.3. GlusterFS的上一个稳定版本号是3.2.6,虽然从版本号上看貌似改进并不大,如果你仔细阅读了3.3的新特性列表之后,也许会觉得GlusterFS社区的版本号取得太保守了. 作为Gluster项目的一部分,GlusterFS项目在2005伊始.

[探讨]分布式文件系统的应用及选择

- - CSDN博客推荐文章
当下,互联网行业发展非常迅猛,分布式文件系统在其中的应用也非常普遍. 一些朋友问起一些相关问题,如:. 搜索引擎类的那些页面文本文件存储,用什么DFS比较好. 海量小图片类的,如taobao里头,好多商家图片,用什么存储. 视频类的,如优酷,用什么DFS. 它只需要能把那些文本文件分块分散到各个节点上进行顺序存储就行了.

FastDFS+Nginx轻量级分布式文件系统安装使用

- - Linux - 操作系统 - ITeye博客
FastDFS的安装使用. FastDFS是一个开源的轻量级 分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题. 特别适合以文件为载体的在线服务,如相册网站、视频网站等等. FastDFS服务端有两个角色:跟踪器(tracker)和存储 节点(storage).

分布式文件系统FastDFS设计原理及技术架构

- - mysqlops
FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务. Storage server(后简称storage)以组(卷,group或volume)为单位组织,一个group内包含多台storage机器,数据互为备份,存 储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费.

Hadoop分布式文件系统HDFS和OpenStack对象存储系统Swift有何不同?

- - ITeye博客
HDFS使用 集中式单一节点架构(NameNode)来维护文件系统元数据,而在Swift中,元数据 分布在整个集群中并拥有多个副本. 注意:集中式元数据存储使HDFS存在单点故障和扩展性问题,因此规模越大就性能越低,就越难扩展甚至不能扩展,所幸的是HDFS2使用NameNode HA和HDFS Federation解决了这两个问题.

Ext文件系统

- Haides - 博客园-首页原创精华区
  虽然从Ext2到Ext4,找数据的方式发生了变化,但是,磁盘的布局还是非常相似的. 其实这个东西也不需要变化,因为现在也没什么特别巧妙的方式,而且磁盘的吞吐量、效率的瓶颈也不在这里. 当然,这里排除那些根据自身文件特点设计的数据库,毕竟还是为了支持通用文件.   Boot在第一个块,放的应该是引导程序,超级块就放在了第二个块上,如果不是可以在mount的时候通过参数sb来设置.

你的下一个文件系统——Btrfs

- frocket - K.I.S.S. - 简单哲学
提起 Btrfs ,相信广大折腾帝们都不会陌生,被誉为“下一代 Linux 文件系统”的它,具有扩展性好、支持数据校验、支持多设备管理等等强大特性,使得 Ext4 也只能成为悲剧的过渡产品,还不赶快找一个 Ubuntu 10.10、Fedora 15、Meego 什么的试一下. 支持什么多设备、什么数据校验跟你有一毛钱关系啊.