我想分析7tb的数据并将输出存储在数据库中,比如说hbase。我每月的增量是500gb,但要分析500gb的数据,我不需要再处理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个)
我想知道,鉴于要求,上述流程是否足够,是否有人有任何建议。
2条答案
按热度按时间li9yvcax1#
尺码hortonworks提供了一个公式来计算您的尺码
((初始规模+同比增长+中间数据规模)repl cpount1.2)/比较比率
假设默认变量
repl\u count==3(默认值)comp\u ration=3-4(默认值)intermediate data size=30%-50%的原始数据大小。-1,2 factor-临时空间
所以第一年需要16.9 tb。您有8tb*5==40。所以空间不是主题。
性能5数据节点。在单个驱动器上读取1 tb平均需要2.5小时(源代码hadoop-权威指南)。一个驱动器600 gb需要1.5小时。估计您已经进行了复制,以便可以并行使用所有5个节点,这意味着用5个节点读取整个数据最多需要18分钟。
您可能需要添加更多的时间,这取决于您对查询所做的操作以及如何配置数据处理。
内存消耗
48GB并不多。许多数据节点的默认ram从128 gb开始。如果只将集群用于处理,则可能会成功。还取决于您如何配置集群以及使用哪些技术进行处理。如果您具有并发访问权限,则可能会遇到堆错误。
总而言之:
这在很大程度上取决于您想对集群做什么以及查询的复杂程度。还要记住,并发访问可能会产生问题。
如果对600 gb数据处理18分钟的时间(作为基线-实际值取决于许多未知因素,回答这些问题)就足够了,并且您没有并发访问,那么就这样做吧。
xuo3flqw2#
我建议在到达时转换数据。Hive可以给巨大的速度提升切换到一列压缩格式,如兽人或Parquet。我们讨论的是查询性能的潜在x30-x40倍改进。使用最新的配置单元,您可以利用orc文件上的流式数据摄取。
你可以让事情按计划进行(hbase+hive),只需依靠bruteforce5x(6核,48gb,7200rpm),但你不必这样做。一点工作可以让您进入交互式的即席查询时间域,这将打开数据分析。