ITPub博客

首页 > 大数据 > Hadoop > 跨机房的hadoop集群

跨机房的hadoop集群

Hadoop 作者:谎言之月 时间:2013-11-24 10:33:03 0 删除 编辑

  这是来自于阿里技术嘉年华的一个分享,因为在百度也考虑过类似的事情,所以听得比较有感悟,这里把相关内容整理一下。

  首先需要说明一点,fgsj1123跨机房hadoop可能应用场景并不是很多,国内像BAT这种巨头也许需要,但是大部分的中小公司也许并不需要这个,也许这是个屠龙之技,呵呵。

  把这个问题分三段来讲,第一段是问题出现的背景,第二段是解决该问题的难点,第三段是最终的解决方案。

  (一) 背景:

  先要看下为什么需要做一个跨机房的大集群?

  大集群的优点在于数据管理和授权容易(这个问题在一个多部门的大公司还是很重要的);跨部门的使用数据容易,无需重复拉取数据。

  在集群达到一定规模时,单机房(机房内的容量是有限的)已经无法满足集群的需求了,要想一劳永逸的解决问题,需要建设一个跨机房的hadoop集群。

  (二)技术挑战:

  2.1 NameNode的性能问题:

  在管理一个巨大的hadoop集群时,由于原始的Namenode是单节点,因此会成为一个性能瓶颈,遇到的性能问题主要包括两方面:存储容量问题(存储元数据)和计算压力(处理rpc请求,修改内存树时候需要全局锁)问题。

  其中存储容量问题可以依赖内存的垂直扩展来解决,但是计算压力却很难通过提升硬件来解决(因为目前厂商的主要发展方向是多核,而非提高主频)

  2.2机房之间的网络限制:

  机房之间的网络永远是个硬件条件的限制,跨机房的网络传输带来了数据延时和带宽限制:

  1, 延时一般是在10ms之内,而hadoop上大部分运行的是离线作业,基本可接受

  2, 带宽限制的问题比较大,因为单机房内的点对点带宽一般是在1Gbps,而机房之间的带宽确在20Mbps左右,非常有限。

  2.3资源组之间的管理

  每个部门可以看做一个资源组,它们可能会互相使用对方的数据,因此如何规划计算和存储的位置就很重要,否则会在多个机房之间出现大量的数据拷贝。

  (三)解决方案:

  先看下整个跨集群hadoop的架构图:

  重点介绍里面三点,也就是和上面三个问题相对应的:

  1, 可以看到这里画出了两个NN(namenode),它们实际上还是属于一个hadoop集群,这是业界里的一个解决方案:HDFS Fedaration,它为了解决元数据节点性能问题;

  2, 可以看到这里有一个cross node节点,它是用来在两个机房之间同步数据的,它的设计考虑到了机房间的网络限制;

  3, 最后是groupA、groupB,这是为了解决数据产出方和使用方关系来用的。http://ruzhoujiaoyu.com

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21495665/viewspace-1119588/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-04-26