深入理解Hadoop集群和网络 PDF

2019-03-28 13:02|来源: 网络

Hadoop主要的任务部署分为3个部分,分别是:Client机器,主节点和从节点。主节点主要负责Hadoop两个关键功能模块HDFS、Map Reduce的监督。当Job Tracker使用Map Reduce进行监控和调度数据的并行处理时,名称节点则负责HDFS监视和调度。从节点负责了机器运行的绝大部分,担当所有数据储存和指令计算的苦差。每个从节点既扮演者数据节点的角色又冲当与他们主节点通信的守护进程。守护进程隶属于Job Tracker,数据节点在归属于名称节点。

Client机器集合了Hadoop上所有的集群设置,但既不包括主节点也不包括从节点。取而代之的是客户端机器的作用是把数据加载到集群中,递交给Map Reduce数据处理工作的描述,并在工作结束后取回或者查看结果。在小的集群中(大约40个节点)可能会面对单物理设备处理多任务,比如同时Job Tracker和名称节点。作为大集群的中间件,一般情况下都是用独立的服务器去处理单个任务。

在真正的产品集群中是没有虚拟服务器和管理层的存在的,这样就没有了多余的性能损耗。Hadoop在Linux系统上运行的最好,直接操作底层硬件设施。这就说明Hadoop实际上是直接在虚拟机上工作。这样在花费、易学性和速度上有着无与伦比的优势。

Hadoop集群

上面是一个典型Hadoop集群的构造。一系列机架通过大量的机架转换与机架式服务器(不是刀片服务器)连接起来,通常会用1GB或者2GB的宽带来支撑连接。10GB的带宽虽然不常见,但是却能显著的提高CPU核心和磁盘驱动器的密集性。上一层的机架转换会以相同的带宽同时连接着许多机架,形成集群。大量拥有自身磁盘储存器、CPU及DRAM的服务器将成为从节点。同样有些机器将成为主节点,这些拥有少量磁盘储存器的机器却有着更快的CPU及更大的DRAM。

下面我们来看一下应用程序是怎样运作的吧:

adoop的工作流程

在计算机行业竞争如此激烈的情况下,究竟什么是Hadoop的生存之道?它又切实的解决了什么问题?简而言之,商业及政府都存在大量的数据需要被快速的分析和处理。把这些大块的数据切开,然后分给大量的计算机,让计算机并行的处理这些数据 — 这就是Hadoop能做的。

下面这个简单的例子里,我们将有一个庞大的数据文件(给客服部门的电子邮件)。我想快速的截取下“Refund”在邮件中出现的次数。这是个简单的字数统计练习。Client将把数据加载到集群中(File.txt),提交数据分析工作的描述(word cout),集群将会把结果储存到一个新的文件中(Results.txt),然后Client就会读结果文档。

 

向HDFS里写入File

Hadoop集群在没有注入数据之前是不起作用的,所以我们先从加载庞大的File.txt到集群中开始。首要的目标当然是数据快速的并行处理。为了实现这个目标,我们需要竟可能多的机器同时工作。最后,Client将把数据分成更小的模块,然后分到不同的机器上贯穿整个集群。模块分的越小,做数据并行处理的机器就越多。同时这些机器机器还可能出故障,所以为了避免数据丢失就需要单个数据同时在不同的机器上处理。所以每块数据都会在集群上被重复的加载。Hadoop的默认设置是每块数据重复加载3次。这个可以通过hdfs-site.xml文件中的dfs.replication参数来设置。

Client把File.txt文件分成3块。Cient会和名称节点达成协议(通常是TCP 9000协议)然后得到将要拷贝数据的3个数据节点列表。然后Client将会把每块数据直接写入数据节点中(通常是TCP 50010协议)。收到数据的数据节点将会把数据复制到其他数据节点中,循环只到所有数据节点都完成拷贝为止。名称节点只负责提供数据的位置和数据在族群中的去处(文件系统元数据)。

深入理解Hadoop集群和网络 PDF 版下载地址:

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2013年资料/5月/28日/深入理解Hadoop集群和网络 PDF

 

或者到百度网盘下载: http://pan.baidu.com/share/link?shareid=589207&uk=487907638

相关阅读:

Hadoop权威指南(中文版-带目录索引)PDF

Hadoop权威指南(中文第2版)PDF http://www.linuxidc.com/Linux/2012-07/65972.htm

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

相关问答

更多
  • 这本书,我也在寻找,自从2006年出版以来,曾几度断货。 2010年,网上书店,此书好像出现过一段时间。当时没买,之后到现在就一直没货。(后悔啊!!!) 这本书,不太好买了,只能看东南大学出版社,何时重印了!!!
  • http://www.greendown.cn/soft/1135 PDF格式的
  • 里面的图片,网上有清晰的扫描版PDF。
  • http://www.icili.com/emule/download/2950192
  • 我有这本书,中英对照
  • 我有这本书,中英对照
  • 调用wkhhtmltopdf时,您可以传递--orientation "Landscape"选项。 例如,从我的本地安装,我将运行/usr/local/bin/wkhtmltopdf --orientation landscape http://google.com google.pdf 您可能需要调整顶部或底部边距。 你可以通过传递--margin-bottom 1和--margin-top 1来做到这一点。 你需要玩弄价值观。 有关更多信息,请访问http://wkhtmltopdf.org/usage ...
  • 导出为PDF 是的,你可以做到,但我认为这样效率很低,可能既困难又耗时。 简而言之,您将编写自己的“to PDF”库 - 就像已经存在的库一样,为什么要重新发明轮子? 如果您愿意使用第三方控件(其中一些是免费的,甚至是开源的),您有一些更好的选择: 使用Visual Studio的Crystal Reports (您在第二段中询问了这一点) 使用免费的第三方itextsharp 使用任何其他免费(或非)库 如果您仍然不愿意使用第三方控件,并且不想自己创建库,那么您还有其他一些奇怪的选择: 让您的客户将页面“ ...
  • 我无法用当前的实现解决关闭MemoryStream的问题,所以我不得不完全重构。 相反,我使用本文所述的PdfFileEditor.Concatenate()方法。 我的实施如下: public byte[] GetPrintContent(List models) { PdfFileEditor pdfEditor = new PdfFileEditor(); MemoryStream ...
  • 问题解决了- 由于现有架构的依赖性,我无法更新jar。 但真正的问题是使用rowspan。 有效/无效部分的行距不同。 改变逻辑之后问题就解决了。 Problem solved- I was not able to update the jar because of dependencies of existing architecture. But the real problem was with rowspan. The rowspan was different for active/inactiv ...