文档章节

Hadoop集群环境下网络架构的设计与优化

蓝狐乐队
 蓝狐乐队
发布于 2014/04/14 15:53
字数 1120
阅读 189
收藏 14

大数据时代,研究大数据的IT 厂商把研究重心放在优化大数据系统软件架构、优化业务逻辑、优化数据分析算法、优化节点性能等方向,而忽略了大数据环境基础设置中网络环节的评估和优化。本文介绍了思科公司在Hadoop 集群环境下的网络架构设计与优化经验。


大数据Hadoop环境网络特性Hadoop 集群中的各节点通过网络连接起来,而且MapReduce 中的以下过程会在网络中传输数据。

(1)写数据。当向HDFS 写入初始数据或者大块数据时,会发生数据写入过程。写入的数据块需要备份到其他节点,需要在网络中传输这些数据。

(2)作业执行。

① Map 阶段。在算法的Map 阶段,几乎不需要在网络中传输数据。在Map 开始阶段,当HDFS 数据没有本地性(数据块不在本地存储,需要从其他节点拷贝)时,才需在网络中传输数据。

② Shuffle 阶段。这是作业执行中在网络中传输数据的阶段,数据传输的程度依赖于作业。Mapper 阶段的输出内容,会在这个时候传输到Reducer 进行排序。

③ Reduce 阶段。因为Reducer 需要的数据已经从Shuffle 阶段传来,所以此阶段不需要网络传输数据。

④ Output 复制。MapReduce 的输出作为文件存储在HDFS 上。当将输出结果写入HDFS 时,产生的备份会在网络中传输。

(3)读数据。当应用程序如网站、索引或者SQL数据库从HDFS 读取数据时,会发生数据读取的过程。另外,网络对Hadoop 的控制层非常重要,比如HDFS 的信令和运维操作,以及MapReduce 架构都受到网络影响。

五种网络特性

思科公司针对Hadoop 集群环境下的网络环境进行了一个测试,测试结果显示,一个有弹性的网络对Hadoop 集群非常重要;对Hadoop 集群具有重要影响的网络特性,以其影响程度从大到小依次排序为:网络可用性和弹性、Burst 流量突发处理和队列深度、网络过载比、Datanode 网络接入和网络延迟。

(1)网络可用性和弹性。要部署一个高冗余性和可扩展的网络,支持Hadoop 集群的增长。在Datanode之间部署多条链路的技术要比那些有单点失效或两点失效的技术要好。交换机和路由器已经在业界被证明能够为服务器提供网络可用性。

(2)Burst 流量突发处理和队列深度。HDFS 的有些操作和MapReduce Job 会产生突发流量,如向HDFS加载文件或者把结果文件写入HDFS 都需要通过网络。网络如果处理不了突发流量,就会丢弃数据包,所以适当的缓存可以缓解突发流量的影响。确保选择使用缓存和队列的交换机和路由器,来有效处理流量突发。

(3)网络过载比。一个好的网络设计需要考虑到网络中关键节点的拥塞情况。一个ToR 交换机从服务器接收20Gbps 的数据,但是只有2 个1Gbps 的上联口会造成数据包丢失(10:1 的过载比),严重影响集群的性能。过度配置的网络的价格又非常昂贵。一般情况下,服务器接入层可以接受的过载比在4:1 左右,接入层和汇聚层之间,或者核心层的过载比在2:1左右。

(4)Datanode 网络接入。要基于集群工作负荷来推荐带宽配置。一般集群中的节点有1 到2 根1GB 的上联口。是否选择10Gbps 的服务器要权衡价格和性能。

(5)网络延迟。交换机和路由器延迟的变化对集群性能的影响有限。相比网络延迟,应用层延迟对任务的影响比例更大。但是网络的延迟会对应用系统造成潜在的影响,例如造成不必要的应用切换等。

本文转载自:

蓝狐乐队
粉丝 107
博文 325
码字总数 94335
作品 0
昌平
程序员
私信 提问
大数据经典学习路线(及供参考)之 一

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此...

柯西带你学编程
2018/05/22
0
0
请查收:TOP 25大常见Hadoop面试题及答案

  在某招聘网站2017年上半年各行业薪资调研状况报告中,大数据行业以平均21.2k的月薪高居互联网行业榜首,远远高于其他各行业。在大数据行业,Hadoop目前绝对算得上是明星产品,在行业内应...

大数据头条
2017/12/21
0
0
6月9日上海 华东运维技术大会:演讲主题、演讲嘉宾等信息

会议名称:华东运维技术大会 参会形式:免费报名制(注释:须事先报名,场地有限) 会议定位:企业运维技术的最佳实践 会议主题:运维自动化、Web服务器的优化与架构、云计算、虚拟化技术 会...

金官丁
2012/05/19
2.6K
11
本地搭建hadoop集群的安装规划

Hadoop分布式集群环境搭建是每个入门级新手都非常头疼的事情,因为你可能花费了很久的时间在搭建运行环境,最终却不知道什么原因无法创建成功。但对新手来说,运行环境搭建不成功的概率还蛮高...

左手的倒影
2018/07/26
66
0
【简书招聘】大数据平台专家

我们是一家位于上海的互联网创业团队,我们的产品是「简书」: http://jianshu.com ,既有 Web 端,也有 iOS 和Android 的 app,目前已经进入了第五个年头。 也许你已经听说过,我们在 2014...

简书
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MBTI助你成功,让你更了解你自己

MBTI助你成功,让你更了解你自己 生活总是一个七日接着又一个七日,相信看过第七日的小伙伴,很熟悉这段开场白,人生是一个测试接着又一个测试,上学的时候测试,是为了证明你的智力,可谓从...

蛤蟆丸子
今天
55
0
Android实现App版本自动更新

现在很多的App中都会有一个检查版本的功能。例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的App版本与当前手机安...

shzwork
昨天
72
0
npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
昨天
87
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
昨天
63
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
昨天
69
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部