提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:龚雪|2014-08-06 09:24:19.000|阅读 610 次
概述:导读:云计算和Hadoop中网络是讨论得相对比较少的领域。本文原文由Dell企业技术专家Brad Hedlund撰写,他曾在思科工作多年,专长是数据中心、云网络等。文章素材基于作者自己的研究、实验和Cloudera的培训资料。本文将着重于讨论Hadoop集群的体系结构和方法,及它与网络和服务器基础设施的关系。最开始我们先学习一下Hadoop集群运作的基础原理。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Hadoop的Rack Awareness
Hadoop还拥有“Rack Awareness”的理念。作为Hadoop的管理员,你可以在集群中自行的定义从节点的机架数量。但是为什么这样做会给你带来麻烦呢?两个关键的原因是:数据损失预防及网络性能。别忘了,为了防止数据丢失,每块数据都会拷贝在多个机器上。假如同一块数据的多个拷贝都在同一个机架上,而恰巧的是这个机架出现了故障,那么这带来的绝对是一团糟。为了阻止这样的事情发生,则必须有人知道数据节点的位置,并根据实际情况在集群中作出明智的位置分配。这个人就是名称节点。
假使通个机架中两台机器对比不同机架的两台机器会有更多的带宽更低的延时。大部分情况下这是真实存在的。机架转换的上行带宽一般都低于其下行带宽。此外,机架内的通信的延时一般都低于跨机架的(也不是全部)。那么假如Hadoop能实现“Rack Awareness”的理念,那么在集群性能上无疑会有着显著的提升!是的,它真的做到了!太棒了,对不对?
但是扫兴的事情发生了,首次使用你必须手动的去定义它。不断的优化,保持信息的准确。假如机架转换能够自动的给名称节点提供它的数据节点列表,这样又完美了?或者反过来,数据节点可以自行的告知名称节点他们所连接的机架转换,这样也的话也同样完美。
在括补结构中网络中,假如能知道名称节点可以通过OpenFlow控制器查询到节点的位置,那无疑是更加令人兴奋的。
准备HDFS写入
现在Client已经把File.txt分块并做好了向集群中加载的准备,下面先从Block A开始。Client向名称节点发出写File.txt的请求,从名称节点处获得通行证,然后得到每块数据目标数据节点的列表。名称节点使用自己的 Rack Awareness数据来改变数据节点提供列表。核心规则就是对于每块数据3份拷贝,总有两份存在同一个机架上,另外一份则必须放到另一个机架上。所以给 Client的列表都必须遵从这个规则。
在Client将File.txt的“Block A”部分写入集群之前,Client还期待知道所有的目标数据节点是否已准备就绪。它将取出列表中给Block A准备的第一个数据节点,打开TCP 50010协议,并告诉数据节点,注意!准备好接收1块数据,这里还有一份列表包括了数据节点5和数据节点6,确保他们同样已准备就绪。然后再由1传达到 5,接着5传达到6。
数据节点将从同样的TCP通道中响应上一级的命令,只到Client收到原始数据节点1发送的的“就绪”。只到此刻,Client才真正的准备在集群中加载数据块。
HDFS载入通道
当数据块写入集群后,3个(当然数据节点个数参照上文的设置)数据节点将打开一个同步通道。这就意味着,当一个数据节点接收到数据后,它同时将在通道中给下一个数据节点送上一份拷贝。
这里同样是一个借助Rack Awareness数据提升集群性能的例子。注意到没有,第二个和第三个数据节点运输在同一个机架中,这样他们之间的传输就获得了高带宽和低延时。只到这个数据块被成功的写入3个节点中,下一个就才会开始。
HDFS通道载入成功
当3个节点都成功的接收到数据块后,他们将给名称节点发送个“Block Received”报告。并向通道返回“Success”消息,然后关闭TCP回话。Client收到成功接收的消息后会报告给名称节点数据已成功接收。名称节点将会更新它元数据中的节点位置信息。Client将会开启下一个数据块的处理通道,只到所有的数据块都写入数据节点。
Hadoop会使用大量的网络带宽和存储。我们将代表性的处理一些TB级别的文件。使用Hadoop的默认配置,每个文件都会被复制三份。也就是1TB的文件将耗费3TB的网络传输及3TB的磁盘空间。
Client写入跨度集群
每个块的复制管道完成后的文件被成功写入到集群。如预期的文件被散布在整个集群的机器,每台机器有一个相对较小的部分数据。个文件的块数越多,更多的机器的数据有可能传播。更多的CPU核心和磁盘驱动器,意味着数据能得到更多的并行处理能力和更快的结果。这是建造大型的、宽的集群的背后的动机,为了数据处理更多、更快。当机器数增加和集群增宽时,我们的网络需要进行适当的扩展。
扩展集群的另一种方法是深入。就是在你的机器扩展更多个磁盘驱动器和更多的CPU核心,而不是增加机器的数量。在扩展深度上,你把自己的注意力集中在用较少的机器来满足更多的网络I/O需求上。在这个模型中,你的Hadoop集群如何过渡到万兆以太网节点成为一个重要的考虑因素。
来源:CSDN
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都控件网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