如何为Hadoop集群选择合适的硬件?
比特网 发表于:12年11月12日 09:00 [转载] 比特网
这里有几个IO密集型工作例子:
1.索引
2.搜索
3.分组
4.解码/解压缩
5.数据导入和导出
这里有几个CPU密集型工作例子:
1.机器学习
2.复杂的文本挖掘
3.自然语言处理
4.特征提取
为了充分优化他们的Hadoop硬件,我们的客户需要了解他们的工作负载,在开始的时候,我们经常面临典型的鸡和蛋的问题。大部分团队在建立一个 Hadoop集群时还不知道他们的工作负载特征,往往运行Hadoop的第一个任务,和他们熟练精通之后的使用方式大相径庭。此外,有些工作负载可能会受 到无法预料的方式限制。例如,有时理论上IO密集型工作实际上可能因为用户选择了压缩方式而变为CPU密集型。有时可能使用不同算法改变了 MapReduce作业的限制。由于这些原因,当团队不熟悉需要运行的工作负载特点时,他们运行一个平衡型的Hadoop集群是有道理的。一旦他们在平衡 型集群上开始运行,团队可以建立MapReduce作业的基准,逐步了解他们的特点。
通过全面监控Hadoop集群,直接测量实际工作负载和确定瓶颈所在。我们建议在所有Hadoop机器上安装Ganglia提供实时统计,有关 CPU,磁盘和网络负载。安装了Ganglia,Hadoop的管理员可以运行自己的MapReduce作业,并检查Ganglia仪表盘来观察每一台机器执行情况。
除了与工作负载适配的集群建设,我们鼓励客户能够与硬件厂商探讨和了解供电和制冷的经济选择方案。由于Hadoop需要运行几十,几百或上千个节点,投资于低功耗硬件,一个运营团队可以节省相当数量的钱。每个硬件厂商都能够提供如何监控供电和制冷的工具和建议。
