Hadoop 参数配置优化

  主要参照官方给出的配置指南进行的。

  hadoop.tmp.dir

  默认值: /tmp

  说明: 尽量手动配置这个选项,否则的话都默认存在了里系统的默认临时文件/tmp里。并且手动配置的时候,如果服务器是多磁盘的,每个磁盘都设置一个临时文件目录,这样便于mapreduce或者hdfs等使用的时候提高磁盘IO效率。

  fs.trash.interval

  默认值: 0

  说明: 这个是开启hdfs文件删除自动转移到垃圾箱的选项,值为垃圾箱文件清除时间。一般开启这个会比较好,以防错误删除重要文件。单位是分钟。

  fs.inmemory.size.mb

  默认值:

  说明: reduce阶段用户合并map输出的内存限制。这里设置200,可根据自身硬件设备进行更改测试。

  io.sort.factor

  默认值:10

  说明:排序文件的时候一次同时最多可并流的个数,这里设置100。新版本为mapreduce.task.io.sort.factor。

  io.sort.mb

  默认值:100

  说明: 排序内存使用限制,这里设置200m。新版本看说明貌似改成了这个mapreduce.task.io.sort.mb。

  io.file.buffer.size

  默认值:4096

  说明:SequenceFiles在读写中可以使用的缓存大小,这里设置为131072。貌似这个参数在新版本里变为了:file.stream-buffer-size,单位bytes 。

  dfs.blocksize

  默认值:67108864

  说明: 这个就是hdfs里一个文件块的大小了,默认64M,这里设置134217728,即128M,太大的话会有较少map同时计算,太小的话也浪费可用map个数资源,而且文件太小namenode就浪费内存多。根据需要进行设置。

  dfs.namenode.handler.count

  默认值:10

  说明:hadoop系统里启动的任务线程数,这里改为40,同样可以尝试该值大小对效率的影响变化进行最合适的值的设定。

  mapred.child.java.opts

  默认值:-Xmx200m

  说明:jvms启动的子线程可以使用的最大内存。改为-Xmx1024m,内存再大也可以继续增加。但是如果一般任务文件小,逻辑不复杂用不了那么多的话太大也浪费。

  mapreduce.jobtracker.handler.count

  默认值:10

  说明:JobTracker可以启动的线程数,一般为tasktracker节点的4%。

  mapreduce.reduce.shuffle.parallelcopies

  默认值:5

  说明:reuduce shuffle阶段并行传输数据的数量。这里改为10。集群大可以增大。

  mapreduce.tasktracker.http.threads

  默认值:40

  说明:map和reduce是通过http进行数据传输的,这个是设置传输的并行线程数。

  mapreduce.map.output.compress

  默认值:false

  说明: map输出是否进行压缩,如果压缩就会多耗cpu,但是减少传输时间,如果不压缩,就需要较多的传输带宽。配合mapreduce.map.output.compress.codec使用,默认是org.apache.hadoop.io.compress.DefaultCodec,可以根据需要设定数据压缩方式。

  mapreduce.reduce.shuffle.merge.percent

  默认值: 0.66

  说明:reduce归并接收map的输出数据可占用的内存配置百分比。类似mapreduce.reduce.shuffle.input.buffer.percen属性。

  mapreduce.reduce.shuffle.memory.limit.percent

  默认值: 0.25

  说明:一个单一的shuffle的最大内存使用限制。

时间: 2024-09-20 16:26:12

Hadoop 参数配置优化的相关文章

MySQL my.cnf参数配置优化详解

MySQL my.cnf参数配置优化详解 本配置文件针对Dell R710,双至强E5620.16G内存的硬件配置.CentOS 5.6 64位系统,MySQL 5.5.x 稳定版.适用于日IP 50-100w,PV 100-300w的站点,主要使用InnoDB存储引擎.其他应用环境请根据实际情况来设置优化. 注:你的MySQL 版本可能和这里用的不同,所以有些参数会废弃,有些被替代,当发现启动异常或者使用异常时,请取消某些配置. # 客户端 # 以下选项会被MySQL客户端应用读取.注意只有M

MySQL 5.5.x my.cnf参数配置优化详解_Mysql

一直有耳闻MySQL5.5的性能非常NB,所以近期打算测试一下,方便的时候就把bbs.kaoyan.com升级到这个版本的数据库.今天正好看到一篇有关my.cnf优化的总结,虽然还没经过我自己的实践检验,但从文章内容来说已经写的很详细了(当然,事实上下面这篇文章很多地方只是翻译了my.cnf原始配置文件的说明,呵呵),所以特地转载收藏一下,大家在对mysql服务器进行优化的时候可以作为参考,并根据实际情况对其中的一些参数进行调整.(特别备注:以下原文中有些参数事实上不适用于mysql5.5,不知

详解CentOS下MySQL的my.cnf参数配置优化

PS:本配置文件针对Dell R710,双至强E5620.16G内存的硬件配置.CentOS 5.6 64位系统,MySQL 5.5.x 稳定版.适用于日IP 50-100w,PV 100-300w的站点,主要使用InnoDB存储引擎.其他应用环境请根据实际情况来设置优化. # 以下选项会被MySQL客户端应用读取. # 注意只有MySQL附带的客户端应用程序保证可以读取这段内容. # 如果你想你自己的MySQL应用程序获取这些值. # 需要在MySQL客户端库初始化的时候指定这些选项. # [

《Hadoop MapReduce性能优化》一2.1 研究Hadoop参数

2.1 研究Hadoop参数 Hadoop MapReduce性能优化 正如第1章中提到的那样,有很多因素会对Hadoop MapReduce性能产生影响.一般说来,与工作负载相关的Hadoop性能优化需要关注以下3个主要方面:系统硬件.系统软件,以及Hadoop基础设施组件的配置和调优/优化. 需要指出的是,Hadoop被归类为高扩展性解决方案,但却不足以归类为高性能集群解决方案.系统管理员可以通过各种配置选项来配置和调优Hadoop集群.性能配置参数主要关注CPU利用率.内存占用情况.磁盘I

《Hadoop MapReduce性能优化》一第 2 章 Hadoop参数概述

第 2 章 Hadoop参数概述 Hadoop MapReduce性能优化第 2 章 Hadoop参数概述 一旦运行了Hadoop作业,了解集群资源是否得到了充分的利用就非常重要了.幸好,Hadoop框架提供了几个参数,可以用于对作业进行调优并指定作业在集群上的运行方式. 性能调优涉及4个方面:CPU利用率.内存占用情况.磁盘I/O和网络流量.本章会描述与这几个方面相关的大多数参数,然后介绍优化Hadoop执行的技术并定义一些配置参数. 拥有效率监测工具至关重要,当问题正在发生或者已经发生时它会

Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误

25.集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有NameNode / DataNode YARN集群: 负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager 25.1.2服务器准备 本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本: ü Vmware 11.

MYSQL性能优化-安装时优化参数配置提高服务性能

安装时优化参数配置提高服务性能 在Linux下安装Mysql采用默认配置安装的Mysql却未必是工作在最佳性能状态的,需要对其进行优化.一般认为在 Mysql的配置文件中,下列系统参数是比较关键的: (1) interactive_timeout : 服务器在关闭它前在一个交互连接上等待行动的秒数.一个交互的客户被定义为对 mysql_real_connect()使用 CLIENT_INTERACTIVE 选项的客户. 默认数值是28800,我把它改为7200. (2) back_log : 要

Yarn 内存分配管理机制及相关参数配置

理解Yarn的内存管理与分配机制,对于我们搭建.部署集群,开发维护应用都是尤为重要的,对于这方面我做了一些调研供大家参考. 关于Yarn的详细介绍请参考[Hadoop Yarn详解] 一.相关配置情况 关于Yarn内存分配与管理,主要涉及到了ResourceManage.ApplicationMatser.NodeManager这几个概念,相关的优化也要紧紧围绕着这几方面来开展.这里还有一个Container的概念,现在可以先把它理解为运行map/reduce task的容器,后面有详细介绍.

《Hadoop MapReduce性能优化》一导读

前 言 Hadoop MapReduce性能优化 MapReduce是一个重要的并行处理模型,用于大规模.数据密集型应用,比如数据挖掘和Web索引.Hadoop作为MapReduce的一个开源实现,广泛用于支持对响应时间要求很严苛的集群计算作业. 多数MapReduce程序的开发是以数据分析为目的的,这通常需要花费很长的时间.许多公司正在用Hadoop在更大的数据集上做更高级的数据分析,当然这更加需要运行时间的保障.运行效率,尤其是MapReduce的I/O开销,仍然是需要解决的问题.经验表明,