hadoop平台优化

1. HDFS优化

1.1 卷选择策略

卷选择策略有两种:

            第一种为集群默认的卷轮询方式,实现类:RoundRobinVolumeChoosingPolicy.java

            第二种为卷可用空间优先方式,实现类:AvailableSpaceVolumeChoosingPolicy.java

        采用轮询卷存储方式虽然能保证每块盘都能得到使用,但是在长期运行的集群中由于数据删除和磁盘热插拔等原因,可能造成磁盘空间的不均。所以最好将磁盘选择策略配置成第二种,根据磁盘空间剩余量来选择磁盘存储数据块,这样能保证节点磁盘数据量平衡IO压力被分散。

主参数
  <property>
    <name>dfs.datanode.fsdataset.volume.choosing.policy</name>
    <value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
  </property>
辅助参数
  dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold 
  默认10G,磁盘存储差距阈值
  dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction
  默认0.75f,多大可能落到余量大的磁盘
1.2 dfs.name.dir

    这个参数用于确定将HDFS文件系统的元信息保存在什么目录下。

    可以将这个参数设置为多个目录,那么每个目录都保存元信息的一个备份。

1.3 dfs.data.dir

    这个参数用于确定将HDFS文件系统的数据保存在什么目录下。

    可以将这个参数设置为多个卷上目录,以此增加存储空间和IO吞吐率。

2. yarn优化

3. MR优化

3.1 mapred.local.dir

    MapReduce临时数据存放的目录,添加多个不同卷的目录有助于提升IO吞吐率。

3.2 mapred.compress.map.output

    指定map的输出是否压缩;指定压缩有助于减小IO压力,但会增加CPU成本应慎重选择。

3.2 mapred.output.compress

    指定reduce的输出是否压缩;指定压缩有助于减小IO压力,但会增加CPU成本应慎重选择。

3.3 combiner使用

    在map与reduce之间引入combiner,map端task处理的数据会作为combiner的输入进行一次预规约,combiner规约后的数据作为reduce的输入在进行最终规约。引入combiner能够大量减少map端传递到reduce端数据量,增加任务的处理性能,同时能够有效避免数据倾斜带来的性能影响。

转载于:https://my.oschina.net/puwenchao/blog/1557357

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值