hadoop 参数说明及配置

core-site.xml

配置项 缺省值 配置说明
hadoop.tmp.dir /tmp/hadoop-${user.name} 只可以设置一个值;建议设置到一个足够空间的地方,而不是默认的/tmp下,服务端参数,修改需重启
fs.defaultFS file:/// hdfs://node1:9000 默认文件系统的名称。URI形式。uri's的scheme需要由(fs.SCHEME.impl)指定文件系统实现类。 uri's的authority部分用来指定host, port等。默认是本地文件系统。
io.file.buffer.size 4096 131072 在序列文件中使用的读/写缓冲区的大小。单位kb

hdfs-site.xml

配置项 缺省值 配置说明
dfs.blocksize 134217728 块大小的设置。以字节为新文件的默认块大小。您可以使用以下后缀(大小写不敏感):k、m、g、t、p、e来指定大小(比如128k、512m、1g等等),或者以字节为单位提供完整的大小(如134217728 -> 128 MB)。
dfs.namenode.secondary.http-address 0.0.0.0:50090 node1:50090 SecondaryNameNode地址和端口
dfs.replication 3 数据块副本数。当创建文件时,可以指定复制的实际数量。如果在创建时没有指定复制,则使用缺省值。
dfs.namenode.name.dir file://${hadoop.tmp.dir}/dfs/name file:/opt/data/hadoop/hdfs/name 本地磁盘目录,NN存储fsimage文件的地方。可以是按逗号分隔的目录列表,fsimage文件会存储在全部目录,冗余安全。这里多个目录设定,最好在多个磁盘,另外,如果其中一个磁盘故障,不会导致系统故障,会跳过坏磁盘。由于使用了HA,建议仅设置一个。如果特别在意安全,可以设置2个
dfs.datanode.data.dir file://${hadoop.tmp.dir}/dfs/data 本地磁盘目录,HDFS数据应该存储Block的地方。可以是逗号分隔的目录列表(典型的,每个目录在不同的磁盘)。这些目录被轮流使用,一个块存储在这个目录,下一个块存储在下一个目录,依次循环。每个块在同一个机器上仅存储一份。不存在的目录被忽略。必须创建文件夹,否则被视为不存在。

yarn-site.xml

配置项 缺省值 配置说明
yarn.resourcemanager.hostname 0.0.0.0 RM的主机名 配置:master或node1 xxx.xxx.xxx.xxx
yarn.nodemanager.aux-services 一个逗号分隔的服务列表,服务名称应该只包含A-za-z0-9_,不能从数字开始,请配置为:mapreduce.shuffle,在Yarn上开启MR的必须项
yarn.nodemanager.vmem-check-enabled true 是否对容器执行虚拟内存限制。
yarn.resourcemanager.address ${yarn.resourcemanager.hostname}:8032 在RM中应用程序管理器接口的地址。
yarn.resourcemanager.scheduler.address ${yarn.resourcemanager.hostname}:8030 调度程序的接口地址
yarn.resourcemanager.resource-tracker.address ${yarn.resourcemanager.hostname}:8031
yarn.resourcemanager.admin.address ${yarn.resourcemanager.hostname}:8033 RM管理接口的地址
yarn.resourcemanager.webapp.address ${yarn.resourcemanager.hostname}:8088 RM的网页接口地址:端口
yarn.nodemanager.resource.cpu-vcores 8 容器虚拟CPU核数,cdh默认8,但CM会自动检测内核数并修改。在为容器分配资源时,RM调度程序使用它。这并不用于限制纱线容器使用的物理内核的数量。
yarn.nodemanager.resource.memory-mb 8192 物理内存的大小,在MB中,可以分配给容器。NM上可以用于container申请的物理内存大小,MB。
yarn.nodemanager.pmem-check-enabled true 是否对容器执行物理限制
yarn.nodemanager.vmem-check-enabled true 是否对容器进行虚拟内存限制
yarn.nodemanager.vmem-pmem-ratio 2.1 在设置container的内存限制时,虚拟内存到物理内存的比率。Container申请的内存如果超过此物理内存,可以以此比率获取虚拟内存用于满足需求。虚拟地址的是物理地址的倍数上限。建议设置的大点,例如:4.1,8.1,此虚拟内存并非内存,而是占用的虚拟地址。
yarn.scheduler.maximum-allocation-mb 8192 每个container向RM申请内存的最大大小,兆字节。申请值大于此值,将最多得到此值内存。
yarn.scheduler.minimum-allocation-mb 1024 每个container向RM申请内存的最小大小。兆字节。内存请求小于此值,实际申请到的是此值大小。默认值偏大
yarn.nodemanager.local-dirs ${hadoop.tmp.dir}/nm-local-dir 本地文件存储目录,列表。一个应用的本地文件目录定位方式:${yarn.nodemanager.local-dirs}/usercache/${user}/appcache/application_${appid}。每个container的工作目录,是此目录的子目录,目录名是container_${contid}。 非常重要,建议配置多个磁盘,平衡IO。
yarn.nodemanager.log-dirs ${yarn.log.dir}/userlogs 存储container日志的地方。一个应用的本地日志目录定位是:${yarn.nodemanager.log-dirs}/application_${appid}。每个container的日志目录在此目录下,名字是container_{$contid}。每个container目录中包含stderr, stdin, and syslog等container产生的文件 。非常重要,建议配置多个磁盘,平衡IO。

