hadoop学习笔记(五)MapReduce环境

Hadoop核心组件——MR(Map-Reduce)
Hadoop分布式计算框架Map-Reduce

Map-Reduce流程分四步:split->map->shuffle->reduce


上图是一个简单的例子,统计一个文本中各单词出现的数量。
Map-Reduce的Split大小

  • max.split(100M)
  • min.split(10M)
  • block(64M)
  • max(min.split,min(max.split,block))
    max(min.split,min(max.split,block))在100与64中取小的为64,在64与10中取大的为64正好是一个block的大小。执行时正好是一个block大小,避免了数据的移动。
    Mapper
  • Map-Reduce的思想就是“分而治之”
    Mapper负责分,即把复杂的任务分解成若干个“简单的任务”执行
  • “简单的任务”有几个含义
    1.数据或计算规模相对于原任务要大大缩小
    2.就近计算,即会被分配到存放了所需数据的节点进行计算
    3.这些小人物可以并行计算,彼此间几乎没有依赖关系
    Hadoop计算框架Reducer
  • 对map阶段的结果进行汇总
  • Reducer的数目由mapred-site.xml配置文件里的项目mapred.reduce.tasks决定,缺省值为1,用户可以覆盖之(一般不会这么做,修改配置文件相当于修改整个集群,因此一般选择在程序中设置Reducer的数目)
    Hadoop 计算框架Shuffler
  • 每个map task都有一个内存缓冲区(默认是100MB),储存着map的输出结果
  • 当缓冲区快满的时候需要将缓冲区的数据以一个临时文件的方式存放到磁盘(Spill)
  • 溢写是有单独线程来完成,不影响往缓冲区写map结果的线程(spill percent,默认是0.8)
  • 当溢写线程启动后,需要对这80MB空间内的key做排序(Sort)


    map端
  • 假如client设置过Combiner,那么现在就是使用Combiner的时候了,将有相同key的key/value对的value加起来,减少溢写到磁盘的数据量
  • 当整个map task结束后再对磁盘中的这个map task产生的所有临时文件做合并(Merge),对于“wird1”就是像这样的:{“word1”,[5,8,2,...]},假如有Combiner,{word1[15]},最终产生一个文件
  • reduce 从tasktracker copy数据
  • copy过来的数据会放入内存缓冲区中,这里的缓冲区大小要比map端的更为灵活,它基于JVM的heap size设置
  • merge有三种形式:1)内存到内存 2)内存到磁盘 3)磁盘到磁盘。merge从不同tasktracker上拿到的数据。


    reduce端

MapReduce的架构1.x


在hadoop2.x中,我们通常搭建高可用环境,因此SecondaryNameNode变成一个standby状态的namenode有zookeeper集群负责维护,Job Tracker改名为ResourceManager,Task Tracker改名为nodemanager。

  • 一主多从架构
  • 主JobTracker:ResourceManager
    负责调度分配每一个子任务task运行于TaskTracker上,如果发现有失败的task就重新分配其任务到其他节点。每一个hadoop集群中只一个JobTracker,一般它运行在Master节点上。
  • 从TaskTracker:NodeManager
    TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务,为了减少网络带宽TaskTracker最好运行在HDFS的DataNode上。

Map-Reducer高可用环境搭建
我们用node3和node4作为resoucemanager
首先,执行stop-dfs.sh停掉hadoop集群
mapred-site.xml(改文件可能叫mapred-site.xml.template,需要重命名)
添加

  <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

yarn-site.xml:

  <property>
  <name>yarn.resourcemanager.ha.enabled</name>
  <value>true</value>
</property>
<property>
  <name>yarn.resourcemanager.cluster-id</name>
  <value>cluster1</value>
</property>
<property>
  <name>yarn.resourcemanager.ha.rm-ids</name>
  <value>rm1,rm2</value>
</property>
<!--配置rousource节点>
<property>
  <name>yarn.resourcemanager.hostname.rm1</name>
  <value>node3</value>
</property>
<property>
  <name>yarn.resourcemanager.hostname.rm2</name>
  <value>node4</value>
</property>
<!--配置zookeeper集群>
<property>
  <name>yarn.resourcemanager.zk-address</name>
  <value>node3:2181,node4:2181,node5:2181</value>
</property>

改完之后同步配置文件。
然后执行:start-all.sh 启动整个hadoop
然后再node3和node4上执行jps看看是否有resourcemanager,由于start-all.sh脚本有bug因此没有启动需要手动启动,命令yarn-daemon.sh start resourcemanager
nodemanager默认为node3-node5,因为我们在slaves中配置过datanode,该文件也同时配置了nodemanager。
启动之后我们可以访问node3和node4的8088端口查看resourcemanager状态

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容

  • MapReduce框架结构## MapReduce是一个用于大规模数据处理的分布式计算模型MapReduce模型主...
    Bloo_m阅读 3,754评论 0 4
  • 目的这篇教程从用户的角度出发,全面地介绍了Hadoop Map/Reduce框架的各个方面。先决条件请先确认Had...
    SeanC52111阅读 1,729评论 0 1
  • Hadoop部署方式 本地模式 伪分布模式(在一台机器中模拟,让所有进程在一台机器上运行) 集群模式 服务器只是一...
    陈半仙儿阅读 1,613评论 0 9
  • 说明:本文所有操作均在 64位 ubuntu 16.04 操作系统下进行 准备 通过物理机器虚拟化 4 台虚拟机:...
    kviccn阅读 2,764评论 4 5
  • 去上了一节素描体验课,整个下午都在画一个正方形。发现绘画还是应该多练习才是。大概也画了三四天了,看到简单的...
    Cherry怡阅读 428评论 2 2