BigData-15:Yarn框架与hadoop优化

1、ResourceManager和NodeManager

在这里插入图片描述

2、hadoop优化

1)mr程序的效率瓶颈
功能:分布式离线计算
->计算机性能:CPU、内存、磁盘、网络
->I/O操作优化
(1)数据倾斜(代码优化)
(2)map和reduce数设置不合理
(3)map运行时间太长,导致reduce等待过久
(4)小文件过多(combineTextInputFomrat小文件合并)
(5)不可分块的超大文件(不断的溢写)
(6)多个溢写小文件需要多次merge

2)mr优化方法
六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜、参数调优
1> 数据输入:
(1)合并小文件:在执行mr任务前就进行小文件合并
(2)采用CombineTextInputFormat来作为输入,解决输入端大量小文件的场景,mr并不适合处理大量小文件

2>Map阶段:
(1)mappred.site.xml文件配置减少溢写次数(增加内存200M 80%)

<property>
	<name>mapreduce.task.io.sort.mb</name>
	<value>100</value>
</property>
<property>
	<name>mapreduce.map.sort.spill.percent</name>
	<value>0.80</value>
</property>

(2)减少合并次数

<property>
	<name>mapreduce.task.io.sort.factor</name>
	<value>10</value>
</property>

(3)在map之后,不影响业务逻辑情况下进行combiner

3>Reduce阶段:
(1)合理设置map与reduce个数
(2)设置map/reduce共存
设置运行一定程度的map运行后 启动reduce减少等待时间

<property>
	<name>mapreduce.job.reduce.slowstart.completedmaps</name>
	<value>0.05</value>
</property>

(3)合理设置reduce端的buffer

<property>
	<name>mapreduce.reduce.markreset.buffer.percent</name>
	<value>0.0</value>
</property>

4>传输:
(1)进行数据压缩
(2)使用sequenceFile

5>数据倾斜:
(1)进行范围分区
(2)自定义分区
(3)Combine
(4)能用mapjoin坚决不用reduce join

6>参数调优:
设置核心数
(1)map核心数设置:

<property>
	<name>mapreduce.map.cpu.vcores</name>
	<value>1</value>
</property>

(2)reduce核心数设置:

<property>
	<name>mapreduce.reduce.cpu.vcores</name>
	<value>1</value>
</property>

设置内存
(1)maptask内存设置:

<property>
	<name>mapreduce.map.memory.mb</name>
	<value>1024</value>
</property>

(2)reducetask内存设置:

<property>
	<name>mapreduce.reduce.memory.mb</name>
	<value>1024</value>
</property>

(3)reduce去map端拿数据并行度

<property>
	<name>mapreduce.reduce.shuffle.parallelcopies</name>
	<value>5</value>
</property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

phial03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值