Hadoop默认没有开启机架感知成果,默认环境下每个Block都是随机分派DataNode,必要举办相干的设置,那么在NameNode启动时,会将呆板与机架的对应信息生涯在内存中,用于在HDFS Client申请写文件时,可以或许按照预先界说的机架相关公道的分派DataNode。
Hadoop机架感知默认对3个副本的存放计策为:
- 第1个Block副本存放在和HDFS Client地址的节点中(若HDFS Client不在集群范畴内则随机选取)
- 第2个Block副本存放在与第一个节点差异机架下的节点中(随机选择)
- 第3个Block副本存放在与第2个副内地址节点的机架下的另一个节点中,假如尚有更多的副本则随机存放在集群的节点中。
*行使此计策可以担保对文件的会见可以或许优先在本机架下找到,而且假如整个机架上产生了非常也可以在其它的机架上找到该Block的副本。
2.2 YARN
YARN是漫衍式资源调治框架(使命计较框架的资源调治框架),首要认真集群中的资源打点以及使命调治而且监控各个节点。
ResourceManager
- 是整个集群的资源打点者,打点并监控各个NodeManager。
- 处理赏罚客户端的使命哀求。
- 启动和监控ApplicationMaster。
- 认真资源的分派以及调治。
NodeManager
- 是每个节点的打点者,认真使命的执行。
- 处理赏罚来自ResourceManager的呼吁。
- 处理赏罚来自ApplicationMaster的呼吁。
ApplicationMaster
- 数据切分,用于并行计较处理赏罚。
- 计较使命所必要的资源。
- 认真使命的监控与容错。
使命运行在YARN的流程
客户端提交使命哀求到ResourceManager。
- ResourceManager天生一个ApplicationManager历程,用于使命的打点。
- ApplicationManager建设一个Container容器用于存放使命所必要的资源。
- ApplicationManager探求个中一个NodeManager,在此NodeManager中启动一个ApplicationMaster,用于使命的打点以及监控。
- ApplicationMaster向ResourceManager举办注册,并计较使命所需的资源讲述给ResourceManager(CPU与内存)
- ResourceManager为此使命分派资源,资源封装在Container容器中。
- ApplicationMaster关照集群中相干的NodeManager举办使命的执行。
- 各个NodeManager从Container容器中获取资源并执行Map、Reduce使命。
2.3 MapReduce
MapReduce是漫衍式离线并行计较框架,高吞吐量,高延时,道理是将说明的数据拆分成多份,通过多台节点并行处理赏罚,相对付Storm、Spark使命计较框架而言,MapReduce是最早呈现的计较框架。
MapReduce、Storm、Spark使命计较框架比拟:
MapReduce执行流程
MapReduce将措施分别为Map使命以及Reduce使命两部门。
Map使命处理赏罚流程
- 读取文件中的内容,理会成Key-Value的情势 (Key为偏移量,Value为每行的数据)
- 重写map要领,编写营业逻辑,天生新的Key和Value。
- 对输出的Key、Value举办分区(Partitioner类)
- 对数据凭证Key举办排序、分组,沟通key的value放到一个荟萃中(数据汇总)
*处理赏罚的文件必必要在HDFS中。
Reduce使命处理赏罚流程
- 对多个Map使命的输出,凭证差异的分区,通过收集复制到差异的reduce节点。
- 对多个Map使命的输出举办归并、排序。
- 将reduce的输出生涯到文件,存放在HDFS中。
3.Hadoop的行使
3.1 安装
因为Hadoop行使Java说话举办编写,因此必要安装JDK。
从CDH中下载Hadoop 2.X并举办解压,CDH是Cloudrea公司对各类开源框架的整合与优化(较不变)
- etc目次:Hadoop设置文件存放目次。
- logs目次:Hadoop日记存放目次。
- bin目次、sbin目次:Hadoop可执行呼吁存放目次。
etc目次
bin目次
sbin目次
3.2 Hadoop设置
1.设置情形 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|