Hadoop作为数据存档系统

时间:2012-08-10 10:28:45

标签: hadoop

我正在分析使用hadoop(HDFS)作为数据存档解决方案的可能性,该解决方案提供线性可扩展性和每个tera字节的低成本维护。

请让我知道您的建议和I / O,内存,磁盘等参数的设置,这些参数必须分析为viz hadoop作为数据存档系统。

在相关查询中,尝试使用hadoop shell上传500MB大小的文件时,

$#我们使用dd

创建了500MB文件

$ dd if = / dev / zero of = 500MBFile.txt bs = 524288000 count = 1

$ hadoop fs -Ddfs.block.size = 67108864 -copyFromLocal 500MBFile.txt / user / cloudera /

请根据块大小(64MB)告诉我为什么输入文件没有被分割。如果我们获得1TB文件,将如何分割和分布在群集中,这将是很好的理解,因为作为数据存档的一部分。

我尝试使用单节点cloudera hadoop设置练习,复制因子为1.

再次感谢您的好评。

3 个答案:

答案 0 :(得分:2)

您可以将HDFS用作存档/存储解决方案,但我怀疑它是最佳的。具体来说,它不像OpenStack Swift那样高,而且不适合存储小文件 同时如果HDFS是您的选择,我建议使用面向存储的节点构建集群。我会将它们描述为:
a)放入大而慢的SATA磁盘。由于数据不会被不断读取/写入 - 桌面级磁盘可能会这样做 - 这将是一个主要的节省。
b)放最小内存 - 我建议4 GB。它不会增加太多成本,但仍然可以实现ocaassional MR处理。
c)Sinlge CPU会做。

关于copyFromLocal。是的,文件根据定义的块大小进行拆分
群集上的分布将在整个群集中进行,并考虑到帐户复制因子。 HDFS还将尝试将每个块放在一个以上的机架上

答案 1 :(得分:1)

您可以.har格式加载文件。

您可以在此处获得更多详细信息:Hadoop Archives

答案 2 :(得分:0)

少量输入

  1. 在您的解决方案中考虑压缩。看起来您将使用文本文件。您可以实现约80%的压缩。
  2. 确保选择Hadoop友好(即可分离)压缩