嗨,我正在尝试设置hadoop环境。简而言之,我试图解决的问题涉及数十亿个大小为几MB的XML文件,使用HIVE从它们中提取相关信息,并对这些信息做一些分析工作。我知道这在hadoop世界中是一个微不足道的问题,但是如果Hadoop解决方案对我来说比我要处理的文件的大小和数量更好的话,我要处理的文件的几何形式就会增加。
我参考了"Hadoop -明确指南“、"Hadoop在行动中”等各种书籍进行了研究。资源如雅虎和hortonworks的文档。我无法找到建立hadoop环境的硬件/software规范。在我所提到的资源中,我找到了一些标准的解决方案,比如
但如果有人能给出一些建议,那就太好了。谢谢
发布于 2013-03-04 15:39:47
首先,我建议您考虑:您需要更多的处理+一些存储或相反的,并从这个角度选择硬件。你的案子听起来更像是处理而不是存储。
我会为hadoop指定一些不同的标准硬件。
NameNode:高质量的镜像磁盘,16 GB硬盘。
数据节点: 16-24 GB RAM,双四核或双六核CPU,4到6 1-2-3 SATA TB驱动器.
我还会考虑10个GBit选项。我认为,如果不超过集群价格的15% --这是有道理的。15%来自粗略估计,从映射器到减速机的数据传送大约需要15%的工作时间。
在您的情况下,我更愿意牺牲磁盘大小来节省费用,但不愿牺牲CPU/内存/驱动器的数量。
发布于 2013-03-07 06:44:19
“使用hive从它们中提取相关信息”,这有点棘手,因为hive在xml文件方面做得并不好。您将希望用另一种语言(ruby、python、perl等)构建解析脚本,该脚本可以解析xml文件并生成将加载到单元格中的列式输出。然后,您可以使用hive调用带有转换的外部解析脚本,也可以只使用hive来为hive准备数据。然后,这只是一个问题,你需要多快完成工作,以及你需要多少空间来保存你将要拥有的数据量。
您可以在一个系统上用几个文件来构建这个过程来测试它。但是,您确实需要更好地处理总体计划的工作负载,才能适当地扩展集群。最小生产集群大小将是3或4台机器的最低限度,只是为了数据冗余。除此之外,根据需要添加节点以满足您的工作负载需求。
https://stackoverflow.com/questions/15204286
复制相似问题