文档章节

分布式内存文件系统:Tachyon

杨尚川
 杨尚川
发布于 2015/02/11 22:23
字数 637
阅读 1263
收藏 22

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


© 著作权归作者所有

杨尚川

杨尚川

粉丝 1103
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
加载中

评论(3)

martin416
martin416
你好,有个tachyon的问题想请教下:就是我在2个机器上建立了2个worker,分别分配了1G的大小,那我现在想导入一个1.5g的文件的话,目前只会在一个worker上占满1g,然后把剩下的0.5g放到underFS上去,我想问的是,怎么能够共用2个机器的worker,就是这1.5g的文件,有1g放在一个worker上,0.5g放在另外的一个worker上?我设置的BlockSize大小是512MB, 谢谢!
杨尚川
杨尚川 博主

引用来自“宝贵”的评论

杨老师,请教个问题。tachyon是如何管理,自己的内存中的文件的,一般大数据情况下,可能上TB的数据,他是如何加载到内存中的,如何突破JVM的内存限制的。
首先,数据不是只能存放在一台电脑的内存里面,而是能存放在多台电脑的内存里面。一台电脑的内存就能搞定的事,也就没必要用Tachyon了。 其次,对单台电脑来说,如果使用64位JDK,使用1EB内存都没问题。
宝贵
宝贵
杨老师,请教个问题。tachyon是如何管理,自己的内存中的文件的,一般大数据情况下,可能上TB的数据,他是如何加载到内存中的,如何突破JVM的内存限制的。
分布式内存文件系统Tachyon介绍

1、Tachyon介绍 1.1 Tachyon简介 随着实时计算的需求日益增多,分布式内存计算也持续升温,怎样将海量数据近乎实时地处理,或者说怎样把离线批处理的速度再提升到一个新的高度是当前研究的重...

莫问viva
2016/02/16
332
0
Tachyon:Spark生态系统中的分布式内存文件系统

Tachyon是Spark生态系统内快速崛起的一个新项目。 本质上, Tachyon是个分布式的内存文件系统, 它在减轻Spark内存压力的同时,也赋予了Spark内存快速大量数据读写的能力。Tachyon把内存存储...

cloud-coder
2015/07/07
288
0
Spark生态圈的分布式文件系统-Tachyon

Tachyon 是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,类似Spark和MapReduce。通过利用lineage信息,积极地使用内存,Tachyon的吞吐量要比HDFS高300多倍...

openthings
2016/03/09
390
0
本周推荐开源软件 —— Tachyon 分布式存储系统

Tachyon 是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,类似Spark和 MapReduce。通过利用lineage信息,积极地使用内存,Tachyon的吞吐量要比HDFS高300多倍...

oschina
2015/05/03
50
0
第 139 章 Tachyon

Tachyon 是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,类似Spark和 MapReduce。通过利用lineage信息,积极地使用内存,Tachyon的吞吐量要比HDFS高300多倍...

玄学酱
2017/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

还为PDF转Word抓狂?以下神器让你在职场倍受欢迎!

身在职场的你,是否一直在琢磨:如何能让自己在公司更受欢迎?如何才能在办公室里混个好人缘?如何在同事圈里留个好印象?其实,想要让自己成为受欢迎的人,只要让自己成为大家需要的人不就行...

foxit2world
16分钟前
6
0
AndServer+Service打造Android服务器实现so文件调用

so 文件调用 随着 Android 移动安全的高速发展,不管是为了执行效率还是程序的安全性等,关键代码下沉 native 层已成为基本操作。 native 层的开发就是通指的 JNI/NDK 开发,通过 JNI 可以实...

夜幕NightTeam
18分钟前
3
0
Docker下kafka学习三部曲之二:本地环境搭建

在上一章《 Docker下kafka学习,三部曲之一:极速体验kafka》中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来学习如何编写...

程序员欣宸
18分钟前
4
0
萌新推荐!不再为Excel转换PDF发愁,Aspose.Cells for .NET一步到位!

Aspose.Cells for .NET(点击下载)是Excel电子表格编程API,可加快电子表格管理和处理任务,支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序。 将Excel工作簿转换为...

mnrssj
19分钟前
6
0
对于绘画小白怎么画制服?该注意什么?

怎样制作学生服装?想必绘画初学者们常常会想的问题吧,不知道怎样才能画好人物的衣服,别着急,今日就在这儿讲一些关于如何绘画学生衣服校服的教程给我们!期望能够帮到你们! 轻便西装是不...

热爱画画的我
24分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部