Tachyon简介及目前可用性分析

来源:互联网 发布:淘宝直通车删除计划 编辑:程序博客网 时间:2024/06/05 11:23

简介

翻译tachyon wiki上的介绍

Tachyon是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和 MapReduce那样。通过利用信息继承,内存侵入,Tachyon获得了高性能。Tachyon工作集文件缓存在内存中,并且让不同的 Jobs/Queries以及框架都能内存的速度来访问缓存文件”。因此,Tachyon可以减少那些需要经常使用的数据集通过访问磁盘来获得的次数。


使用

鉴于Tachyon也是AMP实验室开发的项目,属Spark整个生态环境里的一部分,原本打算尝试让Spark/Shark在Tachyon上跑,看看速度/性能有没有一些提升。


Tachyon目前发布的release版本是0.2的,支持CDH3。支持CDH4的tachyon-0.3版本还未发布,不过可以在0.3-branch上下载到,需要自己编译打包,依赖的jdk是1.7的。想要部署cluster,让Spark和Shark在上面跑的话,可以参考下面几份wiki,

[html] view plain copy
  1. https://github.com/amplab/tachyon/wiki/Running-Tachyon-on-a-Cluster  
  2. https://github.com/amplab/tachyon/wiki/Running-Spark-on-Tachyon  
  3. https://github.com/amplab/tachyon/wiki/Running-Shark-on-Tachyon  
部署和使用还是很方便的,可以用
[html] view plain copy
  1. ./start.sh SudoMount  
启动master和所有workers,然后在webui上看到worker情况以及FileSystem内已经存储的文件情况。
[html] view plain copy
  1. ./run-tests.sh  
测试文件里,写死了$MASTER_ADDRESS的端口,如果在/conf/tachyon-env.sh里修改了端口的话,需要保持一致。


可用性

最近新发布的shark-0.8,发布的pre-built版本是默认不支持tachyon的,因为shark-0.8的标配是spark-0.8,scala-2.9.3和cdh4,而tachyon的支持cdh4的0.3版本如上所述还未正式发布,所以我在shark-0.8上基于tachyon create table的时候,提示版本不支持。具体在SharkBuild.scala里可以看到编译的时候没有enable:

[java] view plain copy
  1. // Shark version  
  2.   val SHARK_VERSION = "0.8.0"  
  3.   
  4.   val SPARK_VERSION = "0.8.0-incubating"  
  5.   
  6.   val SCALA_VERSION = "2.9.3"  
  7.   
  8.   // Hadoop version to build against. For example, "0.20.2", "0.20.205.0", or  
  9.   // "1.0.1" for Apache releases, or "0.20.2-cdh3u3" for Cloudera Hadoop.  
  10.   val DEFAULT_HADOOP_VERSION = "1.0.4"  
  11.   
  12.   lazy val hadoopVersion = env("SHARK_HADOOP_VERSION") orElse  
  13.                            env("SPARK_HADOOP_VERSION") getOrElse  
  14.                            DEFAULT_HADOOP_VERSION  
  15.   
  16.   // Whether to build Shark with Yarn support  
  17.   val YARN_ENABLED = env("SHARK_YARN").getOrElse("false").toBoolean  
  18.   
  19.   // Whether to build Shark with Tachyon jar.  
  20.   val TACHYON_ENABLED = false  
另一方面,我用shark-0.7跑的时候,会出一些奇怪的问题,在google的tachyon user上看了相关帖子,很多问题和bug都说会在0.3或者future release中解决,觉得tachyon还不够成熟和稳定,暂时还不敢继续尝试使用。至少等到0.3正式发布,再观望一下情况。
1 0
原创粉丝点击