快乐大数据第四课 Mapreduce的优化

快乐大数据第四课 Mapreduce的优化

1.Shuffle的过程

(1)每个Mag Task把输出结果写到内存中的环形缓冲区;当内存环形缓冲区写入的数据量达到一定

阈值时,后台线程会把数据溢出写到磁盘(根据分区号(数据的哈希值/reduce task的ID的余数),把数据写入不同的分区,对每个分区上的数据进行排序)。

(2)随着Map Task的不断进行,磁盘上的溢出文件会越来越多。在Shuffle过程中,Aplication Master会将这些溢出

文件合并,对于一个分区下的不同分片,使用归并排序,同一分区内数据进行有序排序。

(3)Reduce Task通过网络远程拷贝mapTask的结果中属于它的分区文件。合并所有已经拷贝过的数据文件,使用归并排序算法,将相同key的数据归为一组,不同key之间有序排列。最终生成一个key对应一组值的数据集,一个key对应的一组数据调用一次reduce方法

"-Djava.ext.dirs=D:\java1.8\jre\lib\ext", "D:\java1.8\jre1.8\bin\server\jvm.dll"

2.Combiner总结

(1)Combiner调用的地方

    MapTask的环形缓冲区向磁盘溢写文件调用Combiner

    map阶段在合并本地多个文件写入一个大文件之前调用Combiner

(2)使用Combiner的好处

  减少Map Task输出数据量,由于临时结果写入本地磁盘,所以能减少磁盘I/O

  减少Reduce-Map网络传输数据量,由于reduce需要远程通过

应用场景:针对结果可以叠加的场景 SUM(YES),Average(NO)

设置方法:(local reducer)

  job.setCombinerClass(WordCountReducer.class)

3.YARN调度器

数据本地性 任务运行与需要处理的数据在同一个节点,则称为该任务具有“数据本地性”

数据本地性级别(性能由高到低排列)

  同节点(node-local)

  同机架(rack-local)

  跨机架(off-switch)

4.推测执行

    发现执行慢的任务,在其他机器上执行一个备份任务,同时运行,谁先运行

    完,则采用谁的结果。但对于存在的大数据量的负载倾斜,或者向数据库写

  数据。不适合推测执行

5.YARN-调度器

  之前采用FIFO(先入先出)的法则。资源利用低,紧急的作业无法插队

  随后采用多队列分开调度的方法:所有资源按照比例划分到不同的队列。每个队列实现单独的调度测了

  优点是让更多的应用程序获得资源,使用灵活,资源利用率高。

  调度器包括  CapacityScheduler调度器和FairScheduler调度器。

5(1)CapacityScheduler配置方法

  capacity-scheduler.xml参数说明

      capacity:队列占用的集群资源容量百分比,所有队列的容量之和少于100

    maximum-capacity 由于存在资源共享,因此一个队列使用的资源可能超过其容量,最多使用

  可通过该参数限制.配置完成后无需重启YARN,使用管理命令刷新调度设置

    bin/yarn madmin -refreshQueues

5(2)FairScheduler调度器

      以队列方式组织作业,基于最小资源量和公平共享量进行调度;支持资源抢占。内部队列中

    可用的策略:FIFO fair(默认),基于内存使用量调度分配资源

    任务延时调度:提高数据本地性和提高系统整体吞吐率。

实战

A演示公平调度器

  在node02上,cd /usr/local/hadoop/etc/hadoop

  编辑公平调度器后,重启

    yarn-daemon.sh stop resourcemanager

    yarn-daemon.sh start resourcemanager

新建 data_bi用户

echo data_bi |passwd --stdin data_bi

以用户data_bi完成wordcount的例子 阐释 公平调度器中不同用户完成作业的过程。

B广告曝光的例子

B1 计算曝光量

首先在第一台机器上切换到用户 hadoop

su hadoop

cd ~

mkdir jobs

在jobs目录下:

删除之前的 MapReducePro-1.0-SNAPSHOT.jar

rm -f MapReducePro-1.0-SNAPSHOT.jar

上传最新的

rz

mkdir mr_pvdata

cd mr_pvdata

rz

广告文件

格式  地域ID  用户ID 曝光还是点击 日期

在根目录下创建文件夹存数据

hadoop fs -mkdir -p  /addata/pv_click_datas

上传数据

hadoop fs -put ad_data_2017122*  /addata/pv_click_datas

hadoop fs -ls /addata/pv_click_datas

cd ~/jobs

hadoop jar MapReducePro-1.0-SNAPSHOT.jar bigdata.mr.MrPvSortByDayApp /addata/pv_click_datas  /addata/pv_click_datas/out

hadoop fs -ls /addata/pv_click_datas/out

查看排序结果

hadoop fs -cat /addata/pv_click_datas/out/part-r-00000

B2把28号的数据单独建立一个文件夹,再把28号的数据传上去,然后计算曝光率

hadoop fs -mkdir /addata/dt=20171228

hadoop fs -put ~/jobs/mr_pvdata/ad_data_20171228.txt /addata/dt=20171228

hadoop fs -ls hadoop fs /addata/dt=20171228

在jobs目录下

hadoop jar MapReducePro-1.0-SNAPSHOT.jar bigdata.mr.MrPvClickByAreaDayApp /addata/dt=20171228 /addata/dt=20171228/out

hadoop fs -ls /addata/dt=20171228/out

查看曝光率的结果

hadoop fs -cat /addata/dt=20171228/out/part-r-00000

B3 统计同一年龄段不同性别人的最高打分

hadoop fs -mkdir /addata/user_core

cd ~/jobs/mr_pvdata

hadoop fs  -put user_core.txt /addata/user_core

cd ..

在jobs目录下

hadoop jar MapReducePro-1.0-SNAPSHOT.jar bigdata.mr.MrUserAgeMaxCoreApp /addata/user_core  /addata/user_core/out

查看结果

会有三个 ,每个年龄段一个

hadoop fs -ls /addata/user_core/out

hadoop fs -cat /addata/user_core/out/part-r-00002

hadoop fs -cat /addata/user_core/out/part-r-00001

hadoop fs -cat /addata/user_core/out/part-r-00000

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

推荐阅读更多精彩内容