mapred-site.xml

配置项 缺省值 配置说明
mapreduce.framework.name local 执行MapReduce作业的运行时框架.local,classic ,yarn
mapreduce.jobhistory.address 0.0.0.0:10020 MapReduce任务历史服务器IPC主机:端口
mapreduce.jobhistory.webapp.address 0.0.0.0:19888 MapReduce任务历史服务器Web UI主机:端口
mapreduce.job.reduces 1 设置reduce的数量。一般来说在job里面都会通过conf来设置reduce的数量,不采用这个参数。至于reduce的数量,可以根据自己的reduce业务逻辑复杂度以及输出的数据量来调整。
mapred.child.java.opts -Xmx200m 这个参数是配置每个map或reduce使用的内存数量。默认的是200M。对于这个参数,我个人认为,如果内存是8G,CPU有8个核,那么就设置成1G就可以了。实际上,在map和reduce的过程中对内存的消耗并不大,但是如果配置的太小,则有可能出现”无可分配内存”的错误。所以,对于这个配置我总结了一个简单的公式:map/reduce的并发数量(总和不大于CPU核数)×mapred.child.java.opts < 该节点机器的总内存。当然也可以等于,不过有点风险而已。
mapreduce.reduce.shuffle.parallelcopies 5 reuduce shuffle阶段并行传输数据的数量。集群大可以增大。
mapreduce.map.output.compress false map输出是否进行压缩,如果压缩就会多耗cpu,但是减少传输时间,如果不压缩,就需要较多的传输带宽。配合 mapreduce.map.output.compress.codec使用,默认是 org.apache.hadoop.io.compress.DefaultCodec,可以根据需要设定数据压缩方式。
mapreduce.task.io.sort.mb 100 Map Task 环形缓冲区所占内存大小。
mapreduce.map.sort.spill.percent 0.8 序列化缓冲区中的软限制。一旦到达,一个线程将开始在后台将内容泄漏到磁盘。注意,当泄漏已经在进行时,如果这个阈值超过了这个阈值,那么收集就不会阻塞,因此,当它被设置为小于5时,泄漏可能大于这个阈值。

mapruduce经常调整的参数有:

mapred.reduce.tasks:手动设置reduce个数
mapreduce.map.output.compress:map输出结果是否压缩
mapreduce.map.output.compress.codec
mapreduce.output.fileoutputformat.compress:job输出结果是否压缩
mapreduce.output.fileoutputformat.compress.type
mapreduce.output.fileoutputformat.compress.codec

提交作业的一些配置属性
常见配置:
(1)mapred.map.tasks:map task数目
(2)mapred.reduce.tasks:reduce task数目
(3)stream.num.map.output.key.fields:指定map task输出记录中key所占的域数目
(4)num.key.fields.for.partition指定对key分出来的前几部分做partition而不是整个
key

对单个MapReduce
– Map个数最好为集群slot的倍数
– Reduce个数最好为集群slot的个数、倍数

Hadoop中通常每个tasktracker会包含多个slots,Job的一个task均对应于tasktracker中的一个slot。系统中map slots总数与reducer slots总数的计算公式如下:
Map slots总数=集群节点数×mapred.tasktracker.map.tasks.maximum

Reducer slots总数=集群节点数×mapred.tasktracker.reduce.tasks.maximum

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容