hadoop集群调优及MR调优
来源:互联网 发布:echo动作数据mmd 编辑:程序博客网 时间:2024/06/05 16:51
一、操作系统调优
1、提高网络连接上限。以增加网络带宽的利用率,即修改内核net.core.somaxcon参数
2、关闭swap交换分区。以免内存不足时,数据会溢写到磁盘,读取时再从磁盘读取,增加数据读取时间
3、调整预读缓存区的大小。将数据预读,减少磁盘IO时间
二、HDFS调优
1、配置文件一:core-site.xml
1>hadoop.tmp.dir:手动指定临时目录,针对多磁盘的集群环境特别有效,能够让每个块利用本磁盘的临时目录
2>fs.trash-interval:设置垃圾回收站清空的时间间隔,对用户误删文件特别有用
3>io.file.buffer.size:SequenceFiles读写的缓冲大小,可减少IO次数。大型的分布式系统中可以设置为65536-65535*2
2、配置文件二:hdfs-site.xml
1>dfs.blocksize:合理的改变HDFS上的数据块的大小,根据自己的业务系统,能够提高效率,对map的个数很有效
2>dfs.namenode.handler.count:设置namenode上namenode server threads的数量,来与其它DN进行RPC通信。过多过少都不好
三、MR参数调优
配置点
1、心跳配置
2、磁盘块配置
3、槽位数目配置
4、设置RPC和线程数目
5、开启批量任务调度
具体的参数(列举)
1>mapreduce.io.sort.mb 每个Map task所占缓冲区大小
2>mapreduce.map.output.compress map的输出结果是否 压缩,有利有弊,权衡选取
3>mapreduce.job.reduces 启动的reduce的个数,可有效避免数据倾斜,防止大量数据集结于一个reduce,也可以在MR程序中进行设置
四、应用系统调优
1、避免排序:不需要排序的应用,如某些应用只是简单的联接,就不需要排序了
2、shuffle阶段内部优化
1>使用Netty代替Jetty,更快的IO框架来读取数据
2>reduce端,批量赋值
五、总结
1、常用combiner来减少输入到reduce的数据,防止数据倾斜
2、在数据通过远程到达reduce端进行处理的时候,可以合理的设置归并排序的次数,过多过少都不好,过多可能会写入磁盘,过少可能会增加归并排序数量
3、设置reduce的个数,来均衡原来输入到一个reduce上的数据,防止数据倾斜
- hadoop集群调优及MR调优
- Hadoop之MR的调优性能
- Hadoop实践(四)---Hadoop集群测试(MR样例)
- hadoop 集群调优
- Hadoop小集群上减少MR任务调度延迟
- hadoop集群调优---参数
- Hprof使用及在Hadoop中MR任务使用
- Hprof使用及在Hadoop中MR任务使用
- Hprof使用及在Hadoop中MR任务使用
- Hprof使用及在Hadoop中MR任务使用
- Hprof使用及在Hadoop中MR任务使用
- 大数据 hadoop hdfs mr及生态精讲
- Hadoop及Hbase集群搭建
- Hadoop集群安装及验证
- Hadoop及Spark集群部署
- spark 及 hadoop 分布式集群
- hadoop概述及集群搭建
- MR的调优
- sort
- Java 多线程之 Lock 的使用
- 枚举星期
- 获得微秒数 5
- swift 2
- hadoop集群调优及MR调优
- cacheimg 的使用
- v4l2 地址
- problems were encountered during export问题
- ORACLE SQL调优之统计信息缺失导致的逻辑读暴增
- Java环境配置与注意点
- mac java1.6怎么升到1.8
- install pip3 for python 3.x
- spring data jpa-纠错之旅-JPA高并发下的乐观锁异常 ObjectOptimisticLockingFailureException