1.Tachyon简介
来源:互联网 发布:php的魔术方法 编辑:程序博客网 时间:2024/06/05 11:14
Tachyon是以内存为中心的分布式文件系统,能够为集群计算框架(如:Spark,MapReduce等)提供内存级速度的跨集群文件共享服务。
1.1 Tachyon特征
1) Tachyon‘s的原生API类似JAVA的文件API
2) 兼容性:Tachyon实现了HDFS接口。故MapReduce和Spark无需任何修改可以运行在Tachyon上。
3) 插件式的底层文件系统:为提高容错性。Tachyon对内存数据通过checkpoint到UFS(例如:HDFS, S3, GlusterFS, and single-node local file systems)。
1.2 Spark内存计算面临问题
1)Spark共享数据问题:当两个Spark作业需要共享数据时,必须通过写磁盘操作。磁盘的读写可能造成性能瓶颈。
2)Spark自身JVM数据缓存问题:Spark程序崩溃时,JVM进程退出,所缓存数据也随之丢失,因此在工作重启时又需要从HDFS把数据再次读出。
3)Spark缓存数据冗余问题:两个Spark作业需操作相同的数据时,每个作业的JVM都需要缓存一份数据,不但造成资源浪费,也极易引发频繁的垃圾收集,造成性能的降低。
针对Spark中遇到的这些问题,根本原因可以归结到数据存储问题。作为计算框架的Spark尝试自行存储管理,不能专注Spark计算,造成整体执行效率降低。而Tachyon是一个分布式内存文件系统,可以减轻spark内存压力并且使得Spark快速大量完成数据读写。Tachyon把Spark的存储和计算分离,使用Spark专注计算,通过Tachyon来进行数据存储。
1.3 Tachyon如何Spark面临问题
Tachyon通过下面的3中方式来解决Spark内存计算过程所产生的问题
1)Spark共享数据问题:当两个Spark作业需要共享数据时,无需再通过写磁盘,而是借助Tachyon进行内存读写,从而提高计算效率。
2)Spark自身JVM数据缓存问题:在使用Tachyon对数据进行缓存后,即便在Spark程序崩溃JVM进程退出后,所缓存数据也不会丢失。这样,Spark工作重启时可以直接从Tachyon内存读取数据了。
3)Spark缓存数据冗余问题:当两个Spark作业需要操作相同的数据时,它们可以直接从Tachyon获取,并不需要各自缓存一份数据,从而降低JVM内存压力,减少垃圾收集发生的频率。
1.4 Tachyon的部署结构
在存储方面:Tachyon提供了多个文件系统的实现(比如:HDFS等);
在计算方面:不需要修改Tachyon代码,仅需要通过简单配置就可以完成Spark,MapReduce与Tachyon的集成,而Tachyon作为中间层,提供Spark和MapReduce与HDFS之间数据共享的桥梁。
通过下面的部署结构来观察他们之间的关系:
- 1.Tachyon简介
- Tachyon简介
- Tachyon简介
- Tachyon简介
- Spark & Shark & Tachyon 简介
- Spark & Shark & Tachyon 简介
- Tachyon
- tachyon
- Tachyon简介及目前可用性分析
- Tachyon学习及源码阅读:简介
- Tachyon简介及目前可用性分析
- tachyon实探
- tachyon 实例
- spark && Tachyon
- 4. Tachyon安装-Tachyon本地模式搭建
- 4. Tachyon安装-Tachyon集群模式搭建
- 集群部署 Tachyon
- tachyon相关信息
- KM算法求带权二分图的最大匹配(完备匹配)
- LocalBroadcastManager 使用小结
- RxJava 详解
- spark的StorageLevel源码分析
- 第一个冒泡算法 C语言
- 1.Tachyon简介
- 架构之路(三):单元测试
- AppDelegate中几个常用的回调调用时机
- 百度地图的简单实用 iOS
- 数据库用索引为什么比不用索引更快
- android内存泄漏的原因
- 2.Tachyon实现原理
- 应用之间调用 UIApplication类的OpenURL方法
- 1、MyEclipse的常用配置