我想分析7TB的数据,并将输出存储在数据库中,比如HBase。我每月的增量是500 go,但要分析500 go的数据,我不需要再次查看7TB的数据。
目前我正在考虑使用Hadoop和Hive来分析数据,使用Hadoop和MapReducer和HBase来处理和存储数据。
目前我有5台机器,配置如下:
数据节点服务器配置: 2-2.5 Ghz六核CPU、48 GB RAM、1 TB -7200 RPM (X 8)
数据节点数:5
名称节点服务器:企业级服务器配置(X 2) (额外1个,用于辅助服务器
我想知道以上过程是否足够满足要求,以及是否有人有任何建议。
发布于 2016-02-05 20:28:53
大小调整 Hortonworks提供了一个公式来计算您的大小
((初始大小+同比增长+中间数据大小)*剩余计数* 1.2) /Comp比率
假设默认变量
repl_count == 3(默认值) comp_ration = 3-4 (默认值)中间数据大小=原始数据大小的30%-50%。- 1,2系数-临时空间
因此,在第一年,您将需要16.9 TB。您拥有8 8TB*5 == 40。所以空间不是主题。
Performance 5数据节点。在单个驱动器上读取1 TB数据平均需要2.5小时( Hadoop来源-权威指南)。600 GB,一个驱动器需要1.5个小时。
内存消耗
48 GB不是很多。许多数据节点的默认RAM从128 GB开始。如果您仅将集群用于处理,则可能会成功。另外,您如何配置集群以及使用哪些技术进行处理,这也取决于此。如果你有并发访问,你可能会遇到堆错误。
总结一下:
这在很大程度上取决于你想对集群做什么,以及你的查询有多复杂。还要记住,并发访问可能会产生问题。
如果处理600 GB数据18分钟时间(作为基准-实际值取决于许多未知因素对这些问题的回答)就足够了,并且您没有并发访问,那就试试吧。
发布于 2016-02-08 15:54:07
我建议在到达时转换数据。通过切换到列式压缩格式,如ORC或Parquet,Hive可以极大地提高速度。我们讨论的是潜在的x30-x40乘以improvements in queries performance。有了最新的蜂窝,你可以在兽人文件上利用streaming data ingest。
你可以让事情按计划进行(HBase +蜂窝),只需依靠蛮力5x (6核,48 to,7200rpm),但你不需要这样做。一些工作可以让您进入交互式即席查询时间域,这将打开数据分析。
https://stackoverflow.com/questions/35222487
复制相似问题