分布式内存文件系统:Tachyon
来源:互联网 发布:java手机编译器 编辑:程序博客网 时间:2024/05/22 07:06
Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。把Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件。主要职责是将那些不需要落地到DFS里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率。同时可以减少内存冗余,GC时间等。
Tachyon架构
Tachyon的架构是传统的Master—slave架构,这里和Hadoop类似,TachyonMaster里WorkflowManager是 Master进程,因为是为了防止单点问题,通过Zookeeper做了HA,可以部署多台Standby Master。Slave是由Worker Daemon和Ramdisk构成。这里个人理解只有Worker Daemon是基于JVM的,Ramdisk是一个off heap memory。Master和Worker直接的通讯协议是Thrift。
下图来自Tachyon的作者Haoyuan Li:
三、Fault Tolerant
Tachyon是一个分布式文件存储系统,但是如果Tachyon里的容错机制是怎么样的呢?
Tachyon使用血统这个我们在Spark里的RDD里已经很熟悉了,这里也有血统这一概念。会使用血统,通过异步的向Tachyon的底层文件系统做Checkpoint。
当我们向Tachyon里面写入文件的时候,Tachyon会在后台异步的把这个文件给checkpoint到它的底层存储,比如HDFS,S3.. etc...
这里用到了一个Edge的算法,来决定checkpoint的顺序。
比较好的策略是每次当前一个checkpoint完成之后,就会checkpoint一个最新生成的文件。当然想Hadoop,Hive这样的中间文件,需要删除的,是不需要checkpoint的。
下图来自Tachyon的作者Haoyuan Li:
关于重新计算时,资源的分配策略:
目前Tachyon支持2种资源分配策略:
1、优先级的资源分配策略
2、公平调度的分配策略
四、总结
Tachyon是一个基于内存的分布式文件系统,通常位于分布式存储系统和计算框架直接,可以在不同框架内共享内存,同时可以减少内存冗余和基于Jvm内存计算框架的GC时间。
Tachyon也有类似RDD的血统概念,input文件和output文件都是会有血统关系,这样来达到容错。并且Tachyon也利用血统关系,异步的做checkpoint,文件丢失情况下,也能利用两种资源分配策略来优先计算丢失掉的资源。
0 0
- Tachyon 分布式内存文件系统
- Tachyon 分布式内存文件系统
- 分布式内存文件系统Tachyon
- 分布式内存文件系统:Tachyon
- 分布式内存文件系统Tachyon
- 分布式内存文件系统:Tachyon
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- Tachyon:Spark生态系统中的分布式内存文件系统
- 大数据时代——分布式内存文件系统:Tachyon
- Html+CSS text-indent 意义 负值用法与注意事项
- 一种抢红包实现方式
- Searching within TV Apps
- SQL基本语句
- zoj 1586 QS Network
- 分布式内存文件系统:Tachyon
- 如何减小软件包的大小
- C语言int的取值范围
- 身份证验证合法性
- 为apk签名
- UIControl头文件学习
- android studio app有错误解决方法
- git忽略本地修改更新远程仓库内容到本地
- $ionicView执行顺序