【摘要】近日,人气开源分布式内存文件系统Tachyon正式更名为Alluxio,并发布了1.0版本。...Alluxio(前Tachyon)起源于我读博期间在 UC Berkeley AMPLab实验室的一个研究项目,那时候Spark和Mesos正在快速发展,我们见证了Spark和Mesos分别在计算、资源管理方面的强大能力...项目从Tachyon更名为Alluxio,目的是为保护其免于可能的商标诉讼同时保护国际范围内开源软件社区贡献的知识产权。...原文链接:Alluxio, formerly Tachyon, is Entering a New Era with 1.0 release 译者简介:牛亚真,中科院计算机信息处理专业硕士研究生,关注大数据技术和数据挖掘方向
Tachyon Tachyon不单解决了我们数据存储的问题还将目前的部署速度提升到了一个新台阶。...下面是我们部署Tachyon之后的工作流程。 ? 橙色箭头代表我们将数据的中间结果存储到Tachyon以方便以后读取。...在Tachyon主节点上的配置由下面五步组成: 1.修改tachyon-env.sh配置文件 export TACHYON_WORKER_MEMORY_SIZE=${TACHYON_WORKER_MEMORY_SIZE.../bin/tachyon copyDir ./conf/ 3.格式化Tachyon ./bin/tachyon format 4.部署Tachyon。...Tachyon与Spark的结合使用 Tachyon中数据的读写非常简单,因为它所提供的文件API与Java类似。
本文将先向读者介绍Tachyon在Spark生态系统中的使用,也将分享百度在大数据平台上利用Tachyon取得的性能改善的用例,以及在实际使用Tachyon过程中遇到的一些问题和解决方案。...Tachyon系统架构 在上一章我们介绍了Tachyon的设计,本章我们来简单看看Tachyon的系统架构以及实现。...所有的Tachyon Worker都被Tachyon Master所管理,Tachyon Master通过Tachyon Worker定时发出的心跳来判断Worker是否已经崩溃以及每个Worker剩余的内存空间量...在Tachyon Client实现中最主要的是Tachyon File这个部件。...图7: Tachyon缓存数据逻辑 Tachyon的一些新功能 我们把Tachyon当作缓存来使用,但是每台机器的内存有限,内存很快会被用完。
提到Lineage的容错机制,不得不提Tachyon。...Tachyon包含两个维度的容错,一个是Tachyon集群的元数据的容错,它采用了类似于HDFS的Name Node的元数据容错机制,即将元数据保存到一个Image文件,并且保存了元数据变化的编辑日志(...另外一个是Tachyon保存的数据的容错机制,这个机制类似于RDD的Lineage,Tachyon会保留生成文件数据的Lineage,在数据丢失时会通过这个Lineage来恢复数据。...现在Tachyon的容错机制的实现还处于开发阶段,并不推荐将这个机制应用于生产环境。不过,这并不影响Spark使用Tachyon。...如果Spark保存到Tachyon的部分数据丢失,那么Spark会根据自有的容错机制来重算这部分数据。
第四章 存储体系 这章主要讲的就是如何存储,包括存内存,存硬盘,还有存Tachyon 这个图写画得灰常好,下面是对其中序号的解释。...4)表示访问远端节点的Executor的TransportServer进行Block的上传或者下载 5)为远端Executor提供Block的上传或者下载服务 6)表示当前存储体系选择Tachyon...存储,对于BlockManager的读写设计上调用的是Tachyon的putBytes、putArray、getBytes、getValue等等。...Tachyon存储TachyonStore Tachyon其实就是一种分布式文件系统。和Spark一样,也使用了Master和Worker的架构。...它也实现了BlockStore的get、put方法,然后这些方法又都调用了TachyonStore的方法将数据写入Tachyon的分布式内存中。
Shark,提供机器学习功能的系统MLbase及底层的分布式机器学习库MLlib、并行图计算框架GraphX、流计算框架Spark Streaming、采样近似计算查询引擎BlinkDB、内存分布式文件系统Tachyon...(6)Tachyon Tachyon是一个分布式内存文件系统,可以理解为内存中的HDFS。为了提供更高的性能,将数据存储剥离Java Heap。...用户可以基于Tachyon实现RDD或者文件的跨应用共享,并提供高容错机制,保证数据的可靠性。 (7)Mesos Mesos是一个资源管理框架[插图],提供类似于YARN的功能。
补充问题: 文件系统是Sponge的一项核心技术,是否可以把SpongeFS和分布式内存文件系统做一下Tachyon比较?...李东:Tachyon和Sponge都提供了一个In-Memory的分布式存储系统,这一点是类似的。...但是如果用户要access在Tachyon里面的数据,则需要使用Tachyon提供的API或者特殊CLI指令,很不方便。...Tachyon往往无法独立使用,因为它没有自己的persist文件系统,需要plug-in第三方文件系统比如HDFS,这样用户又要多管理一个系统。...Tachyon可能的一个优点是对于Spark的RDD off-heap存储的支持。我们也考虑过提供同样的接口给Spark使用,让Spark把Sponge当做Tachyon一样来用。
LineRecordReader(job, (FileSplit) genericSplit, recordDelimiterBytes); 还有就是识别不同系统的过程,比如hdfs ,本地file,tachyon...val conf: Configuration = broadcastedConf.value.value 由此可以得到结论是tachyon使用是依赖,必须方法系统类加载器的Classpath中去
整合支持 支持Flink on YARN 支持HDFS 支持来自Kafka的输入数据 支持Apache HBase 支持Hadoop程序 支持Tachyon 支持ElasticSearch 支持RabbitMQ...其次,Flink 也宣布支持了 Tachyon、S3 以及 MapRFS。...不过对于 Tachyon 以及 S3 的支持,都是通过 Hadoop HDFS 这层包装实现的,也就是说要使用 Tachyon 和 S3,就必须有 Hadoop,而且要更改 Hadoop 的配置(core-site.xml
OFF_HEAP (experimental) 将RDD以序列化的方式存储在 Tachyon. 与 MEMORY_ONLY_SER相比, OFF_HEAP减少了垃圾回收。...更重要的是,因为RDD存储在Tachyon上,执行体的崩溃不会造成缓存的丢失。在这种模式下.Tachyon中的内存是可丢弃的,这样 Tachyon 对于从内存中挤出的块不会试图重建它。...如果你打算使用Tachyon作为堆缓存,Spark提供了与Tachyon相兼容的版本。
生态圈其他组件 前面所讲的是Spark当中需要掌握的重点组件,而除此之外,还有Tachyon、BlinkDB、Mesos等组件,也提供相应的支持。...Tachyon: 以内存为中心的分布式文件系统,提供内存级别速度的跨集群框架(如Spark和MapReduce)的可信文件共享,可绕过HDFS,以更快地速度执行。
而基于当下内存计算框架存在的普遍挑战,内存文件系统Tachyon得到了显著地关注,并在大量场景中得以部署,就拿下文提到的Spark来说:可以用作不同计算框架的数据共享,以避免磁盘IO;用以缓存数据,从而避免了...此外,Tachyon还被用作远程数据缓存,服务于即席查询。在内存为王的时代,Tachyon前景不可小觑。
例如,我们在Spark之上一层引入Redis分布式缓存,从而减少对存储分析数据的服务器IO;例如,我们可以对存储层做一些改进,在Hadoop HDFS与Spark之间引入Tachyon会是一个不错的选择...倘若引入Tachyon作为内存中的文件存储,则选择Parquet而非传统的关系型数据库也自有其合理之处。
为了解决这个问题,我们引入了Tachyon[6]中间层,数据交换实际上在内存中进行了。...而且,使用了Tachyon之后还解决了Spark任务进程崩溃后就要丢失进程中的所有数据的问题,因为此时数据都在Tachyon里面了,从而进一步提升了Spark的性能。...Tachyon自身也具有较强的容错性,Tachyon集群的master通过ZooKeeper[7]来管理,down机时会自动选举出新的leader,并且worker会自动连接到新的leader上。...2015年1月29日 The Apache Software Foundation, http://hadoop.apache.org UC Berkeley AMP Lab, http://www.tachyon-project.org
运行Spark时,应用的中间结果会通过磁盘传递,势必会影响到性能,而业内李浩源的Tachyon可以剥离spark,并且对HDFS文件系统有很好的支持,在不更改用户使用情况下大幅度提高性能,当下也受到Intel...Tachyon印证了储存系统应该更好利用内存的大趋势。我预测未来越来越多的存储系统会有这方面的考虑和设计,Spark项目的原则就是能够更好的利用下层的储存系统,所以我们也会对这方面做出支持。...值得注意的是,把shuffle数据放入Tachyon或者HDFS cache(HDFS的新功能)其实不是一个好的优化模式。原因是shuffle每个数据块本身非常的小,而元数据量非常的多。...直接把shuffle数据写入Tachyon或者HDFS这种分布式储存系统多半会直接击垮这些系统的元数据存储,反而导致性能下降。 CSDN:算法方面考虑。
第二个组件是基于Mesos构建的Tachyon文件系统 。Tachyon提供了一个分布式文件系统的抽象以及在集群间进行文件操作的接口。...在实际的实施方案中,作为运算工具的Spark,是基于Tachyon和Mesos来实现的,尽管不用Tachyon,甚至是不用Mesos也可以实现。
顺带普及一下内存的知识: Stack and Heap 堆和栈的区别 我们在第一节课讲了一个 Tachyon现在改名叫Alluxio他是基于内存的一个文件系统,也是Berkeley技术架构下的一个系统...,Tachyon可以和Spark进行整合,整合好了以后,如果想用堆外内存来持久化,就需要设置这种类型,明白吗?...如果你没有整合Tachyon,在程序里面还使用了这个级别,程序会给你报错。...现在Tachyon用的公司还很少,国内阿里、百度、华为才有一定规模的内存分布式文件系统的集群 另外序列化的数据在持久化的时候会小一些,但带来的就像加解密一样,会影响性能。
www.zhihu.com/question/336446443 SOSP‘2019——SJTU-IPADS的集体见闻 https://mp.weixin.qq.com/s/IQbBD_RxbeecrlPUiKcLjQ Tachyon
"${SPARK_HOME}/sbin/spark-config.sh" # 启动Master "${SPARK_HOME}/sbin"/start-master.sh $TACHYON_STR #...启动Worker "${SPARK_HOME}/sbin"/start-slaves.sh $TACHYON_STR start-master.sh ...... # 类名 CLASS="org.apache.spark.deploy.master.Master
领取专属 10元无门槛券
手把手带您无忧上云