123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079 |
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
- <!-- Do not modify this file directly. Instead, copy entries that you -->
- <!-- wish to modify from this file into mapred-site.xml and change them -->
- <!-- there. If mapred-site.xml does not already exist, create it. -->
- <configuration>
- <property>
- <name>mapreduce.job.hdfs-servers</name>
- <value>${fs.defaultFS}</value>
- </property>
- <property>
- <name>mapreduce.job.committer.setup.cleanup.needed</name>
- <value>true</value>
- <description> true, if job needs job-setup and job-cleanup.
- false, otherwise
- </description>
- </property>
- <!-- i/o properties -->
- <property>
- <name>mapreduce.task.io.sort.factor</name>
- <value>10</value>
- <description>The number of streams to merge at once while sorting
- files. This determines the number of open file handles.</description>
- </property>
- <property>
- <name>mapreduce.task.io.sort.mb</name>
- <value>100</value>
- <description>The total amount of buffer memory to use while sorting
- files, in megabytes. By default, gives each merge stream 1MB, which
- should minimize seeks.</description>
- </property>
- <property>
- <name>mapreduce.map.sort.spill.percent</name>
- <value>0.80</value>
- <description>The soft limit in the serialization buffer. Once reached, a
- thread will begin to spill the contents to disk in the background. Note that
- collection will not block if this threshold is exceeded while a spill is
- already in progress, so spills may be larger than this threshold when it is
- set to less than .5</description>
- </property>
- <property>
- <name>mapreduce.job.maps</name>
- <value>2</value>
- <description>The default number of map tasks per job.
- Ignored when mapreduce.framework.name is "local".
- </description>
- </property>
- <property>
- <name>mapreduce.job.reduces</name>
- <value>1</value>
- <description>The default number of reduce tasks per job. Typically set to 99%
- of the cluster's reduce capacity, so that if a node fails the reduces can
- still be executed in a single wave.
- Ignored when mapreduce.framework.name is "local".
- </description>
- </property>
- <property>
- <name>mapreduce.job.running.map.limit</name>
- <value>0</value>
- <description>The maximum number of simultaneous map tasks per job.
- There is no limit if this value is 0 or negative.
- </description>
- </property>
- <property>
- <name>mapreduce.job.running.reduce.limit</name>
- <value>0</value>
- <description>The maximum number of simultaneous reduce tasks per job.
- There is no limit if this value is 0 or negative.
- </description>
- </property>
- <property>
- <name>mapreduce.job.max.map</name>
- <value>-1</value>
- <description>Limit on the number of map tasks allowed per job.
- There is no limit if this value is negative.
- </description>
- </property>
- <property>
- <name>mapreduce.job.reducer.preempt.delay.sec</name>
- <value>0</value>
- <description>The threshold (in seconds) after which an unsatisfied
- mapper request triggers reducer preemption when there is no anticipated
- headroom. If set to 0 or a negative value, the reducer is preempted as
- soon as lack of headroom is detected. Default is 0.
- </description>
- </property>
- <property>
- <name>mapreduce.job.reducer.unconditional-preempt.delay.sec</name>
- <value>300</value>
- <description>The threshold (in seconds) after which an unsatisfied
- mapper request triggers a forced reducer preemption irrespective of the
- anticipated headroom. By default, it is set to 5 mins. Setting it to 0
- leads to immediate reducer preemption. Setting to -1 disables this
- preemption altogether.
- </description>
- </property>
- <property>
- <name>mapreduce.job.max.split.locations</name>
- <value>10</value>
- <description>The max number of block locations to store for each split for
- locality calculation.
- </description>
- </property>
- <property>
- <name>mapreduce.job.split.metainfo.maxsize</name>
- <value>10000000</value>
- <description>The maximum permissible size of the split metainfo file.
- The MapReduce ApplicationMaster won't attempt to read submitted split metainfo
- files bigger than this configured value.
- No limits if set to -1.
- </description>
- </property>
- <property>
- <name>mapreduce.map.maxattempts</name>
- <value>4</value>
- <description>Expert: The maximum number of attempts per map task.
- In other words, framework will try to execute a map task these many number
- of times before giving up on it.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.maxattempts</name>
- <value>4</value>
- <description>Expert: The maximum number of attempts per reduce task.
- In other words, framework will try to execute a reduce task these many number
- of times before giving up on it.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.fetch.retry.enabled</name>
- <value>${yarn.nodemanager.recovery.enabled}</value>
- <description>Set to enable fetch retry during host restart.</description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.fetch.retry.interval-ms</name>
- <value>1000</value>
- <description>Time of interval that fetcher retry to fetch again when some
- non-fatal failure happens because of some events like NM restart.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.fetch.retry.timeout-ms</name>
- <value>30000</value>
- <description>Timeout value for fetcher to retry to fetch again when some
- non-fatal failure happens because of some events like NM restart.</description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.retry-delay.max.ms</name>
- <value>60000</value>
- <description>The maximum number of ms the reducer will delay before retrying
- to download map data.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.parallelcopies</name>
- <value>5</value>
- <description>The default number of parallel transfers run by reduce
- during the copy(shuffle) phase.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.connect.timeout</name>
- <value>180000</value>
- <description>Expert: The maximum amount of time (in milli seconds) reduce
- task spends in trying to connect to a remote node for getting map output.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.read.timeout</name>
- <value>180000</value>
- <description>Expert: The maximum amount of time (in milli seconds) reduce
- task waits for map output data to be available for reading after obtaining
- connection.
- </description>
- </property>
- <property>
- <name>mapreduce.shuffle.listen.queue.size</name>
- <value>128</value>
- <description>The length of the shuffle server listen queue.</description>
- </property>
- <property>
- <name>mapreduce.shuffle.connection-keep-alive.enable</name>
- <value>false</value>
- <description>set to true to support keep-alive connections.</description>
- </property>
- <property>
- <name>mapreduce.shuffle.connection-keep-alive.timeout</name>
- <value>5</value>
- <description>The number of seconds a shuffle client attempts to retain
- http connection. Refer "Keep-Alive: timeout=" header in
- Http specification
- </description>
- </property>
- <property>
- <name>mapreduce.task.timeout</name>
- <value>600000</value>
- <description>The number of milliseconds before a task will be
- terminated if it neither reads an input, writes an output, nor
- updates its status string. A value of 0 disables the timeout.
- </description>
- </property>
- <property>
- <name>mapreduce.map.memory.mb</name>
- <value>-1</value>
- <description>The amount of memory to request from the scheduler for each
- map task. If this is not specified or is non-positive, it is inferred from
- mapreduce.map.java.opts and mapreduce.job.heap.memory-mb.ratio.
- If java-opts are also not specified, we set it to 1024.
- </description>
- </property>
- <property>
- <name>mapreduce.map.cpu.vcores</name>
- <value>1</value>
- <description>The number of virtual cores to request from the scheduler for
- each map task.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.memory.mb</name>
- <value>-1</value>
- <description>The amount of memory to request from the scheduler for each
- reduce task. If this is not specified or is non-positive, it is inferred
- from mapreduce.reduce.java.opts and mapreduce.job.heap.memory-mb.ratio.
- If java-opts are also not specified, we set it to 1024.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.cpu.vcores</name>
- <value>1</value>
- <description>The number of virtual cores to request from the scheduler for
- each reduce task.
- </description>
- </property>
- <property>
- <name>mapred.child.java.opts</name>
- <value></value>
- <description>Java opts for the task processes.
- The following symbol, if present, will be interpolated: @taskid@ is replaced
- by current TaskID. Any other occurrences of '@' will go unchanged.
- For example, to enable verbose gc logging to a file named for the taskid in
- /tmp and to set the heap maximum to be a gigabyte, pass a 'value' of:
- -Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc
- Usage of -Djava.library.path can cause programs to no longer function if
- hadoop native libraries are used. These values should instead be set as part
- of LD_LIBRARY_PATH in the map / reduce JVM env using the mapreduce.map.env and
- mapreduce.reduce.env config settings.
- If -Xmx is not set, it is inferred from mapreduce.{map|reduce}.memory.mb and
- mapreduce.job.heap.memory-mb.ratio.
- </description>
- </property>
- <!-- This is commented out so that it won't override mapred.child.java.opts.
- <property>
- <name>mapreduce.map.java.opts</name>
- <value></value>
- <description>Java opts only for the child processes that are maps. If set,
- this will be used instead of mapred.child.java.opts. If -Xmx is not set,
- it is inferred from mapreduce.map.memory.mb and
- mapreduce.job.heap.memory-mb.ratio.
- </description>
- </property>
- -->
- <!-- This is commented out so that it won't override mapred.child.java.opts.
- <property>
- <name>mapreduce.reduce.java.opts</name>
- <value></value>
- <description>Java opts only for the child processes that are reduces. If set,
- this will be used instead of mapred.child.java.opts. If -Xmx is not set,
- it is inferred from mapreduce.reduce.memory.mb and
- mapreduce.job.heap.memory-mb.ratio.
- </description>
- </property>
- -->
- <property>
- <name>mapred.child.env</name>
- <value></value>
- <description>User added environment variables for the task processes.
- Example :
- 1) A=foo This will set the env variable A to foo
- 2) B=$B:c This is inherit nodemanager's B env variable on Unix.
- 3) B=%B%;c This is inherit nodemanager's B env variable on Windows.
- </description>
- </property>
- <!-- This is commented out so that it won't override mapred.child.env.
- <property>
- <name>mapreduce.map.env</name>
- <value></value>
- <description>User added environment variables for the map task processes.
- </description>
- </property>
- -->
- <!-- This is commented out so that it won't override mapred.child.env.
- <property>
- <name>mapreduce.reduce.env</name>
- <value></value>
- <description>User added environment variables for the reduce task processes.
- </description>
- </property>
- -->
- <property>
- <name>mapreduce.admin.user.env</name>
- <value></value>
- <description>
- Expert: Additional execution environment entries for
- map and reduce task processes. This is not an additive property.
- You must preserve the original value if you want your map and
- reduce tasks to have access to native libraries (compression, etc).
- When this value is empty, the command to set execution
- envrionment will be OS dependent:
- For linux, use LD_LIBRARY_PATH=$HADOOP_COMMON_HOME/lib/native.
- For windows, use PATH = %PATH%;%HADOOP_COMMON_HOME%\\bin.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.log.level</name>
- <value>INFO</value>
- <description>The logging level for the MR ApplicationMaster. The allowed
- levels are: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE and ALL.
- The setting here could be overriden if "mapreduce.job.log4j-properties-file"
- is set.
- </description>
- </property>
- <property>
- <name>mapreduce.map.log.level</name>
- <value>INFO</value>
- <description>The logging level for the map task. The allowed levels are:
- OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE and ALL.
- The setting here could be overridden if "mapreduce.job.log4j-properties-file"
- is set.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.log.level</name>
- <value>INFO</value>
- <description>The logging level for the reduce task. The allowed levels are:
- OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE and ALL.
- The setting here could be overridden if "mapreduce.job.log4j-properties-file"
- is set.
- </description>
- </property>
- <property>
- <name>mapreduce.map.cpu.vcores</name>
- <value>1</value>
- <description>
- The number of virtual cores required for each map task.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.cpu.vcores</name>
- <value>1</value>
- <description>
- The number of virtual cores required for each reduce task.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.merge.inmem.threshold</name>
- <value>1000</value>
- <description>The threshold, in terms of the number of files
- for the in-memory merge process. When we accumulate threshold number of files
- we initiate the in-memory merge and spill to disk. A value of 0 or less than
- 0 indicates we want to DON'T have any threshold and instead depend only on
- the ramfs's memory consumption to trigger the merge.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.merge.percent</name>
- <value>0.66</value>
- <description>The usage threshold at which an in-memory merge will be
- initiated, expressed as a percentage of the total memory allocated to
- storing in-memory map outputs, as defined by
- mapreduce.reduce.shuffle.input.buffer.percent.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.input.buffer.percent</name>
- <value>0.70</value>
- <description>The percentage of memory to be allocated from the maximum heap
- size to storing map outputs during the shuffle.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.input.buffer.percent</name>
- <value>0.0</value>
- <description>The percentage of memory- relative to the maximum heap size- to
- retain map outputs during the reduce. When the shuffle is concluded, any
- remaining map outputs in memory must consume less than this threshold before
- the reduce can begin.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.shuffle.memory.limit.percent</name>
- <value>0.25</value>
- <description>Expert: Maximum percentage of the in-memory limit that a
- single shuffle can consume. Range of valid values is [0.0, 1.0]. If the value
- is 0.0 map outputs are shuffled directly to disk.</description>
- </property>
- <property>
- <name>mapreduce.shuffle.ssl.enabled</name>
- <value>false</value>
- <description>
- Whether to use SSL for for the Shuffle HTTP endpoints.
- </description>
- </property>
- <property>
- <name>mapreduce.shuffle.ssl.file.buffer.size</name>
- <value>65536</value>
- <description>Buffer size for reading spills from file when using SSL.
- </description>
- </property>
- <property>
- <name>mapreduce.shuffle.max.connections</name>
- <value>0</value>
- <description>Max allowed connections for the shuffle. Set to 0 (zero)
- to indicate no limit on the number of connections.
- </description>
- </property>
- <property>
- <name>mapreduce.shuffle.max.threads</name>
- <value>0</value>
- <description>Max allowed threads for serving shuffle connections. Set to zero
- to indicate the default of 2 times the number of available
- processors (as reported by Runtime.availableProcessors()). Netty is used to
- serve requests, so a thread is not needed for each connection.
- </description>
- </property>
- <property>
- <name>mapreduce.shuffle.transferTo.allowed</name>
- <value></value>
- <description>This option can enable/disable using nio transferTo method in
- the shuffle phase. NIO transferTo does not perform well on windows in the
- shuffle phase. Thus, with this configuration property it is possible to
- disable it, in which case custom transfer method will be used. Recommended
- value is false when running Hadoop on Windows. For Linux, it is recommended
- to set it to true. If nothing is set then the default value is false for
- Windows, and true for Linux.
- </description>
- </property>
- <property>
- <name>mapreduce.shuffle.transfer.buffer.size</name>
- <value>131072</value>
- <description>This property is used only if
- mapreduce.shuffle.transferTo.allowed is set to false. In that case,
- this property defines the size of the buffer used in the buffer copy code
- for the shuffle phase. The size of this buffer determines the size of the IO
- requests.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.markreset.buffer.percent</name>
- <value>0.0</value>
- <description>The percentage of memory -relative to the maximum heap size- to
- be used for caching values when using the mark-reset functionality.
- </description>
- </property>
- <property>
- <name>mapreduce.map.speculative</name>
- <value>true</value>
- <description>If true, then multiple instances of some map tasks
- may be executed in parallel.</description>
- </property>
- <property>
- <name>mapreduce.reduce.speculative</name>
- <value>true</value>
- <description>If true, then multiple instances of some reduce tasks
- may be executed in parallel.</description>
- </property>
- <property>
- <name>mapreduce.job.speculative.speculative-cap-running-tasks</name>
- <value>0.1</value>
- <description>The max percent (0-1) of running tasks that
- can be speculatively re-executed at any time.</description>
- </property>
- <property>
- <name>mapreduce.job.speculative.speculative-cap-total-tasks</name>
- <value>0.01</value>
- <description>The max percent (0-1) of all tasks that
- can be speculatively re-executed at any time.</description>
- </property>
- <property>
- <name>mapreduce.job.speculative.minimum-allowed-tasks</name>
- <value>10</value>
- <description>The minimum allowed tasks that
- can be speculatively re-executed at any time.</description>
- </property>
- <property>
- <name>mapreduce.job.speculative.retry-after-no-speculate</name>
- <value>1000</value>
- <description>The waiting time(ms) to do next round of speculation
- if there is no task speculated in this round.</description>
- </property>
- <property>
- <name>mapreduce.job.speculative.retry-after-speculate</name>
- <value>15000</value>
- <description>The waiting time(ms) to do next round of speculation
- if there are tasks speculated in this round.</description>
- </property>
- <property>
- <name>mapreduce.job.map.output.collector.class</name>
- <value>org.apache.hadoop.mapred.MapTask$MapOutputBuffer</value>
- <description>
- The MapOutputCollector implementation(s) to use. This may be a comma-separated
- list of class names, in which case the map task will try to initialize each
- of the collectors in turn. The first to successfully initialize will be used.
- </description>
- </property>
- <property>
- <name>mapreduce.job.speculative.slowtaskthreshold</name>
- <value>1.0</value>
- <description>The number of standard deviations by which a task's
- ave progress-rates must be lower than the average of all running tasks'
- for the task to be considered too slow.
- </description>
- </property>
- <property>
- <name>mapreduce.job.ubertask.enable</name>
- <value>false</value>
- <description>Whether to enable the small-jobs "ubertask" optimization,
- which runs "sufficiently small" jobs sequentially within a single JVM.
- "Small" is defined by the following maxmaps, maxreduces, and maxbytes
- settings. Note that configurations for application masters also affect
- the "Small" definition - yarn.app.mapreduce.am.resource.mb must be
- larger than both mapreduce.map.memory.mb and mapreduce.reduce.memory.mb,
- and yarn.app.mapreduce.am.resource.cpu-vcores must be larger than
- both mapreduce.map.cpu.vcores and mapreduce.reduce.cpu.vcores to enable
- ubertask. Users may override this value.
- </description>
- </property>
- <property>
- <name>mapreduce.job.ubertask.maxmaps</name>
- <value>9</value>
- <description>Threshold for number of maps, beyond which job is considered
- too big for the ubertasking optimization. Users may override this value,
- but only downward.
- </description>
- </property>
- <property>
- <name>mapreduce.job.ubertask.maxreduces</name>
- <value>1</value>
- <description>Threshold for number of reduces, beyond which job is considered
- too big for the ubertasking optimization. CURRENTLY THE CODE CANNOT SUPPORT
- MORE THAN ONE REDUCE and will ignore larger values. (Zero is a valid max,
- however.) Users may override this value, but only downward.
- </description>
- </property>
- <property>
- <name>mapreduce.job.ubertask.maxbytes</name>
- <value></value>
- <description>Threshold for number of input bytes, beyond which job is
- considered too big for the ubertasking optimization. If no value is
- specified, dfs.block.size is used as a default. Be sure to specify a
- default value in mapred-site.xml if the underlying filesystem is not HDFS.
- Users may override this value, but only downward.
- </description>
- </property>
- <property>
- <name>mapreduce.job.emit-timeline-data</name>
- <value>false</value>
- <description>Specifies if the Application Master should emit timeline data
- to the timeline server. Individual jobs can override this value.
- </description>
- </property>
- <property>
- <name>mapreduce.job.sharedcache.mode</name>
- <value>disabled</value>
- <description>
- A comma delimited list of resource categories to submit to the shared cache.
- The valid categories are: jobjar, libjars, files, archives.
- If "disabled" is specified then the job submission code will not use
- the shared cache.
- </description>
- </property>
- <property>
- <name>mapreduce.input.fileinputformat.split.minsize</name>
- <value>0</value>
- <description>The minimum size chunk that map input should be split
- into. Note that some file formats may have minimum split sizes that
- take priority over this setting.</description>
- </property>
- <property>
- <name>mapreduce.input.fileinputformat.list-status.num-threads</name>
- <value>1</value>
- <description>The number of threads to use to list and fetch block locations
- for the specified input paths. Note: multiple threads should not be used
- if a custom non thread-safe path filter is used.
- </description>
- </property>
- <property>
- <name>mapreduce.input.lineinputformat.linespermap</name>
- <value>1</value>
- <description>When using NLineInputFormat, the number of lines of input data
- to include in each split.</description>
- </property>
- <property>
- <name>mapreduce.client.submit.file.replication</name>
- <value>10</value>
- <description>The replication level for submitted job files. This
- should be around the square root of the number of nodes.
- </description>
- </property>
- <property>
- <name>mapreduce.task.files.preserve.failedtasks</name>
- <value>false</value>
- <description>Should the files for failed tasks be kept. This should only be
- used on jobs that are failing, because the storage is never
- reclaimed. It also prevents the map outputs from being erased
- from the reduce directory as they are consumed.</description>
- </property>
- <!--
- <property>
- <name>mapreduce.task.files.preserve.filepattern</name>
- <value>.*_m_123456_0</value>
- <description>Keep all files from tasks whose task names match the given
- regular expression. Defaults to none.</description>
- </property>
- -->
- <property>
- <name>mapreduce.output.fileoutputformat.compress</name>
- <value>false</value>
- <description>Should the job outputs be compressed?
- </description>
- </property>
- <property>
- <name>mapreduce.output.fileoutputformat.compress.type</name>
- <value>RECORD</value>
- <description>If the job outputs are to compressed as SequenceFiles, how should
- they be compressed? Should be one of NONE, RECORD or BLOCK.
- </description>
- </property>
- <property>
- <name>mapreduce.output.fileoutputformat.compress.codec</name>
- <value>org.apache.hadoop.io.compress.DefaultCodec</value>
- <description>If the job outputs are compressed, how should they be compressed?
- </description>
- </property>
- <property>
- <name>mapreduce.map.output.compress</name>
- <value>false</value>
- <description>Should the outputs of the maps be compressed before being
- sent across the network. Uses SequenceFile compression.
- </description>
- </property>
- <property>
- <name>mapreduce.map.output.compress.codec</name>
- <value>org.apache.hadoop.io.compress.DefaultCodec</value>
- <description>If the map outputs are compressed, how should they be
- compressed?
- </description>
- </property>
- <property>
- <name>map.sort.class</name>
- <value>org.apache.hadoop.util.QuickSort</value>
- <description>The default sort class for sorting keys.
- </description>
- </property>
- <property>
- <name>mapreduce.task.userlog.limit.kb</name>
- <value>0</value>
- <description>The maximum size of user-logs of each task in KB. 0 disables the cap.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.container.log.limit.kb</name>
- <value>0</value>
- <description>The maximum size of the MRAppMaster attempt container logs in KB.
- 0 disables the cap.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.task.container.log.backups</name>
- <value>0</value>
- <description>Number of backup files for task logs when using
- ContainerRollingLogAppender (CRLA). See
- org.apache.log4j.RollingFileAppender.maxBackupIndex. By default,
- ContainerLogAppender (CLA) is used, and container logs are not rolled. CRLA
- is enabled for tasks when both mapreduce.task.userlog.limit.kb and
- yarn.app.mapreduce.task.container.log.backups are greater than zero.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.container.log.backups</name>
- <value>0</value>
- <description>Number of backup files for the ApplicationMaster logs when using
- ContainerRollingLogAppender (CRLA). See
- org.apache.log4j.RollingFileAppender.maxBackupIndex. By default,
- ContainerLogAppender (CLA) is used, and container logs are not rolled. CRLA
- is enabled for the ApplicationMaster when both
- yarn.app.mapreduce.am.container.log.limit.kb and
- yarn.app.mapreduce.am.container.log.backups are greater than zero.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.shuffle.log.separate</name>
- <value>true</value>
- <description>If enabled ('true') logging generated by the client-side shuffle
- classes in a reducer will be written in a dedicated log file
- 'syslog.shuffle' instead of 'syslog'.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.shuffle.log.limit.kb</name>
- <value>0</value>
- <description>Maximum size of the syslog.shuffle file in kilobytes
- (0 for no limit).
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.shuffle.log.backups</name>
- <value>0</value>
- <description>If yarn.app.mapreduce.shuffle.log.limit.kb and
- yarn.app.mapreduce.shuffle.log.backups are greater than zero
- then a ContainerRollngLogAppender is used instead of ContainerLogAppender
- for syslog.shuffle. See
- org.apache.log4j.RollingFileAppender.maxBackupIndex
- </description>
- </property>
- <property>
- <name>mapreduce.job.maxtaskfailures.per.tracker</name>
- <value>3</value>
- <description>The number of task-failures on a node manager of a given job
- after which new tasks of that job aren't assigned to it. It
- MUST be less than mapreduce.map.maxattempts and
- mapreduce.reduce.maxattempts otherwise the failed task will
- never be tried on a different node.
- </description>
- </property>
- <property>
- <name>mapreduce.client.output.filter</name>
- <value>FAILED</value>
- <description>The filter for controlling the output of the task's userlogs sent
- to the console of the JobClient.
- The permissible options are: NONE, KILLED, FAILED, SUCCEEDED and
- ALL.
- </description>
- </property>
- <property>
- <name>mapreduce.client.completion.pollinterval</name>
- <value>5000</value>
- <description>The interval (in milliseconds) between which the JobClient
- polls the MapReduce ApplicationMaster for updates about job status. You may want to
- set this to a lower value to make tests run faster on a single node system. Adjusting
- this value in production may lead to unwanted client-server traffic.
- </description>
- </property>
- <property>
- <name>mapreduce.client.progressmonitor.pollinterval</name>
- <value>1000</value>
- <description>The interval (in milliseconds) between which the JobClient
- reports status to the console and checks for job completion. You may want to set this
- to a lower value to make tests run faster on a single node system. Adjusting
- this value in production may lead to unwanted client-server traffic.
- </description>
- </property>
- <property>
- <name>mapreduce.client.libjars.wildcard</name>
- <value>true</value>
- <description>
- Whether the libjars cache files should be localized using
- a wildcarded directory instead of naming each archive independently.
- Using wildcards reduces the space needed for storing the job
- information in the case of a highly available resource manager
- configuration.
- This propery should only be set to false for specific
- jobs which are highly sensitive to the details of the archive
- localization. Having this property set to true will cause the archives
- to all be localized to the same local cache location. If false, each
- archive will be localized to its own local cache location. In both
- cases a symbolic link will be created to every archive from the job's
- working directory.
- </description>
- </property>
- <property>
- <name>mapreduce.task.profile</name>
- <value>false</value>
- <description>To set whether the system should collect profiler
- information for some of the tasks in this job? The information is stored
- in the user log directory. The value is "true" if task profiling
- is enabled.</description>
- </property>
- <property>
- <name>mapreduce.task.profile.maps</name>
- <value>0-2</value>
- <description> To set the ranges of map tasks to profile.
- mapreduce.task.profile has to be set to true for the value to be accounted.
- </description>
- </property>
- <property>
- <name>mapreduce.task.profile.reduces</name>
- <value>0-2</value>
- <description> To set the ranges of reduce tasks to profile.
- mapreduce.task.profile has to be set to true for the value to be accounted.
- </description>
- </property>
- <property>
- <name>mapreduce.task.profile.params</name>
- <value>-agentlib:hprof=cpu=samples,heap=sites,force=n,thread=y,verbose=n,file=%s</value>
- <description>JVM profiler parameters used to profile map and reduce task
- attempts. This string may contain a single format specifier %s that will
- be replaced by the path to profile.out in the task attempt log directory.
- To specify different profiling options for map tasks and reduce tasks,
- more specific parameters mapreduce.task.profile.map.params and
- mapreduce.task.profile.reduce.params should be used.</description>
- </property>
- <property>
- <name>mapreduce.task.profile.map.params</name>
- <value>${mapreduce.task.profile.params}</value>
- <description>Map-task-specific JVM profiler parameters. See
- mapreduce.task.profile.params</description>
- </property>
- <property>
- <name>mapreduce.task.profile.reduce.params</name>
- <value>${mapreduce.task.profile.params}</value>
- <description>Reduce-task-specific JVM profiler parameters. See
- mapreduce.task.profile.params</description>
- </property>
- <property>
- <name>mapreduce.task.skip.start.attempts</name>
- <value>2</value>
- <description> The number of Task attempts AFTER which skip mode
- will be kicked off. When skip mode is kicked off, the
- tasks reports the range of records which it will process
- next, to the MR ApplicationMaster. So that on failures, the MR AM
- knows which ones are possibly the bad records. On further executions,
- those are skipped.
- </description>
- </property>
- <property>
- <name>mapreduce.job.skip.outdir</name>
- <value></value>
- <description> If no value is specified here, the skipped records are
- written to the output directory at _logs/skip.
- User can stop writing skipped records by giving the value "none".
- </description>
- </property>
- <property>
- <name>mapreduce.map.skip.maxrecords</name>
- <value>0</value>
- <description> The number of acceptable skip records surrounding the bad
- record PER bad record in mapper. The number includes the bad record as well.
- To turn the feature of detection/skipping of bad records off, set the
- value to 0.
- The framework tries to narrow down the skipped range by retrying
- until this threshold is met OR all attempts get exhausted for this task.
- Set the value to Long.MAX_VALUE to indicate that framework need not try to
- narrow down. Whatever records(depends on application) get skipped are
- acceptable.
- </description>
- </property>
- <property>
- <name>mapreduce.map.skip.proc-count.auto-incr</name>
- <value>true</value>
- <description>The flag which if set to true,
- SkipBadRecords.COUNTER_MAP_PROCESSED_RECORDS is incremented by
- MapRunner after invoking the map function. This value must be set
- to false for applications which process the records asynchronously
- or buffer the input records. For example streaming. In such cases
- applications should increment this counter on their own.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.skip.maxgroups</name>
- <value>0</value>
- <description> The number of acceptable skip groups surrounding the bad
- group PER bad group in reducer. The number includes the bad group as well.
- To turn the feature of detection/skipping of bad groups off, set the
- value to 0.
- The framework tries to narrow down the skipped range by retrying
- until this threshold is met OR all attempts get exhausted for this task.
- Set the value to Long.MAX_VALUE to indicate that framework need not try to
- narrow down. Whatever groups(depends on application) get skipped are
- acceptable.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.skip.proc-count.auto-incr</name>
- <value>true</value>
- <description>The flag which if set to true.
- SkipBadRecords.COUNTER_REDUCE_PROCESSED_GROUPS is incremented by framework
- after invoking the reduce function. This value must be set to false for
- applications which process the records asynchronously or buffer the input
- records. For example streaming. In such cases applications should increment
- this counter on their own.
- </description>
- </property>
- <property>
- <name>mapreduce.ifile.readahead</name>
- <value>true</value>
- <description>Configuration key to enable/disable IFile readahead.
- </description>
- </property>
- <property>
- <name>mapreduce.ifile.readahead.bytes</name>
- <value>4194304</value>
- <description>Configuration key to set the IFile readahead length in bytes.
- </description>
- </property>
- <property>
- <name>mapreduce.job.queuename</name>
- <value>default</value>
- <description> Queue to which a job is submitted. This must match one of the
- queues defined in mapred-queues.xml for the system. Also, the ACL setup
- for the queue must allow the current user to submit a job to the queue.
- Before specifying a queue, ensure that the system is configured with
- the queue, and access is allowed for submitting jobs to the queue.
- </description>
- </property>
- <property>
- <name>mapreduce.job.tags</name>
- <value></value>
- <description> Tags for the job that will be passed to YARN at submission
- time. Queries to YARN for applications can filter on these tags.
- </description>
- </property>
- <property>
- <name>mapreduce.cluster.local.dir</name>
- <value>${hadoop.tmp.dir}/mapred/local</value>
- <description>
- The local directory where MapReduce stores intermediate
- data files. May be a comma-separated list of
- directories on different devices in order to spread disk i/o.
- Directories that do not exist are ignored.
- </description>
- </property>
- <property>
- <name>mapreduce.cluster.acls.enabled</name>
- <value>false</value>
- <description> Specifies whether ACLs should be checked
- for authorization of users for doing various queue and job level operations.
- ACLs are disabled by default. If enabled, access control checks are made by
- MapReduce ApplicationMaster when requests are made by users for queue
- operations like submit job to a queue and kill a job in the queue and job
- operations like viewing the job-details (See mapreduce.job.acl-view-job)
- or for modifying the job (See mapreduce.job.acl-modify-job) using
- Map/Reduce APIs, RPCs or via the console and web user interfaces.
- For enabling this flag, set to true in mapred-site.xml file of all
- MapReduce clients (MR job submitting nodes).
- </description>
- </property>
- <property>
- <name>mapreduce.job.acl-modify-job</name>
- <value> </value>
- <description> Job specific access-control list for 'modifying' the job. It
- is only used if authorization is enabled in Map/Reduce by setting the
- configuration property mapreduce.cluster.acls.enabled to true.
- This specifies the list of users and/or groups who can do modification
- operations on the job. For specifying a list of users and groups the
- format to use is "user1,user2 group1,group". If set to '*', it allows all
- users/groups to modify this job. If set to ' '(i.e. space), it allows
- none. This configuration is used to guard all the modifications with respect
- to this job and takes care of all the following operations:
- o killing this job
- o killing a task of this job, failing a task of this job
- o setting the priority of this job
- Each of these operations are also protected by the per-queue level ACL
- "acl-administer-jobs" configured via mapred-queues.xml. So a caller should
- have the authorization to satisfy either the queue-level ACL or the
- job-level ACL.
- Irrespective of this ACL configuration, (a) job-owner, (b) the user who
- started the cluster, (c) members of an admin configured supergroup
- configured via mapreduce.cluster.permissions.supergroup and (d) queue
- administrators of the queue to which this job was submitted to configured
- via acl-administer-jobs for the specific queue in mapred-queues.xml can
- do all the modification operations on a job.
- By default, nobody else besides job-owner, the user who started the cluster,
- members of supergroup and queue administrators can perform modification
- operations on a job.
- </description>
- </property>
- <property>
- <name>mapreduce.job.acl-view-job</name>
- <value> </value>
- <description> Job specific access-control list for 'viewing' the job. It is
- only used if authorization is enabled in Map/Reduce by setting the
- configuration property mapreduce.cluster.acls.enabled to true.
- This specifies the list of users and/or groups who can view private details
- about the job. For specifying a list of users and groups the
- format to use is "user1,user2 group1,group". If set to '*', it allows all
- users/groups to modify this job. If set to ' '(i.e. space), it allows
- none. This configuration is used to guard some of the job-views and at
- present only protects APIs that can return possibly sensitive information
- of the job-owner like
- o job-level counters
- o task-level counters
- o tasks' diagnostic information
- o task-logs displayed on the HistoryServer's web-UI and
- o job.xml showed by the HistoryServer's web-UI
- Every other piece of information of jobs is still accessible by any other
- user, for e.g., JobStatus, JobProfile, list of jobs in the queue, etc.
- Irrespective of this ACL configuration, (a) job-owner, (b) the user who
- started the cluster, (c) members of an admin configured supergroup
- configured via mapreduce.cluster.permissions.supergroup and (d) queue
- administrators of the queue to which this job was submitted to configured
- via acl-administer-jobs for the specific queue in mapred-queues.xml can
- do all the view operations on a job.
- By default, nobody else besides job-owner, the user who started the
- cluster, memebers of supergroup and queue administrators can perform
- view operations on a job.
- </description>
- </property>
- <property>
- <name>mapreduce.job.finish-when-all-reducers-done</name>
- <value>true</value>
- <description>Specifies whether the job should complete once all reducers
- have finished, regardless of whether there are still running mappers.
- </description>
- </property>
- <property>
- <name>mapreduce.job.token.tracking.ids.enabled</name>
- <value>false</value>
- <description>Whether to write tracking ids of tokens to
- job-conf. When true, the configuration property
- "mapreduce.job.token.tracking.ids" is set to the token-tracking-ids of
- the job</description>
- </property>
- <property>
- <name>mapreduce.job.token.tracking.ids</name>
- <value></value>
- <description>When mapreduce.job.token.tracking.ids.enabled is
- set to true, this is set by the framework to the
- token-tracking-ids used by the job.</description>
- </property>
- <property>
- <name>mapreduce.task.merge.progress.records</name>
- <value>10000</value>
- <description> The number of records to process during merge before
- sending a progress notification to the MR ApplicationMaster.
- </description>
- </property>
- <property>
- <name>mapreduce.task.combine.progress.records</name>
- <value>10000</value>
- <description> The number of records to process during combine output collection
- before sending a progress notification.
- </description>
- </property>
- <property>
- <name>mapreduce.job.reduce.slowstart.completedmaps</name>
- <value>0.05</value>
- <description>Fraction of the number of maps in the job which should be
- complete before reduces are scheduled for the job.
- </description>
- </property>
- <property>
- <name>mapreduce.job.complete.cancel.delegation.tokens</name>
- <value>true</value>
- <description> if false - do not unregister/cancel delegation tokens from
- renewal, because same tokens may be used by spawned jobs
- </description>
- </property>
- <property>
- <name>mapreduce.shuffle.port</name>
- <value>13562</value>
- <description>Default port that the ShuffleHandler will run on. ShuffleHandler
- is a service run at the NodeManager to facilitate transfers of intermediate
- Map outputs to requesting Reducers.
- </description>
- </property>
- <property>
- <name>mapreduce.job.reduce.shuffle.consumer.plugin.class</name>
- <value>org.apache.hadoop.mapreduce.task.reduce.Shuffle</value>
- <description>
- Name of the class whose instance will be used
- to send shuffle requests by reducetasks of this job.
- The class must be an instance of org.apache.hadoop.mapred.ShuffleConsumerPlugin.
- </description>
- </property>
- <!-- MR YARN Application properties -->
- <property>
- <name>mapreduce.job.node-label-expression</name>
- <description>All the containers of the Map Reduce job will be run with this
- node label expression. If the node-label-expression for job is not set, then
- it will use queue's default-node-label-expression for all job's containers.
- </description>
- </property>
- <property>
- <name>mapreduce.job.am.node-label-expression</name>
- <description>This is node-label configuration for Map Reduce Application Master
- container. If not configured it will make use of
- mapreduce.job.node-label-expression and if job's node-label expression is not
- configured then it will use queue's default-node-label-expression.
- </description>
- </property>
- <property>
- <name>mapreduce.map.node-label-expression</name>
- <description>This is node-label configuration for Map task containers. If not
- configured it will use mapreduce.job.node-label-expression and if job's
- node-label expression is not configured then it will use queue's
- default-node-label-expression.
- </description>
- </property>
- <property>
- <name>mapreduce.reduce.node-label-expression</name>
- <description>This is node-label configuration for Reduce task containers. If
- not configured it will use mapreduce.job.node-label-expression and if job's
- node-label expression is not configured then it will use queue's
- default-node-label-expression.
- </description>
- </property>
- <property>
- <name>mapreduce.job.counters.limit</name>
- <value>120</value>
- <description>Limit on the number of user counters allowed per job.
- </description>
- </property>
- <property>
- <name>mapreduce.framework.name</name>
- <value>local</value>
- <description>The runtime framework for executing MapReduce jobs.
- Can be one of local, classic or yarn.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.staging-dir</name>
- <value>/tmp/hadoop-yarn/staging</value>
- <description>The staging dir used while submitting jobs.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.staging-dir.erasurecoding.enabled</name>
- <value>false</value>
- <description>Whether Erasure Coding should be enabled for
- files that are copied to the MR staging area. This is a job-level
- setting.
- </description>
- </property>
- <property>
- <name>mapreduce.am.max-attempts</name>
- <value>2</value>
- <description>The maximum number of application attempts. It is a
- application-specific setting. It should not be larger than the global number
- set by resourcemanager. Otherwise, it will be override. The default number is
- set to 2, to allow at least one retry for AM.</description>
- </property>
- <!-- Job Notification Configuration -->
- <property>
- <name>mapreduce.job.end-notification.url</name>
- <!--<value>http://localhost:8080/jobstatus.php?jobId=$jobId&jobStatus=$jobStatus</value>-->
- <description>Indicates url which will be called on completion of job to inform
- end status of job.
- User can give at most 2 variables with URI : $jobId and $jobStatus.
- If they are present in URI, then they will be replaced by their
- respective values.
- </description>
- </property>
- <property>
- <name>mapreduce.job.end-notification.retry.attempts</name>
- <value>0</value>
- <description>The number of times the submitter of the job wants to retry job
- end notification if it fails. This is capped by
- mapreduce.job.end-notification.max.attempts</description>
- </property>
- <property>
- <name>mapreduce.job.end-notification.retry.interval</name>
- <value>1000</value>
- <description>The number of milliseconds the submitter of the job wants to
- wait before job end notification is retried if it fails. This is capped by
- mapreduce.job.end-notification.max.retry.interval</description>
- </property>
- <property>
- <name>mapreduce.job.end-notification.max.attempts</name>
- <value>5</value>
- <final>true</final>
- <description>The maximum number of times a URL will be read for providing job
- end notification. Cluster administrators can set this to limit how long
- after end of a job, the Application Master waits before exiting. Must be
- marked as final to prevent users from overriding this.
- </description>
- </property>
- <property>
- <name>mapreduce.job.log4j-properties-file</name>
- <value></value>
- <description>Used to override the default settings of log4j in container-log4j.properties
- for NodeManager. Like container-log4j.properties, it requires certain
- framework appenders properly defined in this overriden file. The file on the
- path will be added to distributed cache and classpath. If no-scheme is given
- in the path, it defaults to point to a log4j file on the local FS.
- </description>
- </property>
- <property>
- <name>mapreduce.job.end-notification.max.retry.interval</name>
- <value>5000</value>
- <final>true</final>
- <description>The maximum amount of time (in milliseconds) to wait before
- retrying job end notification. Cluster administrators can set this to
- limit how long the Application Master waits before exiting. Must be marked
- as final to prevent users from overriding this.</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.env</name>
- <value></value>
- <description>User added environment variables for the MR App Master
- processes. Example :
- 1) A=foo This will set the env variable A to foo
- 2) B=$B:c This is inherit tasktracker's B env variable.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.admin.user.env</name>
- <value></value>
- <description> Environment variables for the MR App Master
- processes for admin purposes. These values are set first and can be
- overridden by the user env (yarn.app.mapreduce.am.env) Example :
- 1) A=foo This will set the env variable A to foo
- 2) B=$B:c This is inherit app master's B env variable.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.command-opts</name>
- <value>-Xmx1024m</value>
- <description>Java opts for the MR App Master processes.
- The following symbol, if present, will be interpolated: @taskid@ is replaced
- by current TaskID. Any other occurrences of '@' will go unchanged.
- For example, to enable verbose gc logging to a file named for the taskid in
- /tmp and to set the heap maximum to be a gigabyte, pass a 'value' of:
- -Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc
- Usage of -Djava.library.path can cause programs to no longer function if
- hadoop native libraries are used. These values should instead be set as part
- of LD_LIBRARY_PATH in the map / reduce JVM env using the mapreduce.map.env and
- mapreduce.reduce.env config settings.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.admin-command-opts</name>
- <value></value>
- <description>Java opts for the MR App Master processes for admin purposes.
- It will appears before the opts set by yarn.app.mapreduce.am.command-opts and
- thus its options can be overridden user.
- Usage of -Djava.library.path can cause programs to no longer function if
- hadoop native libraries are used. These values should instead be set as part
- of LD_LIBRARY_PATH in the map / reduce JVM env using the mapreduce.map.env and
- mapreduce.reduce.env config settings.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.job.task.listener.thread-count</name>
- <value>30</value>
- <description>The number of threads used to handle RPC calls in the
- MR AppMaster from remote tasks</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.job.client.port-range</name>
- <value></value>
- <description>Range of ports that the MapReduce AM can use when binding.
- Leave blank if you want all possible ports.
- For example 50000-50050,50100-50200</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.webapp.port-range</name>
- <value></value>
- <description>Range of ports that the MapReduce AM can use for its webapp when binding.
- Leave blank if you want all possible ports.
- For example 50000-50050,50100-50200</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.job.committer.cancel-timeout</name>
- <value>60000</value>
- <description>The amount of time in milliseconds to wait for the output
- committer to cancel an operation if the job is killed</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.job.committer.commit-window</name>
- <value>10000</value>
- <description>Defines a time window in milliseconds for output commit
- operations. If contact with the RM has occurred within this window then
- commits are allowed, otherwise the AM will not allow output commits until
- contact with the RM has been re-established.</description>
- </property>
- <property>
- <name>mapreduce.fileoutputcommitter.algorithm.version</name>
- <value>2</value>
- <description>The file output committer algorithm version
- valid algorithm version number: 1 or 2
- default to 2, which is the original algorithm
- In algorithm version 1,
- 1. commitTask will rename directory
- $joboutput/_temporary/$appAttemptID/_temporary/$taskAttemptID/
- to
- $joboutput/_temporary/$appAttemptID/$taskID/
- 2. recoverTask will also do a rename
- $joboutput/_temporary/$appAttemptID/$taskID/
- to
- $joboutput/_temporary/($appAttemptID + 1)/$taskID/
- 3. commitJob will merge every task output file in
- $joboutput/_temporary/$appAttemptID/$taskID/
- to
- $joboutput/, then it will delete $joboutput/_temporary/
- and write $joboutput/_SUCCESS
- It has a performance regression, which is discussed in MAPREDUCE-4815.
- If a job generates many files to commit then the commitJob
- method call at the end of the job can take minutes.
- the commit is single-threaded and waits until all
- tasks have completed before commencing.
- algorithm version 2 will change the behavior of commitTask,
- recoverTask, and commitJob.
- 1. commitTask will rename all files in
- $joboutput/_temporary/$appAttemptID/_temporary/$taskAttemptID/
- to $joboutput/
- 2. recoverTask actually doesn't require to do anything, but for
- upgrade from version 1 to version 2 case, it will check if there
- are any files in
- $joboutput/_temporary/($appAttemptID - 1)/$taskID/
- and rename them to $joboutput/
- 3. commitJob can simply delete $joboutput/_temporary and write
- $joboutput/_SUCCESS
- This algorithm will reduce the output commit time for
- large jobs by having the tasks commit directly to the final
- output directory as they were completing and commitJob had
- very little to do.
- </description>
- </property>
- <property>
- <name>mapreduce.fileoutputcommitter.task.cleanup.enabled</name>
- <value>false</value>
- <description>Whether tasks should delete their task temporary directories. This is purely an
- optimization for filesystems without O(1) recursive delete, as commitJob will recursively delete
- the entire job temporary directory. HDFS has O(1) recursive delete, so this parameter is left
- false by default. Users of object stores, for example, may want to set this to true.
- Note: this is only used if mapreduce.fileoutputcommitter.algorithm.version=2</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.scheduler.heartbeat.interval-ms</name>
- <value>1000</value>
- <description>The interval in ms at which the MR AppMaster should send
- heartbeats to the ResourceManager</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.client-am.ipc.max-retries</name>
- <value>3</value>
- <description>The number of client retries to the AM - before reconnecting
- to the RM to fetch Application Status.</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.client-am.ipc.max-retries-on-timeouts</name>
- <value>3</value>
- <description>The number of client retries on socket timeouts to the AM - before
- reconnecting to the RM to fetch Application Status.</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.client.max-retries</name>
- <value>3</value>
- <description>The number of client retries to the RM/HS before
- throwing exception. This is a layer above the ipc.</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.resource.mb</name>
- <value>1536</value>
- <description>The amount of memory the MR AppMaster needs.</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.resource.cpu-vcores</name>
- <value>1</value>
- <description>
- The number of virtual CPU cores the MR AppMaster needs.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.hard-kill-timeout-ms</name>
- <value>10000</value>
- <description>
- Number of milliseconds to wait before the job client kills the application.
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.client.job.max-retries</name>
- <value>3</value>
- <description>The number of retries the client will make for getJob and
- dependent calls.
- This is needed for non-HDFS DFS where additional, high level
- retries are required to avoid spurious failures during the getJob call.
- 30 is a good value for WASB</description>
- </property>
- <property>
- <name>yarn.app.mapreduce.client.job.retry-interval</name>
- <value>2000</value>
- <description>The delay between getJob retries in ms for retries configured
- with yarn.app.mapreduce.client.job.max-retries.</description>
- </property>
- <property>
- <description>CLASSPATH for MR applications. A comma-separated list
- of CLASSPATH entries. If mapreduce.application.framework is set then this
- must specify the appropriate classpath for that archive, and the name of
- the archive must be present in the classpath.
- If mapreduce.app-submission.cross-platform is false, platform-specific
- environment vairable expansion syntax would be used to construct the default
- CLASSPATH entries.
- For Linux:
- $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,
- $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*.
- For Windows:
- %HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/*,
- %HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/lib/*.
- If mapreduce.app-submission.cross-platform is true, platform-agnostic default
- CLASSPATH for MR applications would be used:
- {{HADOOP_MAPRED_HOME}}/share/hadoop/mapreduce/*,
- {{HADOOP_MAPRED_HOME}}/share/hadoop/mapreduce/lib/*
- Parameter expansion marker will be replaced by NodeManager on container
- launch based on the underlying OS accordingly.
- </description>
- <name>mapreduce.application.classpath</name>
- <value></value>
- </property>
- <property>
- <description>If enabled, user can submit an application cross-platform
- i.e. submit an application from a Windows client to a Linux/Unix server or
- vice versa.
- </description>
- <name>mapreduce.app-submission.cross-platform</name>
- <value>false</value>
- </property>
- <property>
- <description>Path to the MapReduce framework archive. If set, the framework
- archive will automatically be distributed along with the job, and this
- path would normally reside in a public location in an HDFS filesystem. As
- with distributed cache files, this can be a URL with a fragment specifying
- the alias to use for the archive name. For example,
- hdfs:/mapred/framework/hadoop-mapreduce-2.1.1.tar.gz#mrframework would
- alias the localized archive as "mrframework".
- Note that mapreduce.application.classpath must include the appropriate
- classpath for the specified framework. The base name of the archive, or
- alias of the archive if an alias is used, must appear in the specified
- classpath.
- </description>
- <name>mapreduce.application.framework.path</name>
- <value></value>
- </property>
- <property>
- <name>mapreduce.job.classloader</name>
- <value>false</value>
- <description>Whether to use a separate (isolated) classloader for
- user classes in the task JVM.</description>
- </property>
- <property>
- <name>mapreduce.job.classloader.system.classes</name>
- <value></value>
- <description>Used to override the default definition of the system classes for
- the job classloader. The system classes are a comma-separated list of
- patterns that indicate whether to load a class from the system classpath,
- instead from the user-supplied JARs, when mapreduce.job.classloader is
- enabled.
- A positive pattern is defined as:
- 1. A single class name 'C' that matches 'C' and transitively all nested
- classes 'C$*' defined in C;
- 2. A package name ending with a '.' (e.g., "com.example.") that matches
- all classes from that package.
- A negative pattern is defined by a '-' in front of a positive pattern
- (e.g., "-com.example.").
- A class is considered a system class if and only if it matches one of the
- positive patterns and none of the negative ones. More formally:
- A class is a member of the inclusion set I if it matches one of the positive
- patterns. A class is a member of the exclusion set E if it matches one of
- the negative patterns. The set of system classes S = I \ E.
- </description>
- </property>
- <property>
- <name>mapreduce.jvm.system-properties-to-log</name>
- <value>os.name,os.version,java.home,java.runtime.version,java.vendor,java.version,java.vm.name,java.class.path,java.io.tmpdir,user.dir,user.name</value>
- <description>Comma-delimited list of system properties to log on mapreduce JVM start</description>
- </property>
- <!-- jobhistory properties -->
- <property>
- <name>mapreduce.jobhistory.address</name>
- <value>0.0.0.0:10020</value>
- <description>MapReduce JobHistory Server IPC host:port</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.webapp.address</name>
- <value>0.0.0.0:19888</value>
- <description>MapReduce JobHistory Server Web UI host:port</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.webapp.https.address</name>
- <value>0.0.0.0:19890</value>
- <description>
- The https address the MapReduce JobHistory Server WebApp is on.
- </description>
- </property>
- <property>
- <name>mapreduce.jobhistory.keytab</name>
- <description>
- Location of the kerberos keytab file for the MapReduce
- JobHistory Server.
- </description>
- <value>/etc/security/keytab/jhs.service.keytab</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.principal</name>
- <description>
- Kerberos principal name for the MapReduce JobHistory Server.
- </description>
- <value>jhs/_HOST@REALM.TLD</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.intermediate-done-dir</name>
- <value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>
- <description></description>
- </property>
- <property>
- <name>mapreduce.jobhistory.done-dir</name>
- <value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>
- <description></description>
- </property>
- <property>
- <name>mapreduce.jobhistory.cleaner.enable</name>
- <value>true</value>
- <description></description>
- </property>
- <property>
- <name>mapreduce.jobhistory.cleaner.interval-ms</name>
- <value>86400000</value>
- <description> How often the job history cleaner checks for files to delete,
- in milliseconds. Defaults to 86400000 (one day). Files are only deleted if
- they are older than mapreduce.jobhistory.max-age-ms.
- </description>
- </property>
- <property>
- <name>mapreduce.jobhistory.max-age-ms</name>
- <value>604800000</value>
- <description> Job history files older than this many milliseconds will
- be deleted when the history cleaner runs. Defaults to 604800000 (1 week).
- </description>
- </property>
- <property>
- <name>mapreduce.jobhistory.client.thread-count</name>
- <value>10</value>
- <description>The number of threads to handle client API requests</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.datestring.cache.size</name>
- <value>200000</value>
- <description>Size of the date string cache. Effects the number of directories
- which will be scanned to find a job.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.joblist.cache.size</name>
- <value>20000</value>
- <description>Size of the job list cache</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.loadedjobs.cache.size</name>
- <value>5</value>
- <description>Size of the loaded job cache. This property is ignored if
- the property mapreduce.jobhistory.loadedtasks.cache.size is set to a
- positive value.
- </description>
- </property>
- <property>
- <name>mapreduce.jobhistory.loadedtasks.cache.size</name>
- <value></value>
- <description>Change the job history cache limit to be set in terms
- of total task count. If the total number of tasks loaded exceeds
- this value, then the job cache will be shrunk down until it is
- under this limit (minimum 1 job in cache). If this value is empty
- or nonpositive then the cache reverts to using the property
- mapreduce.jobhistory.loadedjobs.cache.size as a job cache size.
- Two recommendations for the mapreduce.jobhistory.loadedtasks.cache.size
- property:
- 1) For every 100k of cache size, set the heap size of the Job History
- Server to 1.2GB. For example,
- mapreduce.jobhistory.loadedtasks.cache.size=500000, heap size=6GB.
- 2) Make sure that the cache size is larger than the number of tasks
- required for the largest job run on the cluster. It might be a good
- idea to set the value slightly higher (say, 20%) in order to allow
- for job size growth.
- </description>
- </property>
- <property>
- <name>mapreduce.jobhistory.move.interval-ms</name>
- <value>180000</value>
- <description>Scan for history files to more from intermediate done dir to done
- dir at this frequency.
- </description>
- </property>
- <property>
- <name>mapreduce.jobhistory.move.thread-count</name>
- <value>3</value>
- <description>The number of threads used to move files.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.store.class</name>
- <value></value>
- <description>The HistoryStorage class to use to cache history data.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.minicluster.fixed.ports</name>
- <value>false</value>
- <description>Whether to use fixed ports with the minicluster</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.admin.address</name>
- <value>0.0.0.0:10033</value>
- <description>The address of the History server admin interface.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.admin.acl</name>
- <value>*</value>
- <description>ACL of who can be admin of the History server.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.recovery.enable</name>
- <value>false</value>
- <description>Enable the history server to store server state and recover
- server state upon startup. If enabled then
- mapreduce.jobhistory.recovery.store.class must be specified.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.recovery.store.class</name>
- <value>org.apache.hadoop.mapreduce.v2.hs.HistoryServerFileSystemStateStoreService</value>
- <description>The HistoryServerStateStoreService class to store history server
- state for recovery.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.recovery.store.fs.uri</name>
- <value>${hadoop.tmp.dir}/mapred/history/recoverystore</value>
- <!--value>hdfs://localhost:9000/mapred/history/recoverystore</value-->
- <description>The URI where history server state will be stored if
- HistoryServerFileSystemStateStoreService is configured as the recovery
- storage class.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.recovery.store.leveldb.path</name>
- <value>${hadoop.tmp.dir}/mapred/history/recoverystore</value>
- <description>The URI where history server state will be stored if
- HistoryServerLeveldbSystemStateStoreService is configured as the recovery
- storage class.</description>
- </property>
- <property>
- <name>mapreduce.jobhistory.http.policy</name>
- <value>HTTP_ONLY</value>
- <description>
- This configures the HTTP endpoint for JobHistoryServer web UI.
- The following values are supported:
- - HTTP_ONLY : Service is provided only on http
- - HTTPS_ONLY : Service is provided only on https
- </description>
- </property>
- <property>
- <name>mapreduce.jobhistory.jobname.limit</name>
- <value>50</value>
- <description>
- Number of characters allowed for job name in Job History Server web page.
- </description>
- </property>
- <property>
- <description>
- File format the AM will use when generating the .jhist file. Valid
- values are "json" for text output and "binary" for faster parsing.
- </description>
- <name>mapreduce.jobhistory.jhist.format</name>
- <value>binary</value>
- </property>
- <property>
- <name>mapreduce.job.heap.memory-mb.ratio</name>
- <value>0.8</value>
- <description>The ratio of heap-size to container-size. If no -Xmx is
- specified, it is calculated as
- (mapreduce.{map|reduce}.memory.mb * mapreduce.heap.memory-mb.ratio).
- If -Xmx is specified but not mapreduce.{map|reduce}.memory.mb, it is
- calculated as (heapSize / mapreduce.heap.memory-mb.ratio).
- </description>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.containerlauncher.threadpool-initial-size</name>
- <value>10</value>
- <description>The initial size of thread pool to launch containers in the
- app master.
- </description>
- </property>
- <property>
- <name>mapreduce.task.exit.timeout</name>
- <value>60000</value>
- <description>The number of milliseconds before a task will be
- terminated if it stays in finishing state for too long.
- After a task attempt completes from TaskUmbilicalProtocol's point of view,
- it will be transitioned to finishing state. That will give a chance for the
- task to exit by itself.
- </description>
- </property>
- <property>
- <name>mapreduce.task.exit.timeout.check-interval-ms</name>
- <value>20000</value>
- <description>The interval in milliseconds between which the MR framework
- checks if task attempts stay in finishing state for too long.
- </description>
- </property>
- <property>
- <name>mapreduce.job.encrypted-intermediate-data</name>
- <value>false</value>
- <description>Encrypt intermediate MapReduce spill files or not
- default is false</description>
- </property>
- <property>
- <name>mapreduce.job.encrypted-intermediate-data-key-size-bits</name>
- <value>128</value>
- <description>Mapreduce encrypt data key size default is 128</description>
- </property>
- <property>
- <name>mapreduce.job.encrypted-intermediate-data.buffer.kb</name>
- <value>128</value>
- <description>Buffer size for intermediate encrypt data in kb
- default is 128</description>
- </property>
- <property>
- <name>mapreduce.task.local-fs.write-limit.bytes</name>
- <value>-1</value>
- <description>Limit on the byte written to the local file system by each task.
- This limit only applies to writes that go through the Hadoop filesystem APIs
- within the task process (i.e.: writes that will update the local filesystem's
- BYTES_WRITTEN counter). It does not cover other writes such as logging,
- sideband writes from subprocesses (e.g.: streaming jobs), etc.
- Negative values disable the limit.
- default is -1</description>
- </property>
- <property>
- <description>
- Enable the CSRF filter for the job history web app
- </description>
- <name>mapreduce.jobhistory.webapp.rest-csrf.enabled</name>
- <value>false</value>
- </property>
- <property>
- <description>
- Optional parameter that indicates the custom header name to use for CSRF
- protection.
- </description>
- <name>mapreduce.jobhistory.webapp.rest-csrf.custom-header</name>
- <value>X-XSRF-Header</value>
- </property>
- <property>
- <description>
- Optional parameter that indicates the list of HTTP methods that do not
- require CSRF protection
- </description>
- <name>mapreduce.jobhistory.webapp.rest-csrf.methods-to-ignore</name>
- <value>GET,OPTIONS,HEAD</value>
- </property>
- <property>
- <name>mapreduce.job.cache.limit.max-resources</name>
- <value>0</value>
- <description>The maximum number of resources a map reduce job is allowed to
- submit for localization via files, libjars, archives, and jobjar command
- line arguments and through the distributed cache. If set to 0 the limit is
- ignored.
- </description>
- </property>
- <property>
- <name>mapreduce.job.cache.limit.max-resources-mb</name>
- <value>0</value>
- <description>The maximum size (in MB) a map reduce job is allowed to submit
- for localization via files, libjars, archives, and jobjar command line
- arguments and through the distributed cache. If set to 0 the limit is
- ignored.
- </description>
- </property>
- <property>
- <name>mapreduce.job.cache.limit.max-single-resource-mb</name>
- <value>0</value>
- <description>The maximum size (in MB) of a single resource a map reduce job
- is allow to submit for localization via files, libjars, archives, and
- jobjar command line arguments and through the distributed cache. If set to
- 0 the limit is ignored.
- </description>
- </property>
- <property>
- <description>
- Value of the xframe-options
- </description>
- <name>mapreduce.jobhistory.webapp.xfs-filter.xframe-options</name>
- <value>SAMEORIGIN</value>
- </property>
- <property>
- <description>
- The maximum number of tasks that a job can have so that the Job History
- Server will fully parse its associated job history file and load it into
- memory. A value of -1 (default) will allow all jobs to be loaded.
- </description>
- <name>mapreduce.jobhistory.loadedjob.tasks.max</name>
- <value>-1</value>
- </property>
- <property>
- <description>
- The list of job configuration properties whose value will be redacted.
- </description>
- <name>mapreduce.job.redacted-properties</name>
- <value></value>
- </property>
- <property>
- <description>
- This configuration is a regex expression. The list of configurations that
- match the regex expression will be sent to RM. RM will use these
- configurations for renewing tokens.
- This configuration is added for below scenario: User needs to run distcp
- jobs across two clusters, but the RM does not have necessary hdfs
- configurations to connect to the remote hdfs cluster. Hence, user relies on
- this config to send the configurations to RM and RM uses these
- configurations to renew tokens.
- For example the following regex expression indicates the minimum required
- configs for RM to connect to a remote hdfs cluster:
- dfs.nameservices|^dfs.namenode.rpc-address.*$|^dfs.ha.namenodes.*$|^dfs.client.failover.proxy.provider.*$|dfs.namenode.kerberos.principal
- </description>
- <name>mapreduce.job.send-token-conf</name>
- <value></value>
- </property>
- <property>
- <description>
- The name of an output committer factory for MRv2 FileOutputFormat to use
- for committing work. If set, overrides any per-filesystem committer
- defined for the destination filesystem.
- </description>
- <name>mapreduce.outputcommitter.factory.class</name>
- <value></value>
- </property>
- <property>
- <name>mapreduce.outputcommitter.factory.scheme.s3a</name>
- <value>org.apache.hadoop.fs.s3a.commit.S3ACommitterFactory</value>
- <description>
- The committer factory to use when writing data to S3A filesystems.
- If mapreduce.outputcommitter.factory.class is set, it will
- override this property.
- </description>
- </property>
- </configuration>
|