文档章节

分布式内存文件系统:Tachyon

杨尚川
 杨尚川
发布于 2015/02/11 22:23
字数 637
阅读 1222
收藏 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


© 著作权归作者所有

共有 人打赏支持
杨尚川

杨尚川

粉丝 1093
博文 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
301
0
Spark生态圈的分布式文件系统-Tachyon

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

openthings
2016/03/09
270
0
Tachyon:Spark生态系统中的分布式内存文件系统

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

cloud-coder
2015/07/07
0
0
本周推荐开源软件 —— Tachyon 分布式存储系统

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

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

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

玄学酱
2017/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
24分钟前
0
0
vm GC 日志 配置及查看

-XX:+PrintGCDetails 打印 gc 日志 -XX:+PrintTenuringDistribution 监控晋升分布 -XX:+PrintGCTimeStamps 包含时间戳 -XX:+printGCDateStamps 包含时间 -Xloggc:<filename> 可以将数据保存为......

Canaan_
昨天
0
0
学习设计模式——生成器模式

1. 认识生成器模式 1. 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 2. 组成: Builder:生成器接口,定义创建一个Product对象所需要的各个组件的操作,...

江左煤郎
昨天
0
0
C语言精要(第二章:基本数据类型)

2.1 C语言基本数据类型 在计算机术语中,把⼆进制数中的某⼀位数又称为⼀个⽐特(bit)。⽐特这个单位对于计算机⽽⾔,在度量上是最⼩的单位。除了⽐特之外,还有字节(byte)这个术语。⼀个...

ryanliue
昨天
0
0
实现下拉菜单多选框效果

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><li>工作意愿地:<%-- <c:forEach items="${list}" var="list"><input type="checkbox" value="${list......

lanjian28
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部