写点什么

Tachyon:一个高性能、高容错、基于内存的开源分布式存储系统

  • 2015-03-26
  • 本文字数:1529 字

    阅读完需:约 5 分钟

从 Tachyon 的官网得知,Tachyon 是一个高性能、高容错、基于内存的开源分布式存储系统,并具有类Java 的文件API、插件式的底层文件系统、兼容Hadoop MapReduce 和 Apache Spark 等特征。Tachyon 能够为集群框架(如 Spark、MapReduce 等)提供内存级速度的跨集群文件共享服务。Tachyon 充分使用内存和文件对象之间的世代(Lineage)信息,因此速度很快,官方号称最高比HDFS 吞吐量高300 倍。目前,很多公司(如Pivotal、EMC、红帽等)已经在使用Tachyon,并且来自20 个组织或公司(如雅虎、英特、红帽等)的60 多个贡献者都在为其贡献代码。Tachyon 是于 UC Berkeley 数据分析栈 ( BDAS ) 的存储层,它还是 Fedroa 操作系统自带应用

Tachyon 具有的重要特征如下:

  • 类 Java 的文件 API: Tachyon 的原生 API 同 Java 的文件类非常相似,并提供了 InputStream 和 OutputStream 接口,还支持内存映射 IO;
  • 兼容 MapReduce 和 Spark:Tachyon 实现了 Hadoop 的 FileSystem 接口,因此,MapReduce 和 Spark 无需做任何修改就可以使用 Tachyon;
  • 插件式的底层文件系统:Tachyon 基于 Hadoop 并从底层重建了 Hadoop 平台。Tachyon 具有一个通用、方便于接入不同底层文件系统的接口。目前支持的文件系统包括 HDFS、S3、GlusterFS、单节点本地文件系统等,对其他文件系统的支持将很快实现。
  • 支持本地原始表:Tachyon 提供了对多列数据的本地支持,且提供了选择项,以决定是否将 Hot 列放入内存以节省空间;
  • 浏览文件系统的 Web 界面:用户能够通过 Web 界面浏览文件系统,尤其在 Debug 模式下,管理员还能够查看每个文件的详细信息,如文件位置、检查点(Checkpoint)路径等;
  • 支持命令行交互: 用户能够使用命令“./bin/tachyon tfs”同 Tachyon 进行交互,如往文件系统中复制数据以及从文件系统往外复制数据;
  • 高容错性:Tachyon 具有良好的容错机制,Master 和 Worker 都有自己的容错方式。Master 使用 ZooKeeper 进行容错,Master 中保存的元数据使用 Journal 进行容错,Master 还对各个 Worker 的状态进行监控,发现 Worker 失效时会自动重启对应的 Worker。对于具体的文件数据,Tachyon 使用世代关系进行容错。

Tachyon 采用了 Master-Worker 模式,运行中的 Tachyon 系统由一个 Master 和多个 Worker 构成。Tachyon Master 管理全部文件的元数据信息,同时也负责监控各个 Tachyon Worker 的状态。为了高效地对文件进行管理,Tachyon 文件在内存中按块组织。文件和块信息保存在 Master 端,每个 Worker 以块为单位进行存储和管理。Tachyon 的架构如下图所示:

Tachyon 诞生于 UC Berkeley 的 AMPLab ,由该实验室的计算机在读博士李浩源初创,并基于 Apache License 2.0 开源协议发布,代码托管在 GitHub ,其当前最新版本为 0.6.1 。去年 10 份,李浩源在接受 InfoQ 采访时曾表示:

长期来讲,他们对待 Tachyon 会像对待 Apache Mesos 和 Apache Spark 一样,Tachyon 也会进入 Apache 软件基金会,这里欢迎更多的开发者加入。

近日,从华尔街日报消息得知,Tachyon 获得了硅谷风投 A16Z 的 750 万美元 A 轮投资。AMPLab 的项目还包括与 Hadoop 相似、启用了内存分布数据集的开源集群计算环境 Spark 、类似于基于键 / 值存储的 SQL 查询语言 PIQL 、基于分布式系统的机器学习系统 MLBase 、多核和大型 SMP 系统的操作系统 Akaros 、低延迟计算集群调度系统 Sparrow 等。此外,Tachyon 官网还提供了相关文档,如用户文档开发者文档等。更多关于Tachyon 的信息,读者可以登录其官网或其GitHub 提供的 Wiki 页面查看。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-26 06:408615
用户头像

发布了 46 篇内容, 共 55.0 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

人人视频被迫下架:打击盗版视频网站任重道远

石头IT视角

分布式认知工业互联网如何赋能工业企业数字化转型?

CECBC

阿里都会问些什么?4面阿里余额宝Java高级技术岗

Java架构师迁哥

本科毕业六年,备战一个月,四面阿里巴巴定级P7

Java架构师迁哥

聚焦机器同传前沿进展,第二届机器同传研讨会将在NAACL举办

百度大脑

人工智能 机器

全过程智慧教育,看北京四中网校和亚马逊云科技如何实现?| 精选案例

亚马逊云科技 (Amazon Web Services)

Java--JVM运行流程

是老郭啊

Java JVM JVM原理

即时通讯系列-WorkPlus简介

BeeWorks

开源 即时通讯 IM 办公自动化

为什么说产品经理也要学点技术?

LigaAI

产品经理 研发管理 技术团队 产品设计与思考

5W1H聊开源之What——开源协议有哪些?

禅道项目管理

开源

软件研发团队如何做好项目进度管理?

万事ONES

项目管理 研发管理 需求 ONES

不管是三胎还是App!指望“拉新”太难了,还是要靠老用户!

APP开发

学妹问,学网站开发还是打 ACM?

程序员鱼皮

Java 程序员 算法 大前端 ACM

从底层原理出发,了解Linux内核之内存管理

Linux服务器开发

后端 操作系统 内存管理 Linux内核 底层原理

限流篇,欣赏阿里开源Sentinel

下雨喽

架构 设计 sentinel 限流

HTTPS协议

IT视界

🏆【声网 Agora】「PC端实现实时语音通讯4.x」

码界西柚

WebRTC RTC征文大赛 声网 6月日更

给你一直尝试和创新的机会!走进亚马逊云科技MRC团队

亚马逊云科技 (Amazon Web Services)

加快技术应用规模化 建设世界先进水平区块链产业生态

CECBC

探讨AI人才培养新思路,2021北京智源大会百度AI人才培养论坛召开

百度大脑

AI 人才培养

《原则》(八)

Changing Lin

6月日更

项目管理与项目集管理、项目组合管理的区别?

万事ONES

项目管理 项目 PMO ONES

JavaScript 中数组 sort() 方法的基本使用

编程三昧

JavaScript 大前端 数组 排序 js

别乱打日志了,这才是正确的打日志姿势!

xcbeyond

日志 规范 6月日更

大陆集团携手亚马逊云科技打造创新的汽车软件平台

亚马逊云科技 (Amazon Web Services)

深度剖析:Redis分布式锁到底安全吗?看完这篇文章彻底懂了!

Kaito

redis zookeeper 分布式 后端

iOS开发-Objective-C 中的 MVVM 模式介绍

iOSer

ios objective-c MVVM ios开发

不愧是清华大佬,一个联机对战游戏就把23种设计模式给抽丝剥茧了

Java架构师迁哥

上云就上百度智能云,百度智能计算峰会召开,AI原生云全新升级

百度大脑

AI 智能云 峰会

国内低代码产品是如何定位的?这3类,企业可自行对号入座

优秀

低代码

区块链+金融:当前区块链应用场景中最具活力的领域

CECBC

Tachyon:一个高性能、高容错、基于内存的开源分布式存储系统_后端_李小兵_InfoQ精选文章