基于GFS思想的分布式文件系统Kosmosfs
来源:互联网 发布:人工智能的论文 编辑:程序博客网 时间:2024/05/22 13:08
自从去年Google 发布了他的几款主要产品gfs,bigtable,map-reduce 的相关文档后,一些牛人就马上行动起来,折腾出来实现类似功能的开源产品了,kfs就是其中之一,主要模仿的是gfs的功能。
gfs,bigtable,map-reduce是google产品的三大基石,而这三个产品现在都有了对应的开源实现:
gfs:
kfs(据传google创始人的同窗所创),hdfs(hadoop的子项目)
bigtable:
hbase(hadoop的子项目),Hypertable(从hbase项目组分离出去的,用c++实现)
map-reduce:
hadoop(apache的项目,使用java实现,目前在yahoo全力打造,已可以支持2000个以上的节点并行计算的规模)
还 是先说说KFS吧,这个项目说起来和Google还有点渊源,江湖传闻Google的两个共同创始人佩奇和布林有两个大学同窗,名叫Anand Rajaraman和Venky Harinarayan,是两个印度人,看到Google获得巨大成功之后,心里有点不服气,于是就动手做了个一个新的搜索引擎Kosmix,希望能证明他们的能力也是很强的,在做这个搜索引擎的过程中,他们实现了一个类似GFS的文件系统KFS,并把它开源了。
KFS是用C++写的,但是其客户端支持C++,Java,Python方式的调用。并且,现在已经可以被Hadoop和Hypertable这两个项目支持,作为底层存储。
那么KFS到底有什么特性呢?
- 自动存储扩充(添加新的chunckserver,系统自动感知)
- 有效性(复制机制保证文件有效性,一般文件会被以三种方式存储,当其中一个chunkserver出现错误的时候,不会影响数据的读取;)
- 文件复制粒度:可以配置文件复制的粒度,最大可以被复制64份
- 还原复制:当其中一个Chunckserver出现故障的时候,Metaserver会强制使用其他的chunckserver
- 负载平衡(系统周期地检查chunkservers的磁盘利用,并重新平衡chunkservers的磁盘利用,HDFS现在还没有支持)
- 数据完整性(当要读取数据时检查数据的完整性,如果检验出错使用另外的备份覆盖当前的数据)
- 文 件写入:当一个应用程序创建了一个文件,这个文件名会被立刻写入文件系统,但为了性能,写入的数据会被缓存在kfs客户端.并且周期性的从缓存中把数据更 新到chunkserver中。当然,应用程序也可以强制把数据更新到服务器上。一旦数据被更新到服务器,就可以被有效的读取了。(我怎么能知道这个文件什么时候可以读取了呢?)
- 契约(使用契约来保证Client缓存的数据和文件系统中的文件保持一致性)
- 支持FUSE(在linux系统下,可以通过Fuse 映射一个文件夹,从而可以很方便的读取kfs的文件)
- 支持C++,Java,Python方式的调用
- 提供了丰富的工具程序,如kfsshell,cp2kfs等
- 提供了启动和停止服务的脚本
KFS高级特性:
- 支持同一文件多次写入和Append,不过不能在文件中间插入数据。 (HDFS支持一次写入多次读取,不支持Append)
- 文件及时生效,当应用程序创建一个文件时,文件名在系统马上有效。(HDFS文件只当输入流关闭时才在系统中有效,因此,如果应用程序在关闭前出现异常导致没有关闭输入流,数据将会丢失。)
这一点好像也不是很好,如果输入流中断,在kfs里会留下一个错误的文件,当读取时会出现错误,好像也没有太大的意义。
- 基于GFS思想的分布式文件系统Kosmosfs
- 基于GFS思想的分布式文件系统Kosmosfs
- C++实现的GFS--分布式文件系统KosmosFS的编译和简单部署
- 分布式文件系统 - GFS
- 分布式文件系统GFS问题汇总
- RHCS + GNBD实现基于multipath上的GFS文件系统
- 分布式文件系统架构GFS、HDFS、TFS、Haystack
- GFS、HDFS等分布式文件系统对比介绍
- 基于局域网的分布式文件系统
- [转] KFS,一个克隆GFS的文件系统
- gfs和hdfs文件系统的区别
- [转]Unix下针对邮件,搜索,网络硬盘等海量存储的分布式文件系统项目(关于GFS、MogileFS分布式文件系统邮件列表)
- [转]Unix下针对邮件,搜索,网络硬盘等海量存储的分布式文件系统项目(关于GFS、MogileFS分布式文件系统邮件列表)
- [转]Unix下针对邮件,搜索,网络硬盘等海量存储的分布式文件系统项目(关于GFS、MogileFS分布式文件系统邮件列表)
- [转]Google文件系统(GFS)
- [转]Google文件系统(GFS)
- [转]Google文件系统(GFS)
- GFS文件系统研究
- ABAP - 3D Graphs with SAP
- UNIX/Linux的主要特色
- 实现SAMBA服务随机启动
- WEB打印大全
- 外贸BtoC网站 linux服务器维护 兼职
- 基于GFS思想的分布式文件系统Kosmosfs
- 如何发表高水平论文(转载)
- 术语:Destructuring assignment (解构赋值)
- abap--关于sap地址,传真,邮箱的地址读取
- Linux-read函数
- 2个整数有序数组中相同元素的个数--java实现
- Windows mobile 6.0平台 CoreDll.dll所包含的API
- HR--一个员工的所有主数据(PA*)克隆到一个新员工的程序代码
- 国家自然科学基金(NCFS)申请标书写作全攻略(转载自小木虫)