分享

hadoop搭建集群系列问题一:集群整体设计

linshi0591 发表于 2014-3-20 09:13:37 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 8 9558
这是搭建一个完整的hadoop集群会碰到的一系列问题,会陆续提问。请各位大神不吝指教。谢谢!

项目情况:
每天新增1千万条记录,数据库文件大约是20G左右
hadoop集群版本使用:hadoop2.2.0( CDH5版 )
每个节点的硬件配置:双核cpu,i3,4G内存  ( 两台namenode的配置:16G内存 )


问题1:当前项目情况下,怎么计算hadoop的最佳节点数?所谓的最佳是指:能够以较快的速度处理这些数据,所需要的最低节点数量

问题2:计算所需节点数需要考虑的问题有哪些?计算的规则有哪些?


PS:
http://www.aboutyun.com/forum.ph ... tid=7163&page=1
这个帖子中,已经有人给过回复,但是回复中并没有我想要的答案。因为我还是不知道,怎么样才能够计算出我需要的节点数。

已有(8)人评论

跳转到指定楼层
灰太狼_V0 发表于 2014-3-20 13:29:47
对于map reduce来说
     如果你的作业是计算密集型的 那么应该按照cpu设置slots,一般一个CPU一个slot。如果为了试验,可以适当提高。
     如果是io密集型的,就需要估算任务数的瓶颈,来设定slots了。
对于hdfs
     先预估需要存储文件的总大小+map reduce临时文件大小,如果集群能存下就OK,datanode一般占网络比较多。
还有一些需要额外注意的:
    namenode、jobtracker和master分属不同的机器
    小集群hbase.master可以只有1个,大集群建议有3个。
    namenode、jobtracker所在机器不为regionserver
    namenode所在机器最好不跑tasktracker
    其他所有机器可以都为datanode和tasktracker。
回复

使用道具 举报

灰太狼_V0 发表于 2014-3-20 13:35:06
其实对于io密集型的,也可以通过参数maptasks.limit.pertracker来限制。
所以我们都是按照cpu来决定slots数,仅供参考。
回复

使用道具 举报

linshi0591 发表于 2014-3-20 22:17:21
@灰太狼_V0   谢谢
回复

使用道具 举报

linshi0591 发表于 2014-3-20 22:36:17
关于slot的概念

slot是 Hadoop的资源单位,它是一个逻辑概念,一个节点的slot的数量用来表示某个节点的资源的容量或者说是能力的大小。
Hadoop利用slots来管理分配节点的资源。每个Job申请资源以slots为单位,每个节点会确定自己的计算能力以及memory确定自己包含的 slots总量。当某个Job要开始执行时,先向JobTracker申请slots,JobTracker分配空闲的slots,Job再占用 slots,Job结束后,归还slots。

PS:slot是Hadoop1.x的资源单位。Hadoop新的资源管理模式是YARN
回复

使用道具 举报

linshi0591 发表于 2014-3-20 22:38:02
问题解决,感谢  @灰太狼_V0  的解答。

谢谢各位帮忙解答的大神。
回复

使用道具 举报

wkzyehui 发表于 2014-3-27 15:48:27
不明觉厉啊
回复

使用道具 举报

471505881qq 发表于 2014-4-1 11:33:19

谢谢楼主的分享!
回复

使用道具 举报

Mr.j 发表于 2014-4-4 13:45:37
学习学习,感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条