文档章节

分布式内存文件系统:Tachyon

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


© 著作权归作者所有

共有 人打赏支持
杨尚川

杨尚川

粉丝 1085
博文 218
码字总数 1620540
作品 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
Tachyon:Spark生态系统中的分布式内存文件系统

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

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

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

openthings
2016/03/09
270
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

go语言学习总结

一、描述 go语言是直接将源码编译成二进制机器码的语言;它支持面向对象、也支持函数式编程;支持并发很容易; 二、基本语法学习路径 https://studygolang.com/subject/2...

盼望明天
29分钟前
2
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
40分钟前
1
0
Java中的坑之方括号

Java中的坑之方括号 这一段时间,在做项目的时候,发现了一个坑,这个坑说大不大,说小不小,不知道的足够喝一壶,知道的就可以轻松解决。 问题描述 在做数据统计的时候,遇见了如下形式的数...

星汉
50分钟前
2
0
[雪峰磁针石博客]python机器学习、web开发等书籍汇总

Building Machine Learning Systems with Python Third Edition - 2018.pdf 下载地址 Get more from your data by creating practical machine learning systems with Python Key Features ......

python测试开发人工智能安全
今天
1
0
文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部