hadoop

s5a0g9ez  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(180)

用其他nosql数据库替换hadoop中的hdfs需要付出什么努力。这需要做多少工作?有人有什么好的wiki或链接来描述它吗?它是否像为该数据库实现文件系统接口那样简单?
我找到了几篇关于其他ppl如何修改hadoop来生成定制发行版的文章,但还没有找到替代hdfs的指南。
谢谢,帕斯

fd3cxomn

fd3cxomn1#

实现自己的dfs接口并使其与hadoop一起工作相对简单。您所需要的只是文件和目录的文件系统概念与存储之间的某种逻辑Map。
在nosql的情况下(如果我假设keyvalue),您应该决定如何表示目录。你可以做一些特殊的节点,也可以把路径放进键中。
另一个决策点-决定是否关心数据局部性
关于文档,我认为s3n dfs实现的源代码是最好的起点。
我认为一个很好的例子是hadoop对cassandra所做的datasaxhttp://www.datastax.com/
另一个例子(我们最近做的事情)是hadoop与openstack swift的集成。http://bigdatacraft.com/archives/349

s1ag04yj

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更快。

相关问题