文档章节

Hadoop系列教程收录

雷阵子
 雷阵子
发布于 2014/08/06 16:46
字数 1827
阅读 99
收藏 0

导读:云计算和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教程


© 著作权归作者所有

雷阵子
粉丝 0
博文 3
码字总数 2707
作品 0
长春
私信 提问
2017阿里技术年度精选(全)

[图片上传失败...(image-d5bc2c-1513904801705)] 2017年,在技术发展的历史上,一定是个特别的一年:柯洁与AlphaGo的惊世大战,无人咖啡店开放体验,AI设计师“鲁班”横空出世、三年投入千亿...

架构之路
2017/12/22
0
0
Anyers/WeChat-WeApp-Resources

title: 微信小程序资源整理 - 更新汇总 tags: 小程序,微信,更新,资源整理 grammar_cjkRuby: true 微信小程序相关的文档、教程、开源项目等资源的整理,以便于开发学习使用。 —— —— 收录仅...

Anyers
2016/11/07
0
0
看看我值多少钱

大家看看我这样的北京值多少钱? 工作经验及技术: 弄过半年socket,一年爬虫,集群大概10台,数据量还比较大,目前在弄实时流计算,storm,在弄storm之前自己系统的看过hadoop,所以上手had...

book
2014/04/10
4.9K
21
【大数据分析常用算法】0.简介

简介 本系列教程主要探讨有关大数据的所有常用算法的实现,定期加入有趣的项目实践。 1、实现语言 初步使用java实现,后续加入python。 Hadoop Mapreduce Java实现 位于包*.mapreduce下。 Sp...

Areya
2019/01/14
110
0
Hadoop实战开发教程 Hadoop学习视频资料汇总

Hadoop实战开发教程 Hadoop学习视频汇总 Hadoop大数据零基础高端实战培训系列配文本挖掘项目(七大亮点、十大目标) 课程讲师:迪伦 课程分类:大数据 适合人群:初级 课时数量:230课时 用到技...

beifangbubai
2014/07/28
3.6K
4

没有更多内容

加载失败,请刷新页面

加载更多

node.js中__dirname和./有什么区别?

在Node.js中编程并引用位于与当前目录相关的文件时,是否有任何理由使用__dirname变量而不仅仅是常规./ ? 到目前为止,我一直在使用./并且刚刚发现了__dirname的存在,并且基本上想知道将....

javail
17分钟前
35
0
Hive安装

下载上传apache-hive-2.1.1-bin.tar.gz文件并解压 tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /export/servers 配置环境变量 vi /etc/profileexport HIVE_HOME=/export/servers/apache......

长臂猿猴
22分钟前
43
0
OS X:相当于Linux的wget

如何从库存OS X系统上的Un * x shell脚本执行HTTP GET? (安装第三方软件不是一种选择,因为这必须在我无法控制的许多不同系统上运行)。 例如,如果我在本地启动Mercurial服务器执行hg服务...

技术盛宴
32分钟前
39
0
Fedora 31 - 荣耀魔法本问题记录

最近荣耀魔法本装了Fedora31系统,没有像Deepin 15.11那样出现亮度不能调节和网卡不能用的问题。但是也有不少小问题: 触摸板有时启动后失效,需要重启。 触摸板的右键失效。 待机后进入桌面...

wffger
35分钟前
34
0
ElasticSearch深入:内部机制浅析(三)@

前言 上篇从分布式的角度阐述了 ES 的分布式设计和思想,这一篇打算与 Lucene 结合起来,摸透一些 ES 的常遇到的概念,我们可以将了解到的这些东西应用到优化实践中去。 一、Shard Shard 实际...

HLee
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部