用其他nosql数据库替换hadoop中的hdfs需要付出什么努力。这需要做多少工作?有人有什么好的wiki或链接来描述它吗?它是否像为该数据库实现文件系统接口那样简单?我找到了几篇关于其他ppl如何修改hadoop来生成定制发行版的文章,但还没有找到替代hdfs的指南。谢谢,帕斯
fd3cxomn1#
实现自己的dfs接口并使其与hadoop一起工作相对简单。您所需要的只是文件和目录的文件系统概念与存储之间的某种逻辑Map。在nosql的情况下(如果我假设keyvalue),您应该决定如何表示目录。你可以做一些特殊的节点,也可以把路径放进键中。另一个决策点-决定是否关心数据局部性关于文档,我认为s3n dfs实现的源代码是最好的起点。我认为一个很好的例子是hadoop对cassandra所做的datasaxhttp://www.datastax.com/另一个例子(我们最近做的事情)是hadoop与openstack swift的集成。http://bigdatacraft.com/archives/349
s1ag04yj2#
其实我不久前就这么做了,因为hdfs上的磁盘空间限制限制了我们的备份和存储策略,所以我们讨论了使用s3n替代hdfs,看起来这是一个相当标准的操作。您需要在hadoop-site.xml或hdfs-site.xml中添加以下属性:
<property> <name>fs.default.name</name> <value>s3://BUCKET</value> </property> <property> <name>fs.s3.awsAccessKeyId</name> <value>ID</value> </property> <property> <name>fs.s3.awsSecretAccessKey</name> <value>SECRET</value> </property>
你可以在这里找到更多关于设置的细节。值得注意的一点是,由于本例中的数据存储在amazons3上,因此需要获取数据,因为它不再是本地数据,但对性能的影响似乎没有我最初担心的那么大。我还没试过,但你肯定应该看看hdfs的替代品是qfs fron quantcast,我已经听说了一些好东西,基准测试似乎使它比hdfs更快。
2条答案
按热度按时间fd3cxomn1#
实现自己的dfs接口并使其与hadoop一起工作相对简单。您所需要的只是文件和目录的文件系统概念与存储之间的某种逻辑Map。
在nosql的情况下(如果我假设keyvalue),您应该决定如何表示目录。你可以做一些特殊的节点,也可以把路径放进键中。
另一个决策点-决定是否关心数据局部性
关于文档,我认为s3n dfs实现的源代码是最好的起点。
我认为一个很好的例子是hadoop对cassandra所做的datasaxhttp://www.datastax.com/
另一个例子(我们最近做的事情)是hadoop与openstack swift的集成。http://bigdatacraft.com/archives/349
s1ag04yj2#
其实我不久前就这么做了,因为hdfs上的磁盘空间限制限制了我们的备份和存储策略,所以我们讨论了使用s3n替代hdfs,看起来这是一个相当标准的操作。
您需要在hadoop-site.xml或hdfs-site.xml中添加以下属性:
你可以在这里找到更多关于设置的细节。值得注意的一点是,由于本例中的数据存储在amazons3上,因此需要获取数据,因为它不再是本地数据,但对性能的影响似乎没有我最初担心的那么大。
我还没试过,但你肯定应该看看hdfs的替代品是qfs fron quantcast,我已经听说了一些好东西,基准测试似乎使它比hdfs更快。