hdfs-default.xml 112 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185
  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <!--
  4. Licensed to the Apache Software Foundation (ASF) under one or more
  5. contributor license agreements. See the NOTICE file distributed with
  6. this work for additional information regarding copyright ownership.
  7. The ASF licenses this file to You under the Apache License, Version 2.0
  8. (the "License"); you may not use this file except in compliance with
  9. the License. You may obtain a copy of the License at
  10. http://www.apache.org/licenses/LICENSE-2.0
  11. Unless required by applicable law or agreed to in writing, software
  12. distributed under the License is distributed on an "AS IS" BASIS,
  13. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. See the License for the specific language governing permissions and
  15. limitations under the License.
  16. -->
  17. <!-- Do not modify this file directly. Instead, copy entries that you -->
  18. <!-- wish to modify from this file into hdfs-site.xml and change them -->
  19. <!-- there. If hdfs-site.xml does not already exist, create it. -->
  20. <configuration>
  21. <property>
  22. <name>hadoop.hdfs.configuration.version</name>
  23. <value>1</value>
  24. <description>version of this configuration file</description>
  25. </property>
  26. <property>
  27. <name>dfs.namenode.rpc-address</name>
  28. <value></value>
  29. <description>
  30. RPC address that handles all clients requests. In the case of HA/Federation where multiple namenodes exist,
  31. the name service id is added to the name e.g. dfs.namenode.rpc-address.ns1
  32. dfs.namenode.rpc-address.EXAMPLENAMESERVICE
  33. The value of this property will take the form of nn-host1:rpc-port.
  34. </description>
  35. </property>
  36. <property>
  37. <name>dfs.namenode.rpc-bind-host</name>
  38. <value></value>
  39. <description>
  40. The actual address the RPC server will bind to. If this optional address is
  41. set, it overrides only the hostname portion of dfs.namenode.rpc-address.
  42. It can also be specified per name node or name service for HA/Federation.
  43. This is useful for making the name node listen on all interfaces by
  44. setting it to 0.0.0.0.
  45. </description>
  46. </property>
  47. <property>
  48. <name>dfs.namenode.servicerpc-address</name>
  49. <value></value>
  50. <description>
  51. RPC address for HDFS Services communication. BackupNode, Datanodes and all other services should be
  52. connecting to this address if it is configured. In the case of HA/Federation where multiple namenodes exist,
  53. the name service id is added to the name e.g. dfs.namenode.servicerpc-address.ns1
  54. dfs.namenode.rpc-address.EXAMPLENAMESERVICE
  55. The value of this property will take the form of nn-host1:rpc-port.
  56. If the value of this property is unset the value of dfs.namenode.rpc-address will be used as the default.
  57. </description>
  58. </property>
  59. <property>
  60. <name>dfs.namenode.servicerpc-bind-host</name>
  61. <value></value>
  62. <description>
  63. The actual address the service RPC server will bind to. If this optional address is
  64. set, it overrides only the hostname portion of dfs.namenode.servicerpc-address.
  65. It can also be specified per name node or name service for HA/Federation.
  66. This is useful for making the name node listen on all interfaces by
  67. setting it to 0.0.0.0.
  68. </description>
  69. </property>
  70. <property>
  71. <name>dfs.namenode.lifeline.rpc-address</name>
  72. <value></value>
  73. <description>
  74. NameNode RPC lifeline address. This is an optional separate RPC address
  75. that can be used to isolate health checks and liveness to protect against
  76. resource exhaustion in the main RPC handler pool. In the case of
  77. HA/Federation where multiple NameNodes exist, the name service ID is added
  78. to the name e.g. dfs.namenode.lifeline.rpc-address.ns1. The value of this
  79. property will take the form of nn-host1:rpc-port. If this property is not
  80. defined, then the NameNode will not start a lifeline RPC server. By
  81. default, the property is not defined.
  82. </description>
  83. </property>
  84. <property>
  85. <name>dfs.namenode.lifeline.rpc-bind-host</name>
  86. <value></value>
  87. <description>
  88. The actual address the lifeline RPC server will bind to. If this optional
  89. address is set, it overrides only the hostname portion of
  90. dfs.namenode.lifeline.rpc-address. It can also be specified per name node
  91. or name service for HA/Federation. This is useful for making the name node
  92. listen on all interfaces by setting it to 0.0.0.0.
  93. </description>
  94. </property>
  95. <property>
  96. <name>dfs.namenode.secondary.http-address</name>
  97. <value>0.0.0.0:50090</value>
  98. <description>
  99. The secondary namenode http server address and port.
  100. </description>
  101. </property>
  102. <property>
  103. <name>dfs.namenode.secondary.https-address</name>
  104. <value>0.0.0.0:50091</value>
  105. <description>
  106. The secondary namenode HTTPS server address and port.
  107. </description>
  108. </property>
  109. <property>
  110. <name>dfs.datanode.address</name>
  111. <value>0.0.0.0:50010</value>
  112. <description>
  113. The datanode server address and port for data transfer.
  114. </description>
  115. </property>
  116. <property>
  117. <name>dfs.datanode.http.address</name>
  118. <value>0.0.0.0:50075</value>
  119. <description>
  120. The datanode http server address and port.
  121. </description>
  122. </property>
  123. <property>
  124. <name>dfs.datanode.ipc.address</name>
  125. <value>0.0.0.0:50020</value>
  126. <description>
  127. The datanode ipc server address and port.
  128. </description>
  129. </property>
  130. <property>
  131. <name>dfs.datanode.handler.count</name>
  132. <value>10</value>
  133. <description>The number of server threads for the datanode.</description>
  134. </property>
  135. <property>
  136. <name>dfs.namenode.http-address</name>
  137. <value>0.0.0.0:50070</value>
  138. <description>
  139. The address and the base port where the dfs namenode web ui will listen on.
  140. </description>
  141. </property>
  142. <property>
  143. <name>dfs.namenode.http-bind-host</name>
  144. <value></value>
  145. <description>
  146. The actual adress the HTTP server will bind to. If this optional address
  147. is set, it overrides only the hostname portion of dfs.namenode.http-address.
  148. It can also be specified per name node or name service for HA/Federation.
  149. This is useful for making the name node HTTP server listen on all
  150. interfaces by setting it to 0.0.0.0.
  151. </description>
  152. </property>
  153. <property>
  154. <name>dfs.namenode.heartbeat.recheck-interval</name>
  155. <value>300000</value>
  156. <description>
  157. This time decides the interval to check for expired datanodes.
  158. With this value and dfs.heartbeat.interval, the interval of
  159. deciding the datanode is stale or not is also calculated.
  160. The unit of this configuration is millisecond.
  161. </description>
  162. </property>
  163. <property>
  164. <name>dfs.http.policy</name>
  165. <value>HTTP_ONLY</value>
  166. <description>Decide if HTTPS(SSL) is supported on HDFS
  167. This configures the HTTP endpoint for HDFS daemons:
  168. The following values are supported:
  169. - HTTP_ONLY : Service is provided only on http
  170. - HTTPS_ONLY : Service is provided only on https
  171. - HTTP_AND_HTTPS : Service is provided both on http and https
  172. </description>
  173. </property>
  174. <property>
  175. <name>dfs.client.https.need-auth</name>
  176. <value>false</value>
  177. <description>Whether SSL client certificate authentication is required
  178. </description>
  179. </property>
  180. <property>
  181. <name>dfs.client.cached.conn.retry</name>
  182. <value>3</value>
  183. <description>The number of times the HDFS client will pull a socket from the
  184. cache. Once this number is exceeded, the client will try to create a new
  185. socket.
  186. </description>
  187. </property>
  188. <property>
  189. <name>dfs.https.server.keystore.resource</name>
  190. <value>ssl-server.xml</value>
  191. <description>Resource file from which ssl server keystore
  192. information will be extracted
  193. </description>
  194. </property>
  195. <property>
  196. <name>dfs.client.https.keystore.resource</name>
  197. <value>ssl-client.xml</value>
  198. <description>Resource file from which ssl client keystore
  199. information will be extracted
  200. </description>
  201. </property>
  202. <property>
  203. <name>dfs.datanode.https.address</name>
  204. <value>0.0.0.0:50475</value>
  205. <description>The datanode secure http server address and port.</description>
  206. </property>
  207. <property>
  208. <name>dfs.namenode.https-address</name>
  209. <value>0.0.0.0:50470</value>
  210. <description>The namenode secure http server address and port.</description>
  211. </property>
  212. <property>
  213. <name>dfs.namenode.https-bind-host</name>
  214. <value></value>
  215. <description>
  216. The actual adress the HTTPS server will bind to. If this optional address
  217. is set, it overrides only the hostname portion of dfs.namenode.https-address.
  218. It can also be specified per name node or name service for HA/Federation.
  219. This is useful for making the name node HTTPS server listen on all
  220. interfaces by setting it to 0.0.0.0.
  221. </description>
  222. </property>
  223. <property>
  224. <name>dfs.datanode.dns.interface</name>
  225. <value>default</value>
  226. <description>
  227. The name of the Network Interface from which a data node should
  228. report its IP address. e.g. eth2. This setting may be required for some
  229. multi-homed nodes where the DataNodes are assigned multiple hostnames
  230. and it is desirable for the DataNodes to use a non-default hostname.
  231. Prefer using hadoop.security.dns.interface over
  232. dfs.datanode.dns.interface.
  233. </description>
  234. </property>
  235. <property>
  236. <name>dfs.datanode.dns.nameserver</name>
  237. <value>default</value>
  238. <description>
  239. The host name or IP address of the name server (DNS) which a DataNode
  240. should use to determine its own host name.
  241. Prefer using hadoop.security.dns.nameserver over
  242. dfs.datanode.dns.nameserver.
  243. </description>
  244. </property>
  245. <property>
  246. <name>dfs.namenode.backup.address</name>
  247. <value>0.0.0.0:50100</value>
  248. <description>
  249. The backup node server address and port.
  250. If the port is 0 then the server will start on a free port.
  251. </description>
  252. </property>
  253. <property>
  254. <name>dfs.namenode.backup.http-address</name>
  255. <value>0.0.0.0:50105</value>
  256. <description>
  257. The backup node http server address and port.
  258. If the port is 0 then the server will start on a free port.
  259. </description>
  260. </property>
  261. <property>
  262. <name>dfs.namenode.replication.considerLoad</name>
  263. <value>true</value>
  264. <description>Decide if chooseTarget considers the target's load or not
  265. </description>
  266. </property>
  267. <property>
  268. <name>dfs.namenode.replication.considerLoad.factor</name>
  269. <value>2.0</value>
  270. <description>The factor by which a node's load can exceed the average
  271. before being rejected for writes, only if considerLoad is true.
  272. </description>
  273. </property>
  274. <property>
  275. <name>dfs.default.chunk.view.size</name>
  276. <value>32768</value>
  277. <description>The number of bytes to view for a file on the browser.
  278. </description>
  279. </property>
  280. <property>
  281. <name>dfs.datanode.du.reserved</name>
  282. <value>0</value>
  283. <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use.
  284. Specific storage type based reservation is also supported. The property can be followed with
  285. corresponding storage types ([ssd]/[disk]/[archive]/[ram_disk]) for cluster with heterogeneous storage.
  286. For example, reserved space for RAM_DISK storage can be configured using property
  287. 'dfs.datanode.du.reserved.ram_disk'. If specific storage type reservation is not configured
  288. then dfs.datanode.du.reserved will be used.
  289. </description>
  290. </property>
  291. <property>
  292. <name>dfs.namenode.name.dir</name>
  293. <value>file://${hadoop.tmp.dir}/dfs/name</value>
  294. <description>Determines where on the local filesystem the DFS name node
  295. should store the name table(fsimage). If this is a comma-delimited list
  296. of directories then the name table is replicated in all of the
  297. directories, for redundancy. </description>
  298. </property>
  299. <property>
  300. <name>dfs.namenode.name.dir.restore</name>
  301. <value>false</value>
  302. <description>Set to true to enable NameNode to attempt recovering a
  303. previously failed dfs.namenode.name.dir. When enabled, a recovery of any
  304. failed directory is attempted during checkpoint.</description>
  305. </property>
  306. <property>
  307. <name>dfs.namenode.fs-limits.max-component-length</name>
  308. <value>255</value>
  309. <description>Defines the maximum number of bytes in UTF-8 encoding in each
  310. component of a path. A value of 0 will disable the check.</description>
  311. </property>
  312. <property>
  313. <name>dfs.namenode.fs-limits.max-directory-items</name>
  314. <value>1048576</value>
  315. <description>Defines the maximum number of items that a directory may
  316. contain. Cannot set the property to a value less than 1 or more than
  317. 6400000.</description>
  318. </property>
  319. <property>
  320. <name>dfs.namenode.fs-limits.min-block-size</name>
  321. <value>1048576</value>
  322. <description>Minimum block size in bytes, enforced by the Namenode at create
  323. time. This prevents the accidental creation of files with tiny block
  324. sizes (and thus many blocks), which can degrade
  325. performance.</description>
  326. </property>
  327. <property>
  328. <name>dfs.namenode.fs-limits.max-blocks-per-file</name>
  329. <value>1048576</value>
  330. <description>Maximum number of blocks per file, enforced by the Namenode on
  331. write. This prevents the creation of extremely large files which can
  332. degrade performance.</description>
  333. </property>
  334. <property>
  335. <name>dfs.namenode.edits.dir</name>
  336. <value>${dfs.namenode.name.dir}</value>
  337. <description>Determines where on the local filesystem the DFS name node
  338. should store the transaction (edits) file. If this is a comma-delimited list
  339. of directories then the transaction file is replicated in all of the
  340. directories, for redundancy. Default value is same as dfs.namenode.name.dir
  341. </description>
  342. </property>
  343. <property>
  344. <name>dfs.namenode.edits.dir.required</name>
  345. <value></value>
  346. <description>This should be a subset of dfs.namenode.edits.dir,
  347. to ensure that the transaction (edits) file
  348. in these places is always up-to-date.
  349. </description>
  350. </property>
  351. <property>
  352. <name>dfs.namenode.shared.edits.dir</name>
  353. <value></value>
  354. <description>A directory on shared storage between the multiple namenodes
  355. in an HA cluster. This directory will be written by the active and read
  356. by the standby in order to keep the namespaces synchronized. This directory
  357. does not need to be listed in dfs.namenode.edits.dir above. It should be
  358. left empty in a non-HA cluster.
  359. </description>
  360. </property>
  361. <property>
  362. <name>dfs.namenode.edits.journal-plugin.qjournal</name>
  363. <value>org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager</value>
  364. </property>
  365. <property>
  366. <name>dfs.permissions.enabled</name>
  367. <value>true</value>
  368. <description>
  369. If "true", enable permission checking in HDFS.
  370. If "false", permission checking is turned off,
  371. but all other behavior is unchanged.
  372. Switching from one parameter value to the other does not change the mode,
  373. owner or group of files or directories.
  374. </description>
  375. </property>
  376. <property>
  377. <name>dfs.permissions.superusergroup</name>
  378. <value>supergroup</value>
  379. <description>The name of the group of super-users.
  380. The value should be a single group name.
  381. </description>
  382. </property>
  383. <property>
  384. <name>dfs.cluster.administrators</name>
  385. <value></value>
  386. <description>ACL for the admins, this configuration is used to control
  387. who can access the default servlets in the namenode, etc. The value
  388. should be a comma separated list of users and groups. The user list
  389. comes first and is separated by a space followed by the group list,
  390. e.g. "user1,user2 group1,group2". Both users and groups are optional,
  391. so "user1", " group1", "", "user1 group1", "user1,user2 group1,group2"
  392. are all valid (note the leading space in " group1"). '*' grants access
  393. to all users and groups, e.g. '*', '* ' and ' *' are all valid.
  394. </description>
  395. </property>
  396. <property>
  397. <name>dfs.namenode.acls.enabled</name>
  398. <value>false</value>
  399. <description>
  400. Set to true to enable support for HDFS ACLs (Access Control Lists). By
  401. default, ACLs are disabled. When ACLs are disabled, the NameNode rejects
  402. all RPCs related to setting or getting ACLs.
  403. </description>
  404. </property>
  405. <property>
  406. <name>dfs.namenode.lazypersist.file.scrub.interval.sec</name>
  407. <value>300</value>
  408. <description>
  409. The NameNode periodically scans the namespace for LazyPersist files with
  410. missing blocks and unlinks them from the namespace. This configuration key
  411. controls the interval between successive scans. Set it to a negative value
  412. to disable this behavior.
  413. </description>
  414. </property>
  415. <property>
  416. <name>dfs.block.access.token.enable</name>
  417. <value>false</value>
  418. <description>
  419. If "true", access tokens are used as capabilities for accessing datanodes.
  420. If "false", no access tokens are checked on accessing datanodes.
  421. </description>
  422. </property>
  423. <property>
  424. <name>dfs.block.access.key.update.interval</name>
  425. <value>600</value>
  426. <description>
  427. Interval in minutes at which namenode updates its access keys.
  428. </description>
  429. </property>
  430. <property>
  431. <name>dfs.block.access.token.lifetime</name>
  432. <value>600</value>
  433. <description>The lifetime of access tokens in minutes.</description>
  434. </property>
  435. <property>
  436. <name>dfs.datanode.data.dir</name>
  437. <value>file://${hadoop.tmp.dir}/dfs/data</value>
  438. <description>Determines where on the local filesystem an DFS data node
  439. should store its blocks. If this is a comma-delimited
  440. list of directories, then data will be stored in all named
  441. directories, typically on different devices. The directories should be tagged
  442. with corresponding storage types ([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK]) for HDFS
  443. storage policies. The default storage type will be DISK if the directory does
  444. not have a storage type tagged explicitly. Directories that do not exist will
  445. be created if local filesystem permission allows.
  446. </description>
  447. </property>
  448. <property>
  449. <name>dfs.datanode.data.dir.perm</name>
  450. <value>700</value>
  451. <description>Permissions for the directories on on the local filesystem where
  452. the DFS data node store its blocks. The permissions can either be octal or
  453. symbolic.</description>
  454. </property>
  455. <property>
  456. <name>dfs.replication</name>
  457. <value>3</value>
  458. <description>Default block replication.
  459. The actual number of replications can be specified when the file is created.
  460. The default is used if replication is not specified in create time.
  461. </description>
  462. </property>
  463. <property>
  464. <name>dfs.replication.max</name>
  465. <value>512</value>
  466. <description>Maximal block replication.
  467. </description>
  468. </property>
  469. <property>
  470. <name>dfs.namenode.replication.min</name>
  471. <value>1</value>
  472. <description>Minimal block replication.
  473. </description>
  474. </property>
  475. <property>
  476. <name>dfs.namenode.safemode.replication.min</name>
  477. <value></value>
  478. <description>
  479. a separate minimum replication factor for calculating safe block count.
  480. This is an expert level setting.
  481. Setting this lower than the dfs.namenode.replication.min
  482. is not recommend and/or dangerous for production setups.
  483. When it's not set it takes value from dfs.namenode.replication.min
  484. </description>
  485. </property>
  486. <property>
  487. <name>dfs.blocksize</name>
  488. <value>134217728</value>
  489. <description>
  490. The default block size for new files, in bytes.
  491. You can use the following suffix (case insensitive):
  492. k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.),
  493. Or provide complete size in bytes (such as 134217728 for 128 MB).
  494. </description>
  495. </property>
  496. <property>
  497. <name>dfs.client.block.write.retries</name>
  498. <value>3</value>
  499. <description>The number of retries for writing blocks to the data nodes,
  500. before we signal failure to the application.
  501. </description>
  502. </property>
  503. <property>
  504. <name>dfs.client.block.write.replace-datanode-on-failure.enable</name>
  505. <value>true</value>
  506. <description>
  507. If there is a datanode/network failure in the write pipeline,
  508. DFSClient will try to remove the failed datanode from the pipeline
  509. and then continue writing with the remaining datanodes. As a result,
  510. the number of datanodes in the pipeline is decreased. The feature is
  511. to add new datanodes to the pipeline.
  512. This is a site-wide property to enable/disable the feature.
  513. When the cluster size is extremely small, e.g. 3 nodes or less, cluster
  514. administrators may want to set the policy to NEVER in the default
  515. configuration file or disable this feature. Otherwise, users may
  516. experience an unusually high rate of pipeline failures since it is
  517. impossible to find new datanodes for replacement.
  518. See also dfs.client.block.write.replace-datanode-on-failure.policy
  519. </description>
  520. </property>
  521. <property>
  522. <name>dfs.client.block.write.replace-datanode-on-failure.policy</name>
  523. <value>DEFAULT</value>
  524. <description>
  525. This property is used only if the value of
  526. dfs.client.block.write.replace-datanode-on-failure.enable is true.
  527. ALWAYS: always add a new datanode when an existing datanode is removed.
  528. NEVER: never add a new datanode.
  529. DEFAULT:
  530. Let r be the replication number.
  531. Let n be the number of existing datanodes.
  532. Add a new datanode only if r is greater than or equal to 3 and either
  533. (1) floor(r/2) is greater than or equal to n; or
  534. (2) r is greater than n and the block is hflushed/appended.
  535. </description>
  536. </property>
  537. <property>
  538. <name>dfs.client.block.write.replace-datanode-on-failure.best-effort</name>
  539. <value>false</value>
  540. <description>
  541. This property is used only if the value of
  542. dfs.client.block.write.replace-datanode-on-failure.enable is true.
  543. Best effort means that the client will try to replace a failed datanode
  544. in write pipeline (provided that the policy is satisfied), however, it
  545. continues the write operation in case that the datanode replacement also
  546. fails.
  547. Suppose the datanode replacement fails.
  548. false: An exception should be thrown so that the write will fail.
  549. true : The write should be resumed with the remaining datandoes.
  550. Note that setting this property to true allows writing to a pipeline
  551. with a smaller number of datanodes. As a result, it increases the
  552. probability of data loss.
  553. </description>
  554. </property>
  555. <property>
  556. <name>dfs.client.block.write.replace-datanode-on-failure.min-replication</name>
  557. <value>0</value>
  558. <description>
  559. The minimum number of replications that are needed to not to fail
  560. the write pipeline if new datanodes can not be found to replace
  561. failed datanodes (could be due to network failure) in the write pipeline.
  562. If the number of the remaining datanodes in the write pipeline is greater
  563. than or equal to this property value, continue writing to the remaining nodes.
  564. Otherwise throw exception.
  565. If this is set to 0, an exception will be thrown, when a replacement
  566. can not be found.
  567. See also dfs.client.block.write.replace-datanode-on-failure.policy
  568. </description>
  569. </property>
  570. <property>
  571. <name>dfs.blockreport.intervalMsec</name>
  572. <value>21600000</value>
  573. <description>Determines block reporting interval in milliseconds.</description>
  574. </property>
  575. <property>
  576. <name>dfs.blockreport.initialDelay</name> <value>0</value>
  577. <description>Delay for first block report in seconds.</description>
  578. </property>
  579. <property>
  580. <name>dfs.blockreport.split.threshold</name>
  581. <value>1000000</value>
  582. <description>If the number of blocks on the DataNode is below this
  583. threshold then it will send block reports for all Storage Directories
  584. in a single message.
  585. If the number of blocks exceeds this threshold then the DataNode will
  586. send block reports for each Storage Directory in separate messages.
  587. Set to zero to always split.
  588. </description>
  589. </property>
  590. <property>
  591. <name>dfs.namenode.max.full.block.report.leases</name>
  592. <value>6</value>
  593. <description>The maximum number of leases for full block reports that the
  594. NameNode will issue at any given time. This prevents the NameNode from
  595. being flooded with full block reports that use up all the RPC handler
  596. threads. This number should never be more than the number of RPC handler
  597. threads or less than 1.
  598. </description>
  599. </property>
  600. <property>
  601. <name>dfs.namenode.full.block.report.lease.length.ms</name>
  602. <value>300000</value>
  603. <description>
  604. The number of milliseconds that the NameNode will wait before invalidating
  605. a full block report lease. This prevents a crashed DataNode from
  606. permanently using up a full block report lease.
  607. </description>
  608. </property>
  609. <property>
  610. <name>dfs.datanode.directoryscan.interval</name>
  611. <value>21600</value>
  612. <description>Interval in seconds for Datanode to scan data directories and
  613. reconcile the difference between blocks in memory and on the disk.
  614. </description>
  615. </property>
  616. <property>
  617. <name>dfs.datanode.directoryscan.threads</name>
  618. <value>1</value>
  619. <description>How many threads should the threadpool used to compile reports
  620. for volumes in parallel have.
  621. </description>
  622. </property>
  623. <property>
  624. <name>dfs.datanode.directoryscan.throttle.limit.ms.per.sec</name>
  625. <value>1000</value>
  626. <description>The report compilation threads are limited to only running for
  627. a given number of milliseconds per second, as configured by the
  628. property. The limit is taken per thread, not in aggregate, e.g. setting
  629. a limit of 100ms for 4 compiler threads will result in each thread being
  630. limited to 100ms, not 25ms.
  631. Note that the throttle does not interrupt the report compiler threads, so the
  632. actual running time of the threads per second will typically be somewhat
  633. higher than the throttle limit, usually by no more than 20%.
  634. Setting this limit to 1000 disables compiler thread throttling. Only
  635. values between 1 and 1000 are valid. Setting an invalid value will result
  636. in the throttle being disbled and an error message being logged. 1000 is
  637. the default setting.
  638. </description>
  639. </property>
  640. <property>
  641. <name>dfs.heartbeat.interval</name>
  642. <value>3</value>
  643. <description>Determines datanode heartbeat interval in seconds.</description>
  644. </property>
  645. <property>
  646. <name>dfs.datanode.lifeline.interval.seconds</name>
  647. <value></value>
  648. <description>
  649. Sets the interval in seconds between sending DataNode Lifeline Protocol
  650. messages from the DataNode to the NameNode. The value must be greater than
  651. the value of dfs.heartbeat.interval. If this property is not defined, then
  652. the default behavior is to calculate the interval as 3x the value of
  653. dfs.heartbeat.interval. Note that normal heartbeat processing may cause the
  654. DataNode to postpone sending lifeline messages if they are not required.
  655. Under normal operations with speedy heartbeat processing, it is possible
  656. that no lifeline messages will need to be sent at all. This property has no
  657. effect if dfs.namenode.lifeline.rpc-address is not defined.
  658. </description>
  659. </property>
  660. <property>
  661. <name>dfs.namenode.handler.count</name>
  662. <value>10</value>
  663. <description>The number of Namenode RPC server threads that listen to
  664. requests from clients.
  665. If dfs.namenode.servicerpc-address is not configured then
  666. Namenode RPC server threads listen to requests from all nodes.
  667. </description>
  668. </property>
  669. <property>
  670. <name>dfs.namenode.service.handler.count</name>
  671. <value>10</value>
  672. <description>The number of Namenode RPC server threads that listen to
  673. requests from DataNodes and from all other non-client nodes.
  674. dfs.namenode.service.handler.count will be valid only if
  675. dfs.namenode.servicerpc-address is configured.
  676. </description>
  677. </property>
  678. <property>
  679. <name>dfs.namenode.lifeline.handler.ratio</name>
  680. <value>0.10</value>
  681. <description>
  682. A ratio applied to the value of dfs.namenode.handler.count, which then
  683. provides the number of RPC server threads the NameNode runs for handling the
  684. lifeline RPC server. For example, if dfs.namenode.handler.count is 100, and
  685. dfs.namenode.lifeline.handler.factor is 0.10, then the NameNode starts
  686. 100 * 0.10 = 10 threads for handling the lifeline RPC server. It is common
  687. to tune the value of dfs.namenode.handler.count as a function of the number
  688. of DataNodes in a cluster. Using this property allows for the lifeline RPC
  689. server handler threads to be tuned automatically without needing to touch a
  690. separate property. Lifeline message processing is lightweight, so it is
  691. expected to require many fewer threads than the main NameNode RPC server.
  692. This property is not used if dfs.namenode.lifeline.handler.count is defined,
  693. which sets an absolute thread count. This property has no effect if
  694. dfs.namenode.lifeline.rpc-address is not defined.
  695. </description>
  696. </property>
  697. <property>
  698. <name>dfs.namenode.lifeline.handler.count</name>
  699. <value></value>
  700. <description>
  701. Sets an absolute number of RPC server threads the NameNode runs for handling
  702. the DataNode Lifeline Protocol and HA health check requests from ZKFC. If
  703. this property is defined, then it overrides the behavior of
  704. dfs.namenode.lifeline.handler.ratio. By default, it is not defined. This
  705. property has no effect if dfs.namenode.lifeline.rpc-address is not defined.
  706. </description>
  707. </property>
  708. <property>
  709. <name>dfs.namenode.safemode.threshold-pct</name>
  710. <value>0.999f</value>
  711. <description>
  712. Specifies the percentage of blocks that should satisfy
  713. the minimal replication requirement defined by dfs.namenode.replication.min.
  714. Values less than or equal to 0 mean not to wait for any particular
  715. percentage of blocks before exiting safemode.
  716. Values greater than 1 will make safe mode permanent.
  717. </description>
  718. </property>
  719. <property>
  720. <name>dfs.namenode.safemode.min.datanodes</name>
  721. <value>0</value>
  722. <description>
  723. Specifies the number of datanodes that must be considered alive
  724. before the name node exits safemode.
  725. Values less than or equal to 0 mean not to take the number of live
  726. datanodes into account when deciding whether to remain in safe mode
  727. during startup.
  728. Values greater than the number of datanodes in the cluster
  729. will make safe mode permanent.
  730. </description>
  731. </property>
  732. <property>
  733. <name>dfs.namenode.safemode.extension</name>
  734. <value>30000</value>
  735. <description>
  736. Determines extension of safe mode in milliseconds
  737. after the threshold level is reached.
  738. </description>
  739. </property>
  740. <property>
  741. <name>dfs.namenode.resource.check.interval</name>
  742. <value>5000</value>
  743. <description>
  744. The interval in milliseconds at which the NameNode resource checker runs.
  745. The checker calculates the number of the NameNode storage volumes whose
  746. available spaces are more than dfs.namenode.resource.du.reserved, and
  747. enters safemode if the number becomes lower than the minimum value
  748. specified by dfs.namenode.resource.checked.volumes.minimum.
  749. </description>
  750. </property>
  751. <property>
  752. <name>dfs.namenode.resource.du.reserved</name>
  753. <value>104857600</value>
  754. <description>
  755. The amount of space to reserve/require for a NameNode storage directory
  756. in bytes. The default is 100MB.
  757. </description>
  758. </property>
  759. <property>
  760. <name>dfs.namenode.resource.checked.volumes</name>
  761. <value></value>
  762. <description>
  763. A list of local directories for the NameNode resource checker to check in
  764. addition to the local edits directories.
  765. </description>
  766. </property>
  767. <property>
  768. <name>dfs.namenode.resource.checked.volumes.minimum</name>
  769. <value>1</value>
  770. <description>
  771. The minimum number of redundant NameNode storage volumes required.
  772. </description>
  773. </property>
  774. <property>
  775. <name>dfs.datanode.balance.bandwidthPerSec</name>
  776. <value>10m</value>
  777. <description>
  778. Specifies the maximum amount of bandwidth that each datanode
  779. can utilize for the balancing purpose in term of
  780. the number of bytes per second. You can use the following
  781. suffix (case insensitive):
  782. k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa)to specify the size
  783. (such as 128k, 512m, 1g, etc.).
  784. Or provide complete size in bytes (such as 134217728 for 128 MB).
  785. </description>
  786. </property>
  787. <property>
  788. <name>dfs.mover.max-no-move-interval</name>
  789. <value>60000</value>
  790. <description>
  791. If this specified amount of time has elapsed and no block has been moved
  792. out of a source DataNode, on more effort will be made to move blocks out of
  793. this DataNode in the current Mover iteration.
  794. </description>
  795. </property>
  796. <property>
  797. <name>dfs.hosts</name>
  798. <value></value>
  799. <description>Names a file that contains a list of hosts that are
  800. permitted to connect to the namenode. The full pathname of the file
  801. must be specified. If the value is empty, all hosts are
  802. permitted.</description>
  803. </property>
  804. <property>
  805. <name>dfs.hosts.exclude</name>
  806. <value></value>
  807. <description>Names a file that contains a list of hosts that are
  808. not permitted to connect to the namenode. The full pathname of the
  809. file must be specified. If the value is empty, no hosts are
  810. excluded.</description>
  811. </property>
  812. <property>
  813. <name>dfs.namenode.max.objects</name>
  814. <value>0</value>
  815. <description>The maximum number of files, directories and blocks
  816. dfs supports. A value of zero indicates no limit to the number
  817. of objects that dfs supports.
  818. </description>
  819. </property>
  820. <property>
  821. <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
  822. <value>true</value>
  823. <description>
  824. If true (the default), then the namenode requires that a connecting
  825. datanode's address must be resolved to a hostname. If necessary, a reverse
  826. DNS lookup is performed. All attempts to register a datanode from an
  827. unresolvable address are rejected.
  828. It is recommended that this setting be left on to prevent accidental
  829. registration of datanodes listed by hostname in the excludes file during a
  830. DNS outage. Only set this to false in environments where there is no
  831. infrastructure to support reverse DNS lookup.
  832. </description>
  833. </property>
  834. <property>
  835. <name>dfs.namenode.decommission.interval</name>
  836. <value>30</value>
  837. <description>Namenode periodicity in seconds to check if decommission is
  838. complete.</description>
  839. </property>
  840. <property>
  841. <name>dfs.namenode.decommission.blocks.per.interval</name>
  842. <value>500000</value>
  843. <description>The approximate number of blocks to process per
  844. decommission interval, as defined in dfs.namenode.decommission.interval.
  845. </description>
  846. </property>
  847. <property>
  848. <name>dfs.namenode.decommission.max.concurrent.tracked.nodes</name>
  849. <value>100</value>
  850. <description>
  851. The maximum number of decommission-in-progress datanodes nodes that will be
  852. tracked at one time by the namenode. Tracking a decommission-in-progress
  853. datanode consumes additional NN memory proportional to the number of blocks
  854. on the datnode. Having a conservative limit reduces the potential impact
  855. of decomissioning a large number of nodes at once.
  856. A value of 0 means no limit will be enforced.
  857. </description>
  858. </property>
  859. <property>
  860. <name>dfs.namenode.replication.interval</name>
  861. <value>3</value>
  862. <description>The periodicity in seconds with which the namenode computes
  863. replication work for datanodes. </description>
  864. </property>
  865. <property>
  866. <name>dfs.namenode.accesstime.precision</name>
  867. <value>3600000</value>
  868. <description>The access time for HDFS file is precise upto this value.
  869. The default value is 1 hour. Setting a value of 0 disables
  870. access times for HDFS.
  871. </description>
  872. </property>
  873. <property>
  874. <name>dfs.datanode.plugins</name>
  875. <value></value>
  876. <description>Comma-separated list of datanode plug-ins to be activated.
  877. </description>
  878. </property>
  879. <property>
  880. <name>dfs.namenode.plugins</name>
  881. <value></value>
  882. <description>Comma-separated list of namenode plug-ins to be activated.
  883. </description>
  884. </property>
  885. <property>
  886. <name>dfs.namenode.block-placement-policy.default.prefer-local-node</name>
  887. <value>true</value>
  888. <description>Controls how the default block placement policy places
  889. the first replica of a block. When true, it will prefer the node where
  890. the client is running. When false, it will prefer a node in the same rack
  891. as the client. Setting to false avoids situations where entire copies of
  892. large files end up on a single node, thus creating hotspots.
  893. </description>
  894. </property>
  895. <property>
  896. <name>dfs.stream-buffer-size</name>
  897. <value>4096</value>
  898. <description>The size of buffer to stream files.
  899. The size of this buffer should probably be a multiple of hardware
  900. page size (4096 on Intel x86), and it determines how much data is
  901. buffered during read and write operations.</description>
  902. </property>
  903. <property>
  904. <name>dfs.bytes-per-checksum</name>
  905. <value>512</value>
  906. <description>The number of bytes per checksum. Must not be larger than
  907. dfs.stream-buffer-size</description>
  908. </property>
  909. <property>
  910. <name>dfs.client-write-packet-size</name>
  911. <value>65536</value>
  912. <description>Packet size for clients to write</description>
  913. </property>
  914. <property>
  915. <name>dfs.client.write.exclude.nodes.cache.expiry.interval.millis</name>
  916. <value>600000</value>
  917. <description>The maximum period to keep a DN in the excluded nodes list
  918. at a client. After this period, in milliseconds, the previously excluded node(s) will
  919. be removed automatically from the cache and will be considered good for block allocations
  920. again. Useful to lower or raise in situations where you keep a file open for very long
  921. periods (such as a Write-Ahead-Log (WAL) file) to make the writer tolerant to cluster maintenance
  922. restarts. Defaults to 10 minutes.</description>
  923. </property>
  924. <property>
  925. <name>dfs.namenode.checkpoint.dir</name>
  926. <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>
  927. <description>Determines where on the local filesystem the DFS secondary
  928. name node should store the temporary images to merge.
  929. If this is a comma-delimited list of directories then the image is
  930. replicated in all of the directories for redundancy.
  931. </description>
  932. </property>
  933. <property>
  934. <name>dfs.namenode.checkpoint.edits.dir</name>
  935. <value>${dfs.namenode.checkpoint.dir}</value>
  936. <description>Determines where on the local filesystem the DFS secondary
  937. name node should store the temporary edits to merge.
  938. If this is a comma-delimited list of directories then the edits is
  939. replicated in all of the directories for redundancy.
  940. Default value is same as dfs.namenode.checkpoint.dir
  941. </description>
  942. </property>
  943. <property>
  944. <name>dfs.namenode.checkpoint.period</name>
  945. <value>3600</value>
  946. <description>The number of seconds between two periodic checkpoints.
  947. </description>
  948. </property>
  949. <property>
  950. <name>dfs.namenode.checkpoint.txns</name>
  951. <value>1000000</value>
  952. <description>The Secondary NameNode or CheckpointNode will create a checkpoint
  953. of the namespace every 'dfs.namenode.checkpoint.txns' transactions, regardless
  954. of whether 'dfs.namenode.checkpoint.period' has expired.
  955. </description>
  956. </property>
  957. <property>
  958. <name>dfs.namenode.checkpoint.check.period</name>
  959. <value>60</value>
  960. <description>The SecondaryNameNode and CheckpointNode will poll the NameNode
  961. every 'dfs.namenode.checkpoint.check.period' seconds to query the number
  962. of uncheckpointed transactions.
  963. </description>
  964. </property>
  965. <property>
  966. <name>dfs.namenode.checkpoint.max-retries</name>
  967. <value>3</value>
  968. <description>The SecondaryNameNode retries failed checkpointing. If the
  969. failure occurs while loading fsimage or replaying edits, the number of
  970. retries is limited by this variable.
  971. </description>
  972. </property>
  973. <property>
  974. <name>dfs.namenode.num.checkpoints.retained</name>
  975. <value>2</value>
  976. <description>The number of image checkpoint files (fsimage_*) that will be retained by
  977. the NameNode and Secondary NameNode in their storage directories. All edit
  978. logs (stored on edits_* files) necessary to recover an up-to-date namespace from the oldest retained
  979. checkpoint will also be retained.
  980. </description>
  981. </property>
  982. <property>
  983. <name>dfs.namenode.num.extra.edits.retained</name>
  984. <value>1000000</value>
  985. <description>The number of extra transactions which should be retained
  986. beyond what is minimally necessary for a NN restart.
  987. It does not translate directly to file's age, or the number of files kept,
  988. but to the number of transactions (here "edits" means transactions).
  989. One edit file may contain several transactions (edits).
  990. During checkpoint, NameNode will identify the total number of edits to retain as extra by
  991. checking the latest checkpoint transaction value, subtracted by the value of this property.
  992. Then, it scans edits files to identify the older ones that don't include the computed range of
  993. retained transactions that are to be kept around, and purges them subsequently.
  994. The retainment can be useful for audit purposes or for an HA setup where a remote Standby Node may have
  995. been offline for some time and need to have a longer backlog of retained
  996. edits in order to start again.
  997. Typically each edit is on the order of a few hundred bytes, so the default
  998. of 1 million edits should be on the order of hundreds of MBs or low GBs.
  999. NOTE: Fewer extra edits may be retained than value specified for this setting
  1000. if doing so would mean that more segments would be retained than the number
  1001. configured by dfs.namenode.max.extra.edits.segments.retained.
  1002. </description>
  1003. </property>
  1004. <property>
  1005. <name>dfs.namenode.max.extra.edits.segments.retained</name>
  1006. <value>10000</value>
  1007. <description>The maximum number of extra edit log segments which should be retained
  1008. beyond what is minimally necessary for a NN restart. When used in conjunction with
  1009. dfs.namenode.num.extra.edits.retained, this configuration property serves to cap
  1010. the number of extra edits files to a reasonable value.
  1011. </description>
  1012. </property>
  1013. <property>
  1014. <name>dfs.namenode.delegation.key.update-interval</name>
  1015. <value>86400000</value>
  1016. <description>The update interval for master key for delegation tokens
  1017. in the namenode in milliseconds.
  1018. </description>
  1019. </property>
  1020. <property>
  1021. <name>dfs.namenode.delegation.token.max-lifetime</name>
  1022. <value>604800000</value>
  1023. <description>The maximum lifetime in milliseconds for which a delegation
  1024. token is valid.
  1025. </description>
  1026. </property>
  1027. <property>
  1028. <name>dfs.namenode.delegation.token.renew-interval</name>
  1029. <value>86400000</value>
  1030. <description>The renewal interval for delegation token in milliseconds.
  1031. </description>
  1032. </property>
  1033. <property>
  1034. <name>dfs.datanode.failed.volumes.tolerated</name>
  1035. <value>0</value>
  1036. <description>The number of volumes that are allowed to
  1037. fail before a datanode stops offering service. By default
  1038. any volume failure will cause a datanode to shutdown.
  1039. </description>
  1040. </property>
  1041. <property>
  1042. <name>dfs.image.compress</name>
  1043. <value>false</value>
  1044. <description>Should the dfs image be compressed?
  1045. </description>
  1046. </property>
  1047. <property>
  1048. <name>dfs.image.compression.codec</name>
  1049. <value>org.apache.hadoop.io.compress.DefaultCodec</value>
  1050. <description>If the dfs image is compressed, how should they be compressed?
  1051. This has to be a codec defined in io.compression.codecs.
  1052. </description>
  1053. </property>
  1054. <property>
  1055. <name>dfs.image.transfer.timeout</name>
  1056. <value>60000</value>
  1057. <description>
  1058. Socket timeout for image transfer in milliseconds. This timeout and the related
  1059. dfs.image.transfer.bandwidthPerSec parameter should be configured such
  1060. that normal image transfer can complete successfully.
  1061. This timeout prevents client hangs when the sender fails during
  1062. image transfer. This is socket timeout during image transfer.
  1063. </description>
  1064. </property>
  1065. <property>
  1066. <name>dfs.image.transfer.bandwidthPerSec</name>
  1067. <value>0</value>
  1068. <description>
  1069. Maximum bandwidth used for regular image transfers (instead of
  1070. bootstrapping the standby namenode), in bytes per second.
  1071. This can help keep normal namenode operations responsive during
  1072. checkpointing. The maximum bandwidth and timeout in
  1073. dfs.image.transfer.timeout should be set such that normal image
  1074. transfers can complete successfully.
  1075. A default value of 0 indicates that throttling is disabled.
  1076. The maximum bandwidth used for bootstrapping standby namenode is
  1077. configured with dfs.image.transfer-bootstrap-standby.bandwidthPerSec.
  1078. </description>
  1079. </property>
  1080. <property>
  1081. <name>dfs.image.transfer-bootstrap-standby.bandwidthPerSec</name>
  1082. <value>0</value>
  1083. <description>
  1084. Maximum bandwidth used for transferring image to bootstrap standby
  1085. namenode, in bytes per second.
  1086. A default value of 0 indicates that throttling is disabled. This default
  1087. value should be used in most cases, to ensure timely HA operations.
  1088. The maximum bandwidth used for regular image transfers is configured
  1089. with dfs.image.transfer.bandwidthPerSec.
  1090. </description>
  1091. </property>
  1092. <property>
  1093. <name>dfs.image.transfer.chunksize</name>
  1094. <value>65536</value>
  1095. <description>
  1096. Chunksize in bytes to upload the checkpoint.
  1097. Chunked streaming is used to avoid internal buffering of contents
  1098. of image file of huge size.
  1099. </description>
  1100. </property>
  1101. <property>
  1102. <name>dfs.namenode.support.allow.format</name>
  1103. <value>true</value>
  1104. <description>Does HDFS namenode allow itself to be formatted?
  1105. You may consider setting this to false for any production
  1106. cluster, to avoid any possibility of formatting a running DFS.
  1107. </description>
  1108. </property>
  1109. <property>
  1110. <name>dfs.datanode.max.transfer.threads</name>
  1111. <value>4096</value>
  1112. <description>
  1113. Specifies the maximum number of threads to use for transferring data
  1114. in and out of the DN.
  1115. </description>
  1116. </property>
  1117. <property>
  1118. <name>dfs.datanode.scan.period.hours</name>
  1119. <value>504</value>
  1120. <description>
  1121. If this is positive, the DataNode will not scan any
  1122. individual block more than once in the specified scan period.
  1123. If this is negative, the block scanner is disabled.
  1124. If this is set to zero, then the default value of 504 hours
  1125. or 3 weeks is used. Prior versions of HDFS incorrectly documented
  1126. that setting this key to zero will disable the block scanner.
  1127. </description>
  1128. </property>
  1129. <property>
  1130. <name>dfs.block.scanner.volume.bytes.per.second</name>
  1131. <value>1048576</value>
  1132. <description>
  1133. If this is 0, the DataNode's block scanner will be disabled. If this
  1134. is positive, this is the number of bytes per second that the DataNode's
  1135. block scanner will try to scan from each volume.
  1136. </description>
  1137. </property>
  1138. <property>
  1139. <name>dfs.datanode.readahead.bytes</name>
  1140. <value>4194304</value>
  1141. <description>
  1142. While reading block files, if the Hadoop native libraries are available,
  1143. the datanode can use the posix_fadvise system call to explicitly
  1144. page data into the operating system buffer cache ahead of the current
  1145. reader's position. This can improve performance especially when
  1146. disks are highly contended.
  1147. This configuration specifies the number of bytes ahead of the current
  1148. read position which the datanode will attempt to read ahead. This
  1149. feature may be disabled by configuring this property to 0.
  1150. If the native libraries are not available, this configuration has no
  1151. effect.
  1152. </description>
  1153. </property>
  1154. <property>
  1155. <name>dfs.datanode.drop.cache.behind.reads</name>
  1156. <value>false</value>
  1157. <description>
  1158. In some workloads, the data read from HDFS is known to be significantly
  1159. large enough that it is unlikely to be useful to cache it in the
  1160. operating system buffer cache. In this case, the DataNode may be
  1161. configured to automatically purge all data from the buffer cache
  1162. after it is delivered to the client. This behavior is automatically
  1163. disabled for workloads which read only short sections of a block
  1164. (e.g HBase random-IO workloads).
  1165. This may improve performance for some workloads by freeing buffer
  1166. cache space usage for more cacheable data.
  1167. If the Hadoop native libraries are not available, this configuration
  1168. has no effect.
  1169. </description>
  1170. </property>
  1171. <property>
  1172. <name>dfs.datanode.drop.cache.behind.writes</name>
  1173. <value>false</value>
  1174. <description>
  1175. In some workloads, the data written to HDFS is known to be significantly
  1176. large enough that it is unlikely to be useful to cache it in the
  1177. operating system buffer cache. In this case, the DataNode may be
  1178. configured to automatically purge all data from the buffer cache
  1179. after it is written to disk.
  1180. This may improve performance for some workloads by freeing buffer
  1181. cache space usage for more cacheable data.
  1182. If the Hadoop native libraries are not available, this configuration
  1183. has no effect.
  1184. </description>
  1185. </property>
  1186. <property>
  1187. <name>dfs.datanode.sync.behind.writes</name>
  1188. <value>false</value>
  1189. <description>
  1190. If this configuration is enabled, the datanode will instruct the
  1191. operating system to enqueue all written data to the disk immediately
  1192. after it is written. This differs from the usual OS policy which
  1193. may wait for up to 30 seconds before triggering writeback.
  1194. This may improve performance for some workloads by smoothing the
  1195. IO profile for data written to disk.
  1196. If the Hadoop native libraries are not available, this configuration
  1197. has no effect.
  1198. </description>
  1199. </property>
  1200. <property>
  1201. <name>dfs.client.failover.max.attempts</name>
  1202. <value>15</value>
  1203. <description>
  1204. Expert only. The number of client failover attempts that should be
  1205. made before the failover is considered failed.
  1206. </description>
  1207. </property>
  1208. <property>
  1209. <name>dfs.client.failover.sleep.base.millis</name>
  1210. <value>500</value>
  1211. <description>
  1212. Expert only. The time to wait, in milliseconds, between failover
  1213. attempts increases exponentially as a function of the number of
  1214. attempts made so far, with a random factor of +/- 50%. This option
  1215. specifies the base value used in the failover calculation. The
  1216. first failover will retry immediately. The 2nd failover attempt
  1217. will delay at least dfs.client.failover.sleep.base.millis
  1218. milliseconds. And so on.
  1219. </description>
  1220. </property>
  1221. <property>
  1222. <name>dfs.client.failover.sleep.max.millis</name>
  1223. <value>15000</value>
  1224. <description>
  1225. Expert only. The time to wait, in milliseconds, between failover
  1226. attempts increases exponentially as a function of the number of
  1227. attempts made so far, with a random factor of +/- 50%. This option
  1228. specifies the maximum value to wait between failovers.
  1229. Specifically, the time between two failover attempts will not
  1230. exceed +/- 50% of dfs.client.failover.sleep.max.millis
  1231. milliseconds.
  1232. </description>
  1233. </property>
  1234. <property>
  1235. <name>dfs.client.failover.connection.retries</name>
  1236. <value>0</value>
  1237. <description>
  1238. Expert only. Indicates the number of retries a failover IPC client
  1239. will make to establish a server connection.
  1240. </description>
  1241. </property>
  1242. <property>
  1243. <name>dfs.client.failover.connection.retries.on.timeouts</name>
  1244. <value>0</value>
  1245. <description>
  1246. Expert only. The number of retry attempts a failover IPC client
  1247. will make on socket timeout when establishing a server connection.
  1248. </description>
  1249. </property>
  1250. <property>
  1251. <name>dfs.client.datanode-restart.timeout</name>
  1252. <value>30</value>
  1253. <description>
  1254. Expert only. The time to wait, in seconds, from reception of an
  1255. datanode shutdown notification for quick restart, until declaring
  1256. the datanode dead and invoking the normal recovery mechanisms.
  1257. The notification is sent by a datanode when it is being shutdown
  1258. using the shutdownDatanode admin command with the upgrade option.
  1259. </description>
  1260. </property>
  1261. <property>
  1262. <name>dfs.nameservices</name>
  1263. <value></value>
  1264. <description>
  1265. Comma-separated list of nameservices.
  1266. </description>
  1267. </property>
  1268. <property>
  1269. <name>dfs.nameservice.id</name>
  1270. <value></value>
  1271. <description>
  1272. The ID of this nameservice. If the nameservice ID is not
  1273. configured or more than one nameservice is configured for
  1274. dfs.nameservices it is determined automatically by
  1275. matching the local node's address with the configured address.
  1276. </description>
  1277. </property>
  1278. <property>
  1279. <name>dfs.internal.nameservices</name>
  1280. <value></value>
  1281. <description>
  1282. Comma-separated list of nameservices that belong to this cluster.
  1283. Datanode will report to all the nameservices in this list. By default
  1284. this is set to the value of dfs.nameservices.
  1285. </description>
  1286. </property>
  1287. <property>
  1288. <name>dfs.ha.namenodes.EXAMPLENAMESERVICE</name>
  1289. <value></value>
  1290. <description>
  1291. The prefix for a given nameservice, contains a comma-separated
  1292. list of namenodes for a given nameservice (eg EXAMPLENAMESERVICE).
  1293. </description>
  1294. </property>
  1295. <property>
  1296. <name>dfs.ha.namenode.id</name>
  1297. <value></value>
  1298. <description>
  1299. The ID of this namenode. If the namenode ID is not configured it
  1300. is determined automatically by matching the local node's address
  1301. with the configured address.
  1302. </description>
  1303. </property>
  1304. <property>
  1305. <name>dfs.ha.log-roll.period</name>
  1306. <value>120</value>
  1307. <description>
  1308. How often, in seconds, the StandbyNode should ask the active to
  1309. roll edit logs. Since the StandbyNode only reads from finalized
  1310. log segments, the StandbyNode will only be as up-to-date as how
  1311. often the logs are rolled. Note that failover triggers a log roll
  1312. so the StandbyNode will be up to date before it becomes active.
  1313. </description>
  1314. </property>
  1315. <property>
  1316. <name>dfs.ha.tail-edits.period</name>
  1317. <value>60</value>
  1318. <description>
  1319. How often, in seconds, the StandbyNode should check for new
  1320. finalized log segments in the shared edits log.
  1321. </description>
  1322. </property>
  1323. <property>
  1324. <name>dfs.ha.automatic-failover.enabled</name>
  1325. <value>false</value>
  1326. <description>
  1327. Whether automatic failover is enabled. See the HDFS High
  1328. Availability documentation for details on automatic HA
  1329. configuration.
  1330. </description>
  1331. </property>
  1332. <property>
  1333. <name>dfs.client.use.datanode.hostname</name>
  1334. <value>false</value>
  1335. <description>Whether clients should use datanode hostnames when
  1336. connecting to datanodes.
  1337. </description>
  1338. </property>
  1339. <property>
  1340. <name>dfs.datanode.use.datanode.hostname</name>
  1341. <value>false</value>
  1342. <description>Whether datanodes should use datanode hostnames when
  1343. connecting to other datanodes for data transfer.
  1344. </description>
  1345. </property>
  1346. <property>
  1347. <name>dfs.client.local.interfaces</name>
  1348. <value></value>
  1349. <description>A comma separated list of network interface names to use
  1350. for data transfer between the client and datanodes. When creating
  1351. a connection to read from or write to a datanode, the client
  1352. chooses one of the specified interfaces at random and binds its
  1353. socket to the IP of that interface. Individual names may be
  1354. specified as either an interface name (eg "eth0"), a subinterface
  1355. name (eg "eth0:0"), or an IP address (which may be specified using
  1356. CIDR notation to match a range of IPs).
  1357. </description>
  1358. </property>
  1359. <property>
  1360. <name>dfs.datanode.shared.file.descriptor.paths</name>
  1361. <value>/dev/shm,/tmp</value>
  1362. <description>
  1363. A comma-separated list of paths to use when creating file descriptors that
  1364. will be shared between the DataNode and the DFSClient. Typically we use
  1365. /dev/shm, so that the file descriptors will not be written to disk.
  1366. Systems that don't have /dev/shm will fall back to /tmp by default.
  1367. </description>
  1368. </property>
  1369. <property>
  1370. <name>dfs.short.circuit.shared.memory.watcher.interrupt.check.ms</name>
  1371. <value>60000</value>
  1372. <description>
  1373. The length of time in milliseconds that the short-circuit shared memory
  1374. watcher will go between checking for java interruptions sent from other
  1375. threads. This is provided mainly for unit tests.
  1376. </description>
  1377. </property>
  1378. <property>
  1379. <name>dfs.namenode.kerberos.principal</name>
  1380. <value></value>
  1381. <description>
  1382. The NameNode service principal. This is typically set to
  1383. nn/_HOST@REALM.TLD. Each NameNode will substitute _HOST with its
  1384. own fully qualified hostname at startup. The _HOST placeholder
  1385. allows using the same configuration setting on both NameNodes
  1386. in an HA setup.
  1387. </description>
  1388. </property>
  1389. <property>
  1390. <name>dfs.namenode.keytab.file</name>
  1391. <value></value>
  1392. <description>
  1393. The keytab file used by each NameNode daemon to login as its
  1394. service principal. The principal name is configured with
  1395. dfs.namenode.kerberos.principal.
  1396. </description>
  1397. </property>
  1398. <property>
  1399. <name>dfs.datanode.kerberos.principal</name>
  1400. <value></value>
  1401. <description>
  1402. The DataNode service principal. This is typically set to
  1403. dn/_HOST@REALM.TLD. Each DataNode will substitute _HOST with its
  1404. own fully qualified hostname at startup. The _HOST placeholder
  1405. allows using the same configuration setting on all DataNodes.
  1406. </description>
  1407. </property>
  1408. <property>
  1409. <name>dfs.datanode.keytab.file</name>
  1410. <value></value>
  1411. <description>
  1412. The keytab file used by each DataNode daemon to login as its
  1413. service principal. The principal name is configured with
  1414. dfs.datanode.kerberos.principal.
  1415. </description>
  1416. </property>
  1417. <property>
  1418. <name>dfs.journalnode.kerberos.principal</name>
  1419. <value></value>
  1420. <description>
  1421. The JournalNode service principal. This is typically set to
  1422. jn/_HOST@REALM.TLD. Each JournalNode will substitute _HOST with its
  1423. own fully qualified hostname at startup. The _HOST placeholder
  1424. allows using the same configuration setting on all JournalNodes.
  1425. </description>
  1426. </property>
  1427. <property>
  1428. <name>dfs.journalnode.keytab.file</name>
  1429. <value></value>
  1430. <description>
  1431. The keytab file used by each JournalNode daemon to login as its
  1432. service principal. The principal name is configured with
  1433. dfs.journalnode.kerberos.principal.
  1434. </description>
  1435. </property>
  1436. <property>
  1437. <name>dfs.namenode.kerberos.internal.spnego.principal</name>
  1438. <value>${dfs.web.authentication.kerberos.principal}</value>
  1439. <description>
  1440. The server principal used by the NameNode for web UI SPNEGO
  1441. authentication when Kerberos security is enabled. This is
  1442. typically set to HTTP/_HOST@REALM.TLD The SPNEGO server principal
  1443. begins with the prefix HTTP/ by convention.
  1444. If the value is '*', the web server will attempt to login with
  1445. every principal specified in the keytab file
  1446. dfs.web.authentication.kerberos.keytab.
  1447. </description>
  1448. </property>
  1449. <property>
  1450. <name>dfs.journalnode.kerberos.internal.spnego.principal</name>
  1451. <value></value>
  1452. <description>
  1453. The server principal used by the JournalNode HTTP Server for
  1454. SPNEGO authentication when Kerberos security is enabled. This is
  1455. typically set to HTTP/_HOST@REALM.TLD. The SPNEGO server principal
  1456. begins with the prefix HTTP/ by convention.
  1457. If the value is '*', the web server will attempt to login with
  1458. every principal specified in the keytab file
  1459. dfs.web.authentication.kerberos.keytab.
  1460. For most deployments this can be set to ${dfs.web.authentication.kerberos.principal}
  1461. i.e use the value of dfs.web.authentication.kerberos.principal.
  1462. </description>
  1463. </property>
  1464. <property>
  1465. <name>dfs.secondary.namenode.kerberos.internal.spnego.principal</name>
  1466. <value>${dfs.web.authentication.kerberos.principal}</value>
  1467. <description>
  1468. The server principal used by the Secondary NameNode for web UI SPNEGO
  1469. authentication when Kerberos security is enabled. Like all other
  1470. Secondary NameNode settings, it is ignored in an HA setup.
  1471. If the value is '*', the web server will attempt to login with
  1472. every principal specified in the keytab file
  1473. dfs.web.authentication.kerberos.keytab.
  1474. </description>
  1475. </property>
  1476. <property>
  1477. <name>dfs.web.authentication.kerberos.principal</name>
  1478. <value></value>
  1479. <description>
  1480. The server principal used by the NameNode for WebHDFS SPNEGO
  1481. authentication.
  1482. Required when WebHDFS and security are enabled. In most secure clusters this
  1483. setting is also used to specify the values for
  1484. dfs.namenode.kerberos.internal.spnego.principal and
  1485. dfs.journalnode.kerberos.internal.spnego.principal.
  1486. </description>
  1487. </property>
  1488. <property>
  1489. <name>dfs.web.authentication.kerberos.keytab</name>
  1490. <value></value>
  1491. <description>
  1492. The keytab file for the principal corresponding to
  1493. dfs.web.authentication.kerberos.principal.
  1494. </description>
  1495. </property>
  1496. <property>
  1497. <name>dfs.namenode.kerberos.principal.pattern</name>
  1498. <value>*</value>
  1499. <description>
  1500. A client-side RegEx that can be configured to control
  1501. allowed realms to authenticate with (useful in cross-realm env.)
  1502. </description>
  1503. </property>
  1504. <property>
  1505. <name>dfs.namenode.avoid.read.stale.datanode</name>
  1506. <value>false</value>
  1507. <description>
  1508. Indicate whether or not to avoid reading from &quot;stale&quot; datanodes whose
  1509. heartbeat messages have not been received by the namenode
  1510. for more than a specified time interval. Stale datanodes will be
  1511. moved to the end of the node list returned for reading. See
  1512. dfs.namenode.avoid.write.stale.datanode for a similar setting for writes.
  1513. </description>
  1514. </property>
  1515. <property>
  1516. <name>dfs.namenode.avoid.write.stale.datanode</name>
  1517. <value>false</value>
  1518. <description>
  1519. Indicate whether or not to avoid writing to &quot;stale&quot; datanodes whose
  1520. heartbeat messages have not been received by the namenode
  1521. for more than a specified time interval. Writes will avoid using
  1522. stale datanodes unless more than a configured ratio
  1523. (dfs.namenode.write.stale.datanode.ratio) of datanodes are marked as
  1524. stale. See dfs.namenode.avoid.read.stale.datanode for a similar setting
  1525. for reads.
  1526. </description>
  1527. </property>
  1528. <property>
  1529. <name>dfs.namenode.stale.datanode.interval</name>
  1530. <value>30000</value>
  1531. <description>
  1532. Default time interval in milliseconds for marking a datanode as "stale",
  1533. i.e., if the namenode has not received heartbeat msg from a datanode for
  1534. more than this time interval, the datanode will be marked and treated
  1535. as "stale" by default. The stale interval cannot be too small since
  1536. otherwise this may cause too frequent change of stale states.
  1537. We thus set a minimum stale interval value (the default value is 3 times
  1538. of heartbeat interval) and guarantee that the stale interval cannot be less
  1539. than the minimum value. A stale data node is avoided during lease/block
  1540. recovery. It can be conditionally avoided for reads (see
  1541. dfs.namenode.avoid.read.stale.datanode) and for writes (see
  1542. dfs.namenode.avoid.write.stale.datanode).
  1543. </description>
  1544. </property>
  1545. <property>
  1546. <name>dfs.namenode.write.stale.datanode.ratio</name>
  1547. <value>0.5f</value>
  1548. <description>
  1549. When the ratio of number stale datanodes to total datanodes marked
  1550. is greater than this ratio, stop avoiding writing to stale nodes so
  1551. as to prevent causing hotspots.
  1552. </description>
  1553. </property>
  1554. <property>
  1555. <name>dfs.namenode.invalidate.work.pct.per.iteration</name>
  1556. <value>0.32f</value>
  1557. <description>
  1558. *Note*: Advanced property. Change with caution.
  1559. This determines the percentage amount of block
  1560. invalidations (deletes) to do over a single DN heartbeat
  1561. deletion command. The final deletion count is determined by applying this
  1562. percentage to the number of live nodes in the system.
  1563. The resultant number is the number of blocks from the deletion list
  1564. chosen for proper invalidation over a single heartbeat of a single DN.
  1565. Value should be a positive, non-zero percentage in float notation (X.Yf),
  1566. with 1.0f meaning 100%.
  1567. </description>
  1568. </property>
  1569. <property>
  1570. <name>dfs.namenode.replication.work.multiplier.per.iteration</name>
  1571. <value>2</value>
  1572. <description>
  1573. *Note*: Advanced property. Change with caution.
  1574. This determines the total amount of block transfers to begin in
  1575. parallel at a DN, for replication, when such a command list is being
  1576. sent over a DN heartbeat by the NN. The actual number is obtained by
  1577. multiplying this multiplier with the total number of live nodes in the
  1578. cluster. The result number is the number of blocks to begin transfers
  1579. immediately for, per DN heartbeat. This number can be any positive,
  1580. non-zero integer.
  1581. </description>
  1582. </property>
  1583. <property>
  1584. <name>nfs.server.port</name>
  1585. <value>2049</value>
  1586. <description>
  1587. Specify the port number used by Hadoop NFS.
  1588. </description>
  1589. </property>
  1590. <property>
  1591. <name>nfs.mountd.port</name>
  1592. <value>4242</value>
  1593. <description>
  1594. Specify the port number used by Hadoop mount daemon.
  1595. </description>
  1596. </property>
  1597. <property>
  1598. <name>nfs.dump.dir</name>
  1599. <value>/tmp/.hdfs-nfs</value>
  1600. <description>
  1601. This directory is used to temporarily save out-of-order writes before
  1602. writing to HDFS. For each file, the out-of-order writes are dumped after
  1603. they are accumulated to exceed certain threshold (e.g., 1MB) in memory.
  1604. One needs to make sure the directory has enough space.
  1605. </description>
  1606. </property>
  1607. <property>
  1608. <name>nfs.rtmax</name>
  1609. <value>1048576</value>
  1610. <description>This is the maximum size in bytes of a READ request
  1611. supported by the NFS gateway. If you change this, make sure you
  1612. also update the nfs mount's rsize(add rsize= # of bytes to the
  1613. mount directive).
  1614. </description>
  1615. </property>
  1616. <property>
  1617. <name>nfs.wtmax</name>
  1618. <value>1048576</value>
  1619. <description>This is the maximum size in bytes of a WRITE request
  1620. supported by the NFS gateway. If you change this, make sure you
  1621. also update the nfs mount's wsize(add wsize= # of bytes to the
  1622. mount directive).
  1623. </description>
  1624. </property>
  1625. <property>
  1626. <name>nfs.keytab.file</name>
  1627. <value></value>
  1628. <description>
  1629. *Note*: Advanced property. Change with caution.
  1630. This is the path to the keytab file for the hdfs-nfs gateway.
  1631. This is required when the cluster is kerberized.
  1632. </description>
  1633. </property>
  1634. <property>
  1635. <name>nfs.kerberos.principal</name>
  1636. <value></value>
  1637. <description>
  1638. *Note*: Advanced property. Change with caution.
  1639. This is the name of the kerberos principal. This is required when
  1640. the cluster is kerberized.It must be of this format:
  1641. nfs-gateway-user/nfs-gateway-host@kerberos-realm
  1642. </description>
  1643. </property>
  1644. <property>
  1645. <name>nfs.allow.insecure.ports</name>
  1646. <value>true</value>
  1647. <description>
  1648. When set to false, client connections originating from unprivileged ports
  1649. (those above 1023) will be rejected. This is to ensure that clients
  1650. connecting to this NFS Gateway must have had root privilege on the machine
  1651. where they're connecting from.
  1652. </description>
  1653. </property>
  1654. <property>
  1655. <name>dfs.webhdfs.enabled</name>
  1656. <value>true</value>
  1657. <description>
  1658. Enable WebHDFS (REST API) in Namenodes and Datanodes.
  1659. </description>
  1660. </property>
  1661. <property>
  1662. <name>hadoop.fuse.connection.timeout</name>
  1663. <value>300</value>
  1664. <description>
  1665. The minimum number of seconds that we'll cache libhdfs connection objects
  1666. in fuse_dfs. Lower values will result in lower memory consumption; higher
  1667. values may speed up access by avoiding the overhead of creating new
  1668. connection objects.
  1669. </description>
  1670. </property>
  1671. <property>
  1672. <name>hadoop.fuse.timer.period</name>
  1673. <value>5</value>
  1674. <description>
  1675. The number of seconds between cache expiry checks in fuse_dfs. Lower values
  1676. will result in fuse_dfs noticing changes to Kerberos ticket caches more
  1677. quickly.
  1678. </description>
  1679. </property>
  1680. <property>
  1681. <name>dfs.namenode.metrics.logger.period.seconds</name>
  1682. <value>600</value>
  1683. <description>
  1684. This setting controls how frequently the NameNode logs its metrics. The
  1685. logging configuration must also define one or more appenders for
  1686. NameNodeMetricsLog for the metrics to be logged.
  1687. NameNode metrics logging is disabled if this value is set to zero or
  1688. less than zero.
  1689. </description>
  1690. </property>
  1691. <property>
  1692. <name>dfs.datanode.metrics.logger.period.seconds</name>
  1693. <value>600</value>
  1694. <description>
  1695. This setting controls how frequently the DataNode logs its metrics. The
  1696. logging configuration must also define one or more appenders for
  1697. DataNodeMetricsLog for the metrics to be logged.
  1698. DataNode metrics logging is disabled if this value is set to zero or
  1699. less than zero.
  1700. </description>
  1701. </property>
  1702. <property>
  1703. <name>dfs.metrics.percentiles.intervals</name>
  1704. <value></value>
  1705. <description>
  1706. Comma-delimited set of integers denoting the desired rollover intervals
  1707. (in seconds) for percentile latency metrics on the Namenode and Datanode.
  1708. By default, percentile latency metrics are disabled.
  1709. </description>
  1710. </property>
  1711. <property>
  1712. <name>hadoop.user.group.metrics.percentiles.intervals</name>
  1713. <value></value>
  1714. <description>
  1715. A comma-separated list of the granularity in seconds for the metrics
  1716. which describe the 50/75/90/95/99th percentile latency for group resolution
  1717. in milliseconds.
  1718. By default, percentile latency metrics are disabled.
  1719. </description>
  1720. </property>
  1721. <property>
  1722. <name>dfs.encrypt.data.transfer</name>
  1723. <value>false</value>
  1724. <description>
  1725. Whether or not actual block data that is read/written from/to HDFS should
  1726. be encrypted on the wire. This only needs to be set on the NN and DNs,
  1727. clients will deduce this automatically. It is possible to override this setting
  1728. per connection by specifying custom logic via dfs.trustedchannel.resolver.class.
  1729. </description>
  1730. </property>
  1731. <property>
  1732. <name>dfs.encrypt.data.transfer.algorithm</name>
  1733. <value></value>
  1734. <description>
  1735. This value may be set to either "3des" or "rc4". If nothing is set, then
  1736. the configured JCE default on the system is used (usually 3DES.) It is
  1737. widely believed that 3DES is more cryptographically secure, but RC4 is
  1738. substantially faster.
  1739. Note that if AES is supported by both the client and server then this
  1740. encryption algorithm will only be used to initially transfer keys for AES.
  1741. (See dfs.encrypt.data.transfer.cipher.suites.)
  1742. </description>
  1743. </property>
  1744. <property>
  1745. <name>dfs.encrypt.data.transfer.cipher.suites</name>
  1746. <value></value>
  1747. <description>
  1748. This value may be either undefined or AES/CTR/NoPadding. If defined, then
  1749. dfs.encrypt.data.transfer uses the specified cipher suite for data
  1750. encryption. If not defined, then only the algorithm specified in
  1751. dfs.encrypt.data.transfer.algorithm is used. By default, the property is
  1752. not defined.
  1753. </description>
  1754. </property>
  1755. <property>
  1756. <name>dfs.encrypt.data.transfer.cipher.key.bitlength</name>
  1757. <value>128</value>
  1758. <description>
  1759. The key bitlength negotiated by dfsclient and datanode for encryption.
  1760. This value may be set to either 128, 192 or 256.
  1761. </description>
  1762. </property>
  1763. <property>
  1764. <name>dfs.trustedchannel.resolver.class</name>
  1765. <value></value>
  1766. <description>
  1767. TrustedChannelResolver is used to determine whether a channel
  1768. is trusted for plain data transfer. The TrustedChannelResolver is
  1769. invoked on both client and server side. If the resolver indicates
  1770. that the channel is trusted, then the data transfer will not be
  1771. encrypted even if dfs.encrypt.data.transfer is set to true. The
  1772. default implementation returns false indicating that the channel
  1773. is not trusted.
  1774. </description>
  1775. </property>
  1776. <property>
  1777. <name>dfs.data.transfer.protection</name>
  1778. <value></value>
  1779. <description>
  1780. A comma-separated list of SASL protection values used for secured
  1781. connections to the DataNode when reading or writing block data. Possible
  1782. values are authentication, integrity and privacy. authentication means
  1783. authentication only and no integrity or privacy; integrity implies
  1784. authentication and integrity are enabled; and privacy implies all of
  1785. authentication, integrity and privacy are enabled. If
  1786. dfs.encrypt.data.transfer is set to true, then it supersedes the setting for
  1787. dfs.data.transfer.protection and enforces that all connections must use a
  1788. specialized encrypted SASL handshake. This property is ignored for
  1789. connections to a DataNode listening on a privileged port. In this case, it
  1790. is assumed that the use of a privileged port establishes sufficient trust.
  1791. </description>
  1792. </property>
  1793. <property>
  1794. <name>dfs.data.transfer.saslproperties.resolver.class</name>
  1795. <value></value>
  1796. <description>
  1797. SaslPropertiesResolver used to resolve the QOP used for a connection to the
  1798. DataNode when reading or writing block data. If not specified, the value of
  1799. hadoop.security.saslproperties.resolver.class is used as the default value.
  1800. </description>
  1801. </property>
  1802. <property>
  1803. <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
  1804. <value>false</value>
  1805. <description>
  1806. Boolean which enables backend datanode-side support for the experimental DistributedFileSystem#getFileVBlockStorageLocations API.
  1807. </description>
  1808. </property>
  1809. <property>
  1810. <name>dfs.client.file-block-storage-locations.num-threads</name>
  1811. <value>10</value>
  1812. <description>
  1813. Number of threads used for making parallel RPCs in DistributedFileSystem#getFileBlockStorageLocations().
  1814. </description>
  1815. </property>
  1816. <property>
  1817. <name>dfs.client.file-block-storage-locations.timeout.millis</name>
  1818. <value>1000</value>
  1819. <description>
  1820. Timeout (in milliseconds) for the parallel RPCs made in DistributedFileSystem#getFileBlockStorageLocations().
  1821. </description>
  1822. </property>
  1823. <property>
  1824. <name>dfs.journalnode.rpc-address</name>
  1825. <value>0.0.0.0:8485</value>
  1826. <description>
  1827. The JournalNode RPC server address and port.
  1828. </description>
  1829. </property>
  1830. <property>
  1831. <name>dfs.journalnode.http-address</name>
  1832. <value>0.0.0.0:8480</value>
  1833. <description>
  1834. The address and port the JournalNode HTTP server listens on.
  1835. If the port is 0 then the server will start on a free port.
  1836. </description>
  1837. </property>
  1838. <property>
  1839. <name>dfs.journalnode.https-address</name>
  1840. <value>0.0.0.0:8481</value>
  1841. <description>
  1842. The address and port the JournalNode HTTPS server listens on.
  1843. If the port is 0 then the server will start on a free port.
  1844. </description>
  1845. </property>
  1846. <property>
  1847. <name>dfs.namenode.audit.loggers</name>
  1848. <value>default</value>
  1849. <description>
  1850. List of classes implementing audit loggers that will receive audit events.
  1851. These should be implementations of org.apache.hadoop.hdfs.server.namenode.AuditLogger.
  1852. The special value "default" can be used to reference the default audit
  1853. logger, which uses the configured log system. Installing custom audit loggers
  1854. may affect the performance and stability of the NameNode. Refer to the custom
  1855. logger's documentation for more details.
  1856. </description>
  1857. </property>
  1858. <property>
  1859. <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name>
  1860. <value>10737418240</value> <!-- 10 GB -->
  1861. <description>
  1862. Only used when the dfs.datanode.fsdataset.volume.choosing.policy is set to
  1863. org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy.
  1864. This setting controls how much DN volumes are allowed to differ in terms of
  1865. bytes of free disk space before they are considered imbalanced. If the free
  1866. space of all the volumes are within this range of each other, the volumes
  1867. will be considered balanced and block assignments will be done on a pure
  1868. round robin basis.
  1869. </description>
  1870. </property>
  1871. <property>
  1872. <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction</name>
  1873. <value>0.75f</value>
  1874. <description>
  1875. Only used when the dfs.datanode.fsdataset.volume.choosing.policy is set to
  1876. org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy.
  1877. This setting controls what percentage of new block allocations will be sent
  1878. to volumes with more available disk space than others. This setting should
  1879. be in the range 0.0 - 1.0, though in practice 0.5 - 1.0, since there should
  1880. be no reason to prefer that volumes with less available disk space receive
  1881. more block allocations.
  1882. </description>
  1883. </property>
  1884. <property>
  1885. <name>dfs.namenode.edits.noeditlogchannelflush</name>
  1886. <value>false</value>
  1887. <description>
  1888. Specifies whether to flush edit log file channel. When set, expensive
  1889. FileChannel#force calls are skipped and synchronous disk writes are
  1890. enabled instead by opening the edit log file with RandomAccessFile("rws")
  1891. flags. This can significantly improve the performance of edit log writes
  1892. on the Windows platform.
  1893. Note that the behavior of the "rws" flags is platform and hardware specific
  1894. and might not provide the same level of guarantees as FileChannel#force.
  1895. For example, the write will skip the disk-cache on SAS and SCSI devices
  1896. while it might not on SATA devices. This is an expert level setting,
  1897. change with caution.
  1898. </description>
  1899. </property>
  1900. <property>
  1901. <name>dfs.client.cache.drop.behind.writes</name>
  1902. <value></value>
  1903. <description>
  1904. Just like dfs.datanode.drop.cache.behind.writes, this setting causes the
  1905. page cache to be dropped behind HDFS writes, potentially freeing up more
  1906. memory for other uses. Unlike dfs.datanode.drop.cache.behind.writes, this
  1907. is a client-side setting rather than a setting for the entire datanode.
  1908. If present, this setting will override the DataNode default.
  1909. If the native libraries are not available to the DataNode, this
  1910. configuration has no effect.
  1911. </description>
  1912. </property>
  1913. <property>
  1914. <name>dfs.client.cache.drop.behind.reads</name>
  1915. <value></value>
  1916. <description>
  1917. Just like dfs.datanode.drop.cache.behind.reads, this setting causes the
  1918. page cache to be dropped behind HDFS reads, potentially freeing up more
  1919. memory for other uses. Unlike dfs.datanode.drop.cache.behind.reads, this
  1920. is a client-side setting rather than a setting for the entire datanode. If
  1921. present, this setting will override the DataNode default.
  1922. If the native libraries are not available to the DataNode, this
  1923. configuration has no effect.
  1924. </description>
  1925. </property>
  1926. <property>
  1927. <name>dfs.client.cache.readahead</name>
  1928. <value></value>
  1929. <description>
  1930. When using remote reads, this setting causes the datanode to
  1931. read ahead in the block file using posix_fadvise, potentially decreasing
  1932. I/O wait times. Unlike dfs.datanode.readahead.bytes, this is a client-side
  1933. setting rather than a setting for the entire datanode. If present, this
  1934. setting will override the DataNode default.
  1935. When using local reads, this setting determines how much readahead we do in
  1936. BlockReaderLocal.
  1937. If the native libraries are not available to the DataNode, this
  1938. configuration has no effect.
  1939. </description>
  1940. </property>
  1941. <property>
  1942. <name>dfs.namenode.enable.retrycache</name>
  1943. <value>true</value>
  1944. <description>
  1945. This enables the retry cache on the namenode. Namenode tracks for
  1946. non-idempotent requests the corresponding response. If a client retries the
  1947. request, the response from the retry cache is sent. Such operations
  1948. are tagged with annotation @AtMostOnce in namenode protocols. It is
  1949. recommended that this flag be set to true. Setting it to false, will result
  1950. in clients getting failure responses to retried request. This flag must
  1951. be enabled in HA setup for transparent fail-overs.
  1952. The entries in the cache have expiration time configurable
  1953. using dfs.namenode.retrycache.expirytime.millis.
  1954. </description>
  1955. </property>
  1956. <property>
  1957. <name>dfs.namenode.retrycache.expirytime.millis</name>
  1958. <value>600000</value>
  1959. <description>
  1960. The time for which retry cache entries are retained.
  1961. </description>
  1962. </property>
  1963. <property>
  1964. <name>dfs.namenode.retrycache.heap.percent</name>
  1965. <value>0.03f</value>
  1966. <description>
  1967. This parameter configures the heap size allocated for retry cache
  1968. (excluding the response cached). This corresponds to approximately
  1969. 4096 entries for every 64MB of namenode process java heap size.
  1970. Assuming retry cache entry expiration time (configured using
  1971. dfs.namenode.retrycache.expirytime.millis) of 10 minutes, this
  1972. enables retry cache to support 7 operations per second sustained
  1973. for 10 minutes. As the heap size is increased, the operation rate
  1974. linearly increases.
  1975. </description>
  1976. </property>
  1977. <property>
  1978. <name>dfs.client.mmap.enabled</name>
  1979. <value>true</value>
  1980. <description>
  1981. If this is set to false, the client won't attempt to perform memory-mapped reads.
  1982. </description>
  1983. </property>
  1984. <property>
  1985. <name>dfs.client.mmap.cache.size</name>
  1986. <value>256</value>
  1987. <description>
  1988. When zero-copy reads are used, the DFSClient keeps a cache of recently used
  1989. memory mapped regions. This parameter controls the maximum number of
  1990. entries that we will keep in that cache.
  1991. The larger this number is, the more file descriptors we will potentially
  1992. use for memory-mapped files. mmaped files also use virtual address space.
  1993. You may need to increase your ulimit virtual address space limits before
  1994. increasing the client mmap cache size.
  1995. Note that you can still do zero-copy reads when this size is set to 0.
  1996. </description>
  1997. </property>
  1998. <property>
  1999. <name>dfs.client.mmap.cache.timeout.ms</name>
  2000. <value>3600000</value>
  2001. <description>
  2002. The minimum length of time that we will keep an mmap entry in the cache
  2003. between uses. If an entry is in the cache longer than this, and nobody
  2004. uses it, it will be removed by a background thread.
  2005. </description>
  2006. </property>
  2007. <property>
  2008. <name>dfs.client.mmap.retry.timeout.ms</name>
  2009. <value>300000</value>
  2010. <description>
  2011. The minimum amount of time that we will wait before retrying a failed mmap
  2012. operation.
  2013. </description>
  2014. </property>
  2015. <property>
  2016. <name>dfs.client.short.circuit.replica.stale.threshold.ms</name>
  2017. <value>1800000</value>
  2018. <description>
  2019. The maximum amount of time that we will consider a short-circuit replica to
  2020. be valid, if there is no communication from the DataNode. After this time
  2021. has elapsed, we will re-fetch the short-circuit replica even if it is in
  2022. the cache.
  2023. </description>
  2024. </property>
  2025. <property>
  2026. <name>dfs.namenode.path.based.cache.block.map.allocation.percent</name>
  2027. <value>0.25</value>
  2028. <description>
  2029. The percentage of the Java heap which we will allocate to the cached blocks
  2030. map. The cached blocks map is a hash map which uses chained hashing.
  2031. Smaller maps may be accessed more slowly if the number of cached blocks is
  2032. large; larger maps will consume more memory.
  2033. </description>
  2034. </property>
  2035. <property>
  2036. <name>dfs.datanode.max.locked.memory</name>
  2037. <value>0</value>
  2038. <description>
  2039. The amount of memory in bytes to use for caching of block replicas in
  2040. memory on the datanode. The datanode's maximum locked memory soft ulimit
  2041. (RLIMIT_MEMLOCK) must be set to at least this value, else the datanode
  2042. will abort on startup.
  2043. By default, this parameter is set to 0, which disables in-memory caching.
  2044. If the native libraries are not available to the DataNode, this
  2045. configuration has no effect.
  2046. </description>
  2047. </property>
  2048. <property>
  2049. <name>dfs.namenode.list.cache.directives.num.responses</name>
  2050. <value>100</value>
  2051. <description>
  2052. This value controls the number of cache directives that the NameNode will
  2053. send over the wire in response to a listDirectives RPC.
  2054. </description>
  2055. </property>
  2056. <property>
  2057. <name>dfs.namenode.list.cache.pools.num.responses</name>
  2058. <value>100</value>
  2059. <description>
  2060. This value controls the number of cache pools that the NameNode will
  2061. send over the wire in response to a listPools RPC.
  2062. </description>
  2063. </property>
  2064. <property>
  2065. <name>dfs.namenode.path.based.cache.refresh.interval.ms</name>
  2066. <value>30000</value>
  2067. <description>
  2068. The amount of milliseconds between subsequent path cache rescans. Path
  2069. cache rescans are when we calculate which blocks should be cached, and on
  2070. what datanodes.
  2071. By default, this parameter is set to 30 seconds.
  2072. </description>
  2073. </property>
  2074. <property>
  2075. <name>dfs.namenode.path.based.cache.retry.interval.ms</name>
  2076. <value>30000</value>
  2077. <description>
  2078. When the NameNode needs to uncache something that is cached, or cache
  2079. something that is not cached, it must direct the DataNodes to do so by
  2080. sending a DNA_CACHE or DNA_UNCACHE command in response to a DataNode
  2081. heartbeat. This parameter controls how frequently the NameNode will
  2082. resend these commands.
  2083. </description>
  2084. </property>
  2085. <property>
  2086. <name>dfs.datanode.fsdatasetcache.max.threads.per.volume</name>
  2087. <value>4</value>
  2088. <description>
  2089. The maximum number of threads per volume to use for caching new data
  2090. on the datanode. These threads consume both I/O and CPU. This can affect
  2091. normal datanode operations.
  2092. </description>
  2093. </property>
  2094. <property>
  2095. <name>dfs.cachereport.intervalMsec</name>
  2096. <value>10000</value>
  2097. <description>
  2098. Determines cache reporting interval in milliseconds. After this amount of
  2099. time, the DataNode sends a full report of its cache state to the NameNode.
  2100. The NameNode uses the cache report to update its map of cached blocks to
  2101. DataNode locations.
  2102. This configuration has no effect if in-memory caching has been disabled by
  2103. setting dfs.datanode.max.locked.memory to 0 (which is the default).
  2104. If the native libraries are not available to the DataNode, this
  2105. configuration has no effect.
  2106. </description>
  2107. </property>
  2108. <property>
  2109. <name>dfs.namenode.edit.log.autoroll.multiplier.threshold</name>
  2110. <value>2.0</value>
  2111. <description>
  2112. Determines when an active namenode will roll its own edit log.
  2113. The actual threshold (in number of edits) is determined by multiplying
  2114. this value by dfs.namenode.checkpoint.txns.
  2115. This prevents extremely large edit files from accumulating on the active
  2116. namenode, which can cause timeouts during namenode startup and pose an
  2117. administrative hassle. This behavior is intended as a failsafe for when
  2118. the standby or secondary namenode fail to roll the edit log by the normal
  2119. checkpoint threshold.
  2120. </description>
  2121. </property>
  2122. <property>
  2123. <name>dfs.namenode.edit.log.autoroll.check.interval.ms</name>
  2124. <value>300000</value>
  2125. <description>
  2126. How often an active namenode will check if it needs to roll its edit log,
  2127. in milliseconds.
  2128. </description>
  2129. </property>
  2130. <property>
  2131. <name>dfs.webhdfs.user.provider.user.pattern</name>
  2132. <value>^[A-Za-z_][A-Za-z0-9._-]*[$]?$</value>
  2133. <description>
  2134. Valid pattern for user and group names for webhdfs, it must be a valid java regex.
  2135. </description>
  2136. </property>
  2137. <property>
  2138. <name>dfs.webhdfs.socket.connect-timeout</name>
  2139. <value>60s</value>
  2140. <description>
  2141. Socket timeout for connecting to WebHDFS servers. This prevents a
  2142. WebHDFS client from hanging if the server hostname is
  2143. misconfigured, or the server does not response before the timeout
  2144. expires. Value is followed by a unit specifier: ns, us, ms, s, m,
  2145. h, d for nanoseconds, microseconds, milliseconds, seconds,
  2146. minutes, hours, days respectively. Values should provide units,
  2147. but milliseconds are assumed.
  2148. </description>
  2149. </property>
  2150. <property>
  2151. <name>dfs.webhdfs.socket.read-timeout</name>
  2152. <value>60s</value>
  2153. <description>
  2154. Socket timeout for reading data from WebHDFS servers. This
  2155. prevents a WebHDFS client from hanging if the server stops sending
  2156. data. Value is followed by a unit specifier: ns, us, ms, s, m, h,
  2157. d for nanoseconds, microseconds, milliseconds, seconds, minutes,
  2158. hours, days respectively. Values should provide units,
  2159. but milliseconds are assumed.
  2160. </description>
  2161. </property>
  2162. <property>
  2163. <name>dfs.client.context</name>
  2164. <value>default</value>
  2165. <description>
  2166. The name of the DFSClient context that we should use. Clients that share
  2167. a context share a socket cache and short-circuit cache, among other things.
  2168. You should only change this if you don't want to share with another set of
  2169. threads.
  2170. </description>
  2171. </property>
  2172. <property>
  2173. <name>dfs.client.read.shortcircuit</name>
  2174. <value>false</value>
  2175. <description>
  2176. This configuration parameter turns on short-circuit local reads.
  2177. </description>
  2178. </property>
  2179. <property>
  2180. <name>dfs.client.socket.send.buffer.size</name>
  2181. <value>0</value>
  2182. <description>
  2183. Socket send buffer size for a write pipeline in DFSClient side.
  2184. This may affect TCP connection throughput.
  2185. If it is set to zero or negative value,
  2186. no buffer size will be set explicitly,
  2187. thus enable tcp auto-tuning on some system.
  2188. The default value is 0.
  2189. </description>
  2190. </property>
  2191. <property>
  2192. <name>dfs.domain.socket.path</name>
  2193. <value></value>
  2194. <description>
  2195. Optional. This is a path to a UNIX domain socket that will be used for
  2196. communication between the DataNode and local HDFS clients.
  2197. If the string "_PORT" is present in this path, it will be replaced by the
  2198. TCP port of the DataNode.
  2199. </description>
  2200. </property>
  2201. <property>
  2202. <name>dfs.client.read.shortcircuit.skip.checksum</name>
  2203. <value>false</value>
  2204. <description>
  2205. If this configuration parameter is set,
  2206. short-circuit local reads will skip checksums.
  2207. This is normally not recommended,
  2208. but it may be useful for special setups.
  2209. You might consider using this
  2210. if you are doing your own checksumming outside of HDFS.
  2211. </description>
  2212. </property>
  2213. <property>
  2214. <name>dfs.client.read.shortcircuit.streams.cache.size</name>
  2215. <value>256</value>
  2216. <description>
  2217. The DFSClient maintains a cache of recently opened file descriptors.
  2218. This parameter controls the maximum number of file descriptors in the cache.
  2219. Setting this higher will use more file descriptors,
  2220. but potentially provide better performance on workloads
  2221. involving lots of seeks.
  2222. </description>
  2223. </property>
  2224. <property>
  2225. <name>dfs.client.read.shortcircuit.streams.cache.expiry.ms</name>
  2226. <value>300000</value>
  2227. <description>
  2228. This controls the minimum amount of time
  2229. file descriptors need to sit in the client cache context
  2230. before they can be closed for being inactive for too long.
  2231. </description>
  2232. </property>
  2233. <property>
  2234. <name>dfs.datanode.shared.file.descriptor.paths</name>
  2235. <value>/dev/shm,/tmp</value>
  2236. <description>
  2237. Comma separated paths to the directory on which
  2238. shared memory segments are created.
  2239. The client and the DataNode exchange information via
  2240. this shared memory segment.
  2241. It tries paths in order until creation of shared memory segment succeeds.
  2242. </description>
  2243. </property>
  2244. <property>
  2245. <name>dfs.namenode.audit.log.debug.cmdlist</name>
  2246. <value></value>
  2247. <description>
  2248. A comma separated list of NameNode commands that are written to the HDFS
  2249. namenode audit log only if the audit log level is debug.
  2250. </description>
  2251. </property>
  2252. <property>
  2253. <name>dfs.client.use.legacy.blockreader.local</name>
  2254. <value>false</value>
  2255. <description>
  2256. Legacy short-circuit reader implementation based on HDFS-2246 is used
  2257. if this configuration parameter is true.
  2258. This is for the platforms other than Linux
  2259. where the new implementation based on HDFS-347 is not available.
  2260. </description>
  2261. </property>
  2262. <property>
  2263. <name>dfs.block.local-path-access.user</name>
  2264. <value></value>
  2265. <description>
  2266. Comma separated list of the users allowd to open block files
  2267. on legacy short-circuit local read.
  2268. </description>
  2269. </property>
  2270. <property>
  2271. <name>dfs.client.domain.socket.data.traffic</name>
  2272. <value>false</value>
  2273. <description>
  2274. This control whether we will try to pass normal data traffic
  2275. over UNIX domain socket rather than over TCP socket
  2276. on node-local data transfer.
  2277. This is currently experimental and turned off by default.
  2278. </description>
  2279. </property>
  2280. <property>
  2281. <name>dfs.namenode.reject-unresolved-dn-topology-mapping</name>
  2282. <value>false</value>
  2283. <description>
  2284. If the value is set to true, then namenode will reject datanode
  2285. registration if the topology mapping for a datanode is not resolved and
  2286. NULL is returned (script defined by net.topology.script.file.name fails
  2287. to execute). Otherwise, datanode will be registered and the default rack
  2288. will be assigned as the topology path. Topology paths are important for
  2289. data resiliency, since they define fault domains. Thus it may be unwanted
  2290. behavior to allow datanode registration with the default rack if the
  2291. resolving topology failed.
  2292. </description>
  2293. </property>
  2294. <property>
  2295. <name>dfs.client.slow.io.warning.threshold.ms</name>
  2296. <value>30000</value>
  2297. <description>The threshold in milliseconds at which we will log a slow
  2298. io warning in a dfsclient. By default, this parameter is set to 30000
  2299. milliseconds (30 seconds).
  2300. </description>
  2301. </property>
  2302. <property>
  2303. <name>dfs.datanode.slow.io.warning.threshold.ms</name>
  2304. <value>300</value>
  2305. <description>The threshold in milliseconds at which we will log a slow
  2306. io warning in a datanode. By default, this parameter is set to 300
  2307. milliseconds.
  2308. </description>
  2309. </property>
  2310. <property>
  2311. <name>dfs.namenode.xattrs.enabled</name>
  2312. <value>true</value>
  2313. <description>
  2314. Whether support for extended attributes is enabled on the NameNode.
  2315. </description>
  2316. </property>
  2317. <property>
  2318. <name>dfs.namenode.fs-limits.max-xattrs-per-inode</name>
  2319. <value>32</value>
  2320. <description>
  2321. Maximum number of extended attributes per inode.
  2322. </description>
  2323. </property>
  2324. <property>
  2325. <name>dfs.namenode.fs-limits.max-xattr-size</name>
  2326. <value>16384</value>
  2327. <description>
  2328. The maximum combined size of the name and value of an extended attribute
  2329. in bytes. It should be larger than 0, and less than or equal to maximum
  2330. size hard limit which is 32768.
  2331. </description>
  2332. </property>
  2333. <property>
  2334. <name>dfs.namenode.lease-recheck-interval-ms</name>
  2335. <value>2000</value>
  2336. <description>During the release of lease a lock is hold that make any
  2337. operations on the namenode stuck. In order to not block them during
  2338. a too long duration we stop releasing lease after this max lock limit.
  2339. </description>
  2340. </property>
  2341. <property>
  2342. <name>dfs.namenode.max-lock-hold-to-release-lease-ms</name>
  2343. <value>25</value>
  2344. <description>During the release of lease a lock is hold that make any
  2345. operations on the namenode stuck. In order to not block them during
  2346. a too long duration we stop releasing lease after this max lock limit.
  2347. </description>
  2348. </property>
  2349. <property>
  2350. <name>dfs.namenode.write-lock-reporting-threshold-ms</name>
  2351. <value>5000</value>
  2352. <description>When a write lock is held on the namenode for a long time,
  2353. this will be logged as the lock is released. This sets how long the
  2354. lock must be held for logging to occur.
  2355. </description>
  2356. </property>
  2357. <property>
  2358. <name>dfs.namenode.read-lock-reporting-threshold-ms</name>
  2359. <value>5000</value>
  2360. <description>When a read lock is held on the namenode for a long time,
  2361. this will be logged as the lock is released. This sets how long the
  2362. lock must be held for logging to occur.
  2363. </description>
  2364. </property>
  2365. <property>
  2366. <name>dfs.namenode.lock.detailed-metrics.enabled</name>
  2367. <value>false</value>
  2368. <description>If true, the namenode will keep track of how long various
  2369. operations hold the Namesystem lock for and emit this as metrics. These
  2370. metrics have names of the form FSN(Read|Write)LockNanosOperationName,
  2371. where OperationName denotes the name of the operation that initiated the
  2372. lock hold (this will be OTHER for certain uncategorized operations) and
  2373. they export the hold time values in nanoseconds.
  2374. </description>
  2375. </property>
  2376. <property>
  2377. <name>dfs.namenode.fslock.fair</name>
  2378. <value>true</value>
  2379. <description>If this is true, the FS Namesystem lock will be used in Fair mode,
  2380. which will help to prevent writer threads from being starved, but can provide
  2381. lower lock throughput. See java.util.concurrent.locks.ReentrantReadWriteLock
  2382. for more information on fair/non-fair locks.
  2383. </description>
  2384. </property>
  2385. <property>
  2386. <name>dfs.namenode.startup.delay.block.deletion.sec</name>
  2387. <value>0</value>
  2388. <description>The delay in seconds at which we will pause the blocks deletion
  2389. after Namenode startup. By default it's disabled.
  2390. In the case a directory has large number of directories and files are
  2391. deleted, suggested delay is one hour to give the administrator enough time
  2392. to notice large number of pending deletion blocks and take corrective
  2393. action.
  2394. </description>
  2395. </property>
  2396. <property>
  2397. <name>dfs.namenode.list.encryption.zones.num.responses</name>
  2398. <value>100</value>
  2399. <description>When listing encryption zones, the maximum number of zones
  2400. that will be returned in a batch. Fetching the list incrementally in
  2401. batches improves namenode performance.
  2402. </description>
  2403. </property>
  2404. <property>
  2405. <name>dfs.namenode.list.openfiles.num.responses</name>
  2406. <value>1000</value>
  2407. <description>
  2408. When listing open files, the maximum number of open files that will be
  2409. returned in a single batch. Fetching the list incrementally in batches
  2410. improves namenode performance.
  2411. </description>
  2412. </property>
  2413. <property>
  2414. <name>dfs.namenode.edekcacheloader.interval.ms</name>
  2415. <value>1000</value>
  2416. <description>When KeyProvider is configured, the interval time of warming
  2417. up edek cache on NN starts up / becomes active. All edeks will be loaded
  2418. from KMS into provider cache. The edek cache loader will try to warm up the
  2419. cache until succeed or NN leaves active state.
  2420. </description>
  2421. </property>
  2422. <property>
  2423. <name>dfs.namenode.edekcacheloader.initial.delay.ms</name>
  2424. <value>3000</value>
  2425. <description>When KeyProvider is configured, the time delayed until the first
  2426. attempt to warm up edek cache on NN start up / become active.
  2427. </description>
  2428. </property>
  2429. <property>
  2430. <name>dfs.namenode.inotify.max.events.per.rpc</name>
  2431. <value>1000</value>
  2432. <description>Maximum number of events that will be sent to an inotify client
  2433. in a single RPC response. The default value attempts to amortize away
  2434. the overhead for this RPC while avoiding huge memory requirements for the
  2435. client and NameNode (1000 events should consume no more than 1 MB.)
  2436. </description>
  2437. </property>
  2438. <property>
  2439. <name>dfs.user.home.dir.prefix</name>
  2440. <value>/user</value>
  2441. <description>The directory to prepend to user name to get the user's
  2442. home direcotry.
  2443. </description>
  2444. </property>
  2445. <property>
  2446. <name>dfs.datanode.cache.revocation.timeout.ms</name>
  2447. <value>900000</value>
  2448. <description>When the DFSClient reads from a block file which the DataNode is
  2449. caching, the DFSClient can skip verifying checksums. The DataNode will
  2450. keep the block file in cache until the client is done. If the client takes
  2451. an unusually long time, though, the DataNode may need to evict the block
  2452. file from the cache anyway. This value controls how long the DataNode will
  2453. wait for the client to release a replica that it is reading without
  2454. checksums.
  2455. </description>
  2456. </property>
  2457. <property>
  2458. <name>dfs.datanode.cache.revocation.polling.ms</name>
  2459. <value>500</value>
  2460. <description>How often the DataNode should poll to see if the clients have
  2461. stopped using a replica that the DataNode wants to uncache.
  2462. </description>
  2463. </property>
  2464. <property>
  2465. <name>dfs.datanode.block.id.layout.upgrade.threads</name>
  2466. <value>12</value>
  2467. <description>The number of threads to use when creating hard links from
  2468. current to previous blocks during upgrade of a DataNode to block ID-based
  2469. block layout (see HDFS-6482 for details on the layout).</description>
  2470. </property>
  2471. <property>
  2472. <name>dfs.storage.policy.enabled</name>
  2473. <value>true</value>
  2474. <description>
  2475. Allow users to change the storage policy on files and directories.
  2476. </description>
  2477. </property>
  2478. <property>
  2479. <name>dfs.namenode.legacy-oiv-image.dir</name>
  2480. <value></value>
  2481. <description>Determines where to save the namespace in the old fsimage format
  2482. during checkpointing by standby NameNode or SecondaryNameNode. Users can
  2483. dump the contents of the old format fsimage by oiv_legacy command. If
  2484. the value is not specified, old format fsimage will not be saved in
  2485. checkpoint.
  2486. </description>
  2487. </property>
  2488. <property>
  2489. <name>dfs.namenode.top.enabled</name>
  2490. <value>true</value>
  2491. <description>Enable nntop: reporting top users on namenode
  2492. </description>
  2493. </property>
  2494. <property>
  2495. <name>dfs.namenode.top.window.num.buckets</name>
  2496. <value>10</value>
  2497. <description>Number of buckets in the rolling window implementation of nntop
  2498. </description>
  2499. </property>
  2500. <property>
  2501. <name>dfs.namenode.top.num.users</name>
  2502. <value>10</value>
  2503. <description>Number of top users returned by the top tool
  2504. </description>
  2505. </property>
  2506. <property>
  2507. <name>dfs.namenode.top.windows.minutes</name>
  2508. <value>1,5,25</value>
  2509. <description>comma separated list of nntop reporting periods in minutes
  2510. </description>
  2511. </property>
  2512. <property>
  2513. <name>dfs.webhdfs.ugi.expire.after.access</name>
  2514. <value>600000</value>
  2515. <description>How long in milliseconds after the last access
  2516. the cached UGI will expire. With 0, never expire.
  2517. </description>
  2518. </property>
  2519. <property>
  2520. <name>dfs.namenode.blocks.per.postponedblocks.rescan</name>
  2521. <value>10000</value>
  2522. <description>Number of blocks to rescan for each iteration of
  2523. postponedMisreplicatedBlocks.
  2524. </description>
  2525. </property>
  2526. <property>
  2527. <name>dfs.datanode.block-pinning.enabled</name>
  2528. <value>false</value>
  2529. <description>Whether pin blocks on favored DataNode.</description>
  2530. </property>
  2531. <property>
  2532. <name>dfs.client.block.write.locateFollowingBlock.initial.delay.ms</name>
  2533. <value>400</value>
  2534. <description>The initial delay (unit is ms) for locateFollowingBlock,
  2535. the delay time will increase exponentially(double) for each retry.
  2536. </description>
  2537. </property>
  2538. <property>
  2539. <name>dfs.ha.zkfc.nn.http.timeout.ms</name>
  2540. <value>20000</value>
  2541. <description>
  2542. The HTTP connection and read timeout value (unit is ms ) when DFS ZKFC
  2543. tries to get local NN thread dump after local NN becomes
  2544. SERVICE_NOT_RESPONDING or SERVICE_UNHEALTHY.
  2545. If it is set to zero, DFS ZKFC won't get local NN thread dump.
  2546. </description>
  2547. </property>
  2548. <property>
  2549. <name>dfs.namenode.quota.init-threads</name>
  2550. <value>4</value>
  2551. <description>
  2552. The number of concurrent threads to be used in quota initialization. The
  2553. speed of quota initialization also affects the namenode fail-over latency.
  2554. If the size of name space is big, try increasing this.
  2555. </description>
  2556. </property>
  2557. <property>
  2558. <name>dfs.datanode.transfer.socket.send.buffer.size</name>
  2559. <value>0</value>
  2560. <description>
  2561. Socket send buffer size for DataXceiver (mirroring packets to downstream
  2562. in pipeline). This may affect TCP connection throughput.
  2563. If it is set to zero or negative value, no buffer size will be set
  2564. explicitly, thus enable tcp auto-tuning on some system.
  2565. The default value is 0.
  2566. </description>
  2567. </property>
  2568. <property>
  2569. <name>dfs.datanode.transfer.socket.recv.buffer.size</name>
  2570. <value>0</value>
  2571. <description>
  2572. Socket receive buffer size for DataXceiver (receiving packets from client
  2573. during block writing). This may affect TCP connection throughput.
  2574. If it is set to zero or negative value, no buffer size will be set
  2575. explicitly, thus enable tcp auto-tuning on some system.
  2576. The default value is 0.
  2577. </description>
  2578. </property>
  2579. <property>
  2580. <name>dfs.namenode.upgrade.domain.factor</name>
  2581. <value>${dfs.replication}</value>
  2582. <description>
  2583. This is valid only when block placement policy is set to
  2584. BlockPlacementPolicyWithUpgradeDomain. It defines the number of
  2585. unique upgrade domains any block's replicas should have.
  2586. When the number of replicas is less or equal to this value, the policy
  2587. ensures each replica has an unique upgrade domain. When the number of
  2588. replicas is greater than this value, the policy ensures the number of
  2589. unique domains is at least this value.
  2590. </description>
  2591. </property>
  2592. <property>
  2593. <name>dfs.datanode.bp-ready.timeout</name>
  2594. <value>20</value>
  2595. <description>
  2596. The maximum wait time for datanode to be ready before failing the
  2597. received request. Setting this to 0 fails requests right away if the
  2598. datanode is not yet registered with the namenode. This wait time
  2599. reduces initial request failures after datanode restart.
  2600. </description>
  2601. </property>
  2602. <property>
  2603. <name>dfs.webhdfs.rest-csrf.enabled</name>
  2604. <value>false</value>
  2605. <description>
  2606. If true, then enables WebHDFS protection against cross-site request forgery
  2607. (CSRF). The WebHDFS client also uses this property to determine whether or
  2608. not it needs to send the custom CSRF prevention header in its HTTP requests.
  2609. </description>
  2610. </property>
  2611. <property>
  2612. <name>dfs.webhdfs.rest-csrf.custom-header</name>
  2613. <value>X-XSRF-HEADER</value>
  2614. <description>
  2615. The name of a custom header that HTTP requests must send when protection
  2616. against cross-site request forgery (CSRF) is enabled for WebHDFS by setting
  2617. dfs.webhdfs.rest-csrf.enabled to true. The WebHDFS client also uses this
  2618. property to determine whether or not it needs to send the custom CSRF
  2619. prevention header in its HTTP requests.
  2620. </description>
  2621. </property>
  2622. <property>
  2623. <name>dfs.webhdfs.rest-csrf.methods-to-ignore</name>
  2624. <value>GET,OPTIONS,HEAD,TRACE</value>
  2625. <description>
  2626. A comma-separated list of HTTP methods that do not require HTTP requests to
  2627. include a custom header when protection against cross-site request forgery
  2628. (CSRF) is enabled for WebHDFS by setting dfs.webhdfs.rest-csrf.enabled to
  2629. true. The WebHDFS client also uses this property to determine whether or
  2630. not it needs to send the custom CSRF prevention header in its HTTP requests.
  2631. </description>
  2632. </property>
  2633. <property>
  2634. <name>dfs.webhdfs.rest-csrf.browser-useragents-regex</name>
  2635. <value>^Mozilla.*,^Opera.*</value>
  2636. <description>
  2637. A comma-separated list of regular expressions used to match against an HTTP
  2638. request's User-Agent header when protection against cross-site request
  2639. forgery (CSRF) is enabled for WebHDFS by setting
  2640. dfs.webhdfs.reset-csrf.enabled to true. If the incoming User-Agent matches
  2641. any of these regular expressions, then the request is considered to be sent
  2642. by a browser, and therefore CSRF prevention is enforced. If the request's
  2643. User-Agent does not match any of these regular expressions, then the request
  2644. is considered to be sent by something other than a browser, such as scripted
  2645. automation. In this case, CSRF is not a potential attack vector, so
  2646. the prevention is not enforced. This helps achieve backwards-compatibility
  2647. with existing automation that has not been updated to send the CSRF
  2648. prevention header.
  2649. </description>
  2650. </property>
  2651. <property>
  2652. <name>dfs.xframe.enabled</name>
  2653. <value>true</value>
  2654. <description>
  2655. If true, then enables protection against clickjacking by returning
  2656. X_FRAME_OPTIONS header value set to SAMEORIGIN.
  2657. Clickjacking protection prevents an attacker from using transparent or
  2658. opaque layers to trick a user into clicking on a button
  2659. or link on another page.
  2660. </description>
  2661. </property>
  2662. <property>
  2663. <name>dfs.xframe.value</name>
  2664. <value>SAMEORIGIN</value>
  2665. <description>
  2666. This configration value allows user to specify the value for the
  2667. X-FRAME-OPTIONS. The possible values for this field are
  2668. DENY, SAMEORIGIN and ALLOW-FROM. Any other value will throw an
  2669. exception when namenode and datanodes are starting up.
  2670. </description>
  2671. </property>
  2672. <property>
  2673. <name>dfs.http.client.retry.policy.enabled</name>
  2674. <value>false</value>
  2675. <description>
  2676. If "true", enable the retry policy of WebHDFS client.
  2677. If "false", retry policy is turned off.
  2678. Enabling the retry policy can be quite useful while using WebHDFS to
  2679. copy large files between clusters that could timeout, or
  2680. copy files between HA clusters that could failover during the copy.
  2681. </description>
  2682. </property>
  2683. <property>
  2684. <name>dfs.http.client.retry.policy.spec</name>
  2685. <value>10000,6,60000,10</value>
  2686. <description>
  2687. Specify a policy of multiple linear random retry for WebHDFS client,
  2688. e.g. given pairs of number of retries and sleep time (n0, t0), (n1, t1),
  2689. ..., the first n0 retries sleep t0 milliseconds on average,
  2690. the following n1 retries sleep t1 milliseconds on average, and so on.
  2691. </description>
  2692. </property>
  2693. <property>
  2694. <name>dfs.http.client.failover.max.attempts</name>
  2695. <value>15</value>
  2696. <description>
  2697. Specify the max number of failover attempts for WebHDFS client
  2698. in case of network exception.
  2699. </description>
  2700. </property>
  2701. <property>
  2702. <name>dfs.http.client.retry.max.attempts</name>
  2703. <value>10</value>
  2704. <description>
  2705. Specify the max number of retry attempts for WebHDFS client,
  2706. if the difference between retried attempts and failovered attempts is
  2707. larger than the max number of retry attempts, there will be no more
  2708. retries.
  2709. </description>
  2710. </property>
  2711. <property>
  2712. <name>dfs.http.client.failover.sleep.base.millis</name>
  2713. <value>500</value>
  2714. <description>
  2715. Specify the base amount of time in milliseconds upon which the
  2716. exponentially increased sleep time between retries or failovers
  2717. is calculated for WebHDFS client.
  2718. </description>
  2719. </property>
  2720. <property>
  2721. <name>dfs.http.client.failover.sleep.max.millis</name>
  2722. <value>15000</value>
  2723. <description>
  2724. Specify the upper bound of sleep time in milliseconds between
  2725. retries or failovers for WebHDFS client.
  2726. </description>
  2727. </property>
  2728. <property>
  2729. <name>dfs.namenode.edits.asynclogging</name>
  2730. <value>true</value>
  2731. <description>
  2732. If set to true, enables asynchronous edit logs in the Namenode. If set
  2733. to false, the Namenode uses the traditional synchronous edit logs.
  2734. </description>
  2735. </property>
  2736. <property>
  2737. <name>dfs.balancer.keytab.enabled</name>
  2738. <value>false</value>
  2739. <description>
  2740. Set to true to enable login using a keytab for Kerberized Hadoop.
  2741. </description>
  2742. </property>
  2743. <property>
  2744. <name>dfs.balancer.address</name>
  2745. <value>0.0.0.0:0</value>
  2746. <description>
  2747. The hostname used for a keytab based Kerberos login. Keytab based login
  2748. can be enabled with dfs.balancer.keytab.enabled.
  2749. </description>
  2750. </property>
  2751. <property>
  2752. <name>dfs.balancer.keytab.file</name>
  2753. <value></value>
  2754. <description>
  2755. The keytab file used by the Balancer to login as its
  2756. service principal. The principal name is configured with
  2757. dfs.balancer.kerberos.principal. Keytab based login can be
  2758. enabled with dfs.balancer.keytab.enabled.
  2759. </description>
  2760. </property>
  2761. <property>
  2762. <name>dfs.balancer.kerberos.principal</name>
  2763. <value></value>
  2764. <description>
  2765. The Balancer principal. This is typically set to
  2766. balancer/_HOST@REALM.TLD. The Balancer will substitute _HOST with its
  2767. own fully qualified hostname at startup. The _HOST placeholder
  2768. allows using the same configuration setting on different servers.
  2769. Keytab based login can be enabled with dfs.balancer.keytab.enabled.
  2770. </description>
  2771. </property>
  2772. <property>
  2773. <name>dfs.balancer.block-move.timeout</name>
  2774. <value>0</value>
  2775. <description>
  2776. Maximum amount of time in milliseconds for a block to move. If this is set
  2777. greater than 0, Balancer will stop waiting for a block move completion
  2778. after this time. In typical clusters, a 3 to 5 minute timeout is reasonable.
  2779. If timeout happens to a large proportion of block moves, this needs to be
  2780. increased. It could also be that too much work is dispatched and many nodes
  2781. are constantly exceeding the bandwidth limit as a result. In that case,
  2782. other balancer parameters might need to be adjusted.
  2783. It is disabled (0) by default.
  2784. </description>
  2785. </property>
  2786. <property>
  2787. <name>dfs.balancer.max-no-move-interval</name>
  2788. <value>60000</value>
  2789. <description>
  2790. If this specified amount of time has elapsed and no block has been moved
  2791. out of a source DataNode, on more effort will be made to move blocks out of
  2792. this DataNode in the current Balancer iteration.
  2793. </description>
  2794. </property>
  2795. <property>
  2796. <name>dfs.lock.suppress.warning.interval</name>
  2797. <value>10s</value>
  2798. <description>Instrumentation reporting long critical sections will suppress
  2799. consecutive warnings within this interval.</description>
  2800. </property>
  2801. <property>
  2802. <name>dfs.webhdfs.use.ipc.callq</name>
  2803. <value>true</value>
  2804. <description>Enables routing of webhdfs calls through rpc
  2805. call queue</description>
  2806. </property>
  2807. <property>
  2808. <name>httpfs.buffer.size</name>
  2809. <value>4096</value>
  2810. <description>
  2811. The size buffer to be used when creating or opening httpfs filesystem IO stream.
  2812. </description>
  2813. </property>
  2814. <property>
  2815. <name>dfs.namenode.hosts.provider.classname</name>
  2816. <value>org.apache.hadoop.hdfs.server.blockmanagement.HostFileManager</value>
  2817. <description>
  2818. The class that provides access for host files.
  2819. org.apache.hadoop.hdfs.server.blockmanagement.HostFileManager is used
  2820. by default which loads files specified by dfs.hosts and dfs.hosts.exclude.
  2821. If org.apache.hadoop.hdfs.server.blockmanagement.CombinedHostFileManager is
  2822. used, it will load the JSON file defined in dfs.hosts.
  2823. To change class name, nn restart is required. "dfsadmin -refreshNodes" only
  2824. refreshes the configuration files used by the class.
  2825. </description>
  2826. </property>
  2827. <property>
  2828. <name>dfs.reformat.disabled</name>
  2829. <value>false</value>
  2830. <description>
  2831. Disable reformat of NameNode. If it's value is set to "true"
  2832. and metadata directories already exist then attempt to format NameNode
  2833. will throw NameNodeFormatException.
  2834. </description>
  2835. </property>
  2836. </configuration>