Hadoop系列教程收录

  • 为何有些公司在机器学习业务方面倾向使用 R + Hadoop方案?

  • 你不知道的十个Hadoop的应用场景

  • Hadoop教程:Hadoop的源起和体系架构

  • Hadoop教程:Hadoop核心架构详细解析

  • Hadoop教程:Hadoop集群和网络的基本原理(一)

  • Hadoop教程:Hadoop集群和网络的基本原理(二)

  • Hadoop教程:Hadoop集群和网络的基本原理(三)

  • Hadoop教程:Hadoop基本流程和代码范例

  • Hadoop教程:SQL Server+Hadoop变身大数据解决方案

  • Hadoop教程:谈百度是如何使用hadoop的,并做了哪些改进

  • Hadoop教程:Smartbi在Hadoop大数据分析中的应用

  • Hadoop教程:PayPal的Hadoop迭代式计算框架--Guagua

  • Hadoop教程:8个值得关注的SQL-on-Hadoop框架

  • Hadoop教程:四个方案将OpenStack部署到Hadoop

  • Hadoop教程:Hadoop的技术生态圈

  • Oracle大数据SQL使SQL、Hadoop和NoSQL融合互通

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

  • Hadoop教程:9款Hadoop商业发行版的调研报告

  • Hadoop教程:Hadoop分布式环境搭建

  • Hadoop教程:Teradata Aster在Hadoop和R上的进展

  • Hadoop和大数据是合并还是冲突?

  • Hadoop教程:Hadoop数据传输工具Sqoop

  • Hadoop教程:大数据处理平台Hadoop能为企业带来什么?

  • Hadoop教程:Hadoop和大数据在电信业里的典型应用

  • Hadoop教程:Hadoop在大数据中的角色

  • Hadoop教程:Hadoop平台的基本组成与生态系统

  • Hadoop教程:当机器大数据遇见Hadoop

  • Hadoop教程:Hadoop系统分布式存储与并行计算构架

  • Hadoop教程:用外部存储构建Hadoop

  • Hadoop教程:用hadoop计算PI值

  • Hadoop教程:Hadoop扩展过程中的潜在危机

导读:云计算和Hadoop中网络是讨论得相对比较少的领域。本文原文由Dell企业技术专家Brad Hedlund撰写,他曾在思科工作多年,专长是数据中心、云网络等。文章素材基于作者自己的研究、实验和Cloudera的培训资料。本文将着重于讨论Hadoop集群的体系结构和方法,及它与网络和服务器基础设施的关系。最开始我们先学习一下Hadoop集群运作的基础原理。

Hadoop集群,Hadoop教程

Hadoop里的服务器角色

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教程

Hadoop集群

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

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

Hadoop集群,Hadoop教程

Hadoop的工作流程

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

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

Hadoop集群,Hadoop教程

向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集群,Hadoop教程


你可能感兴趣的:(Hadoop系列教程收录)