开发者社区> 问答> 正文

hadoop的优化

hadoop的优化

展开
收起
愚笨如你 2020-02-14 20:56:13 1243 0
1 条回答
写回答
取消 提交回答
  • 1)优化的思路可以从配置文件和系统以及代码的设计思路来优化 2)配置文件的优化:调节适当的参数,在调参数时要进行测试 3)代码的优化:combiner的个数尽量与reduce的个数相同,数据的类型保持一致,可以减少拆包与封包的进度 4)系统的优化:可以设置linux系统打开最大的文件数预计网络的带宽MTU的配置 5)为 job 添加一个 Combiner,可以大大的减少shuffer阶段的maoTask拷贝过来给远程的 reduce task的数据量,一般而言combiner与reduce相同。 6)在开发中尽量使用stringBuffer而不是string,string的模式是read-only的,如果对它进行修改,会产生临时的对象,二stringBuffer是可修改的,不会产生临时对象。 7)修改一下配置:以下是修改 mapred-site.xml 文件 a、修改最大槽位数:槽位数是在各个 tasktracker 上的 mapred-site.xml 上设置的,默认都是 2 mapred.tasktracker.map.tasks.maximum 2 mapred.tasktracker.reduce.tasks.maximum 2 b、调整心跳间隔:集群规模小于 300 时,心跳间隔为 300 毫秒 mapreduce.jobtracker.heartbeat.interval.min 心跳时间 mapred.heartbeats.in.second 集群每增加多少节点,时间增加下面的值 mapreduce.jobtracker.heartbeat.scaling.factor 集群每增加上面的个数,心跳增多少 c、启动带外心跳 mapreduce.tasktracker.outofband.heartbeat 默认是 false d、配置多块磁盘 mapreduce.local.dir e、配置 RPC hander 数目 mapred.job.tracker.handler.count 默认是 10,可以改成 50,根据机器的能力 f、配置 HTTP 线程数目 tasktracker.http.threads 默认是 40,可以改成 100 根据机器的能力 g、选择合适的压缩方式,以 snappy 为例: mapred.compress.map.output true mapred.map.output.compression.codec org.apache.hadoop.io.compress.SnappyCodec

    2020-02-14 20:56:58
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《构建Hadoop生态批流一体的实时数仓》 立即下载
零基础实现hadoop 迁移 MaxCompute 之 数据 立即下载
CIO 指南:如何在SAP软件架构中使用Hadoop 立即下载

相关实验场景

更多