hdfs-default.xml 52 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528
  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.logging.level</name>
  28. <value>info</value>
  29. <description>
  30. The logging level for dfs namenode. Other values are "dir" (trace
  31. namespace mutations), "block" (trace block under/over replications
  32. and block creations/deletions), or "all".
  33. </description>
  34. </property>
  35. <property>
  36. <name>dfs.namenode.rpc-address</name>
  37. <value></value>
  38. <description>
  39. RPC address that handles all clients requests. In the case of HA/Federation where multiple namenodes exist,
  40. the name service id is added to the name e.g. dfs.namenode.rpc-address.ns1
  41. dfs.namenode.rpc-address.EXAMPLENAMESERVICE
  42. The value of this property will take the form of nn-host1:rpc-port.
  43. </description>
  44. </property>
  45. <property>
  46. <name>dfs.namenode.rpc-bind-host</name>
  47. <value></value>
  48. <description>
  49. The actual address the server will bind to. If this optional address is
  50. set, the RPC server will bind to this address and the port specified in
  51. dfs.namenode.rpc-address for the RPC server. It can also be specified
  52. per name node or name service for HA/Federation. This is most useful for
  53. making name node listen to all interfaces by setting to 0.0.0.0.
  54. </description>
  55. </property>
  56. <property>
  57. <name>dfs.namenode.servicerpc-address</name>
  58. <value></value>
  59. <description>
  60. RPC address for HDFS Services communication. BackupNode, Datanodes and all other services should be
  61. connecting to this address if it is configured. In the case of HA/Federation where multiple namenodes exist,
  62. the name service id is added to the name e.g. dfs.namenode.servicerpc-address.ns1
  63. dfs.namenode.rpc-address.EXAMPLENAMESERVICE
  64. The value of this property will take the form of nn-host1:rpc-port.
  65. If the value of this property is unset the value of dfs.namenode.rpc-address will be used as the default.
  66. </description>
  67. </property>
  68. <property>
  69. <name>dfs.namenode.servicerpc-bind-host</name>
  70. <value></value>
  71. <description>
  72. The actual address the server will bind to. If this optional address is
  73. set, the service RPC server will bind to this address and the port
  74. specified in dfs.namenode.servicerpc-address. It can also be specified
  75. per name node or name service for HA/Federation. This is most useful for
  76. making name node listen to all interfaces by setting to 0.0.0.0.
  77. </description>
  78. </property>
  79. <property>
  80. <name>dfs.namenode.secondary.http-address</name>
  81. <value>0.0.0.0:50090</value>
  82. <description>
  83. The secondary namenode http server address and port.
  84. </description>
  85. </property>
  86. <property>
  87. <name>dfs.datanode.address</name>
  88. <value>0.0.0.0:50010</value>
  89. <description>
  90. The datanode server address and port for data transfer.
  91. </description>
  92. </property>
  93. <property>
  94. <name>dfs.datanode.http.address</name>
  95. <value>0.0.0.0:50075</value>
  96. <description>
  97. The datanode http server address and port.
  98. </description>
  99. </property>
  100. <property>
  101. <name>dfs.datanode.ipc.address</name>
  102. <value>0.0.0.0:50020</value>
  103. <description>
  104. The datanode ipc server address and port.
  105. </description>
  106. </property>
  107. <property>
  108. <name>dfs.datanode.handler.count</name>
  109. <value>10</value>
  110. <description>The number of server threads for the datanode.</description>
  111. </property>
  112. <property>
  113. <name>dfs.namenode.http-address</name>
  114. <value>0.0.0.0:50070</value>
  115. <description>
  116. The address and the base port where the dfs namenode web ui will listen on.
  117. </description>
  118. </property>
  119. <property>
  120. <name>dfs.https.enable</name>
  121. <value>false</value>
  122. <description>Decide if HTTPS(SSL) is supported on HDFS
  123. </description>
  124. </property>
  125. <property>
  126. <name>dfs.client.https.need-auth</name>
  127. <value>false</value>
  128. <description>Whether SSL client certificate authentication is required
  129. </description>
  130. </property>
  131. <property>
  132. <name>dfs.https.server.keystore.resource</name>
  133. <value>ssl-server.xml</value>
  134. <description>Resource file from which ssl server keystore
  135. information will be extracted
  136. </description>
  137. </property>
  138. <property>
  139. <name>dfs.client.https.keystore.resource</name>
  140. <value>ssl-client.xml</value>
  141. <description>Resource file from which ssl client keystore
  142. information will be extracted
  143. </description>
  144. </property>
  145. <property>
  146. <name>dfs.datanode.https.address</name>
  147. <value>0.0.0.0:50475</value>
  148. <description>The datanode secure http server address and port.</description>
  149. </property>
  150. <property>
  151. <name>dfs.namenode.https-address</name>
  152. <value>0.0.0.0:50470</value>
  153. <description>The namenode secure http server address and port.</description>
  154. </property>
  155. <property>
  156. <name>dfs.datanode.dns.interface</name>
  157. <value>default</value>
  158. <description>The name of the Network Interface from which a data node should
  159. report its IP address.
  160. </description>
  161. </property>
  162. <property>
  163. <name>dfs.datanode.dns.nameserver</name>
  164. <value>default</value>
  165. <description>The host name or IP address of the name server (DNS)
  166. which a DataNode should use to determine the host name used by the
  167. NameNode for communication and display purposes.
  168. </description>
  169. </property>
  170. <property>
  171. <name>dfs.namenode.backup.address</name>
  172. <value>0.0.0.0:50100</value>
  173. <description>
  174. The backup node server address and port.
  175. If the port is 0 then the server will start on a free port.
  176. </description>
  177. </property>
  178. <property>
  179. <name>dfs.namenode.backup.http-address</name>
  180. <value>0.0.0.0:50105</value>
  181. <description>
  182. The backup node http server address and port.
  183. If the port is 0 then the server will start on a free port.
  184. </description>
  185. </property>
  186. <property>
  187. <name>dfs.namenode.replication.considerLoad</name>
  188. <value>true</value>
  189. <description>Decide if chooseTarget considers the target's load or not
  190. </description>
  191. </property>
  192. <property>
  193. <name>dfs.default.chunk.view.size</name>
  194. <value>32768</value>
  195. <description>The number of bytes to view for a file on the browser.
  196. </description>
  197. </property>
  198. <property>
  199. <name>dfs.datanode.du.reserved</name>
  200. <value>0</value>
  201. <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use.
  202. </description>
  203. </property>
  204. <property>
  205. <name>dfs.namenode.name.dir</name>
  206. <value>file://${hadoop.tmp.dir}/dfs/name</value>
  207. <description>Determines where on the local filesystem the DFS name node
  208. should store the name table(fsimage). If this is a comma-delimited list
  209. of directories then the name table is replicated in all of the
  210. directories, for redundancy. </description>
  211. </property>
  212. <property>
  213. <name>dfs.namenode.name.dir.restore</name>
  214. <value>false</value>
  215. <description>Set to true to enable NameNode to attempt recovering a
  216. previously failed dfs.namenode.name.dir. When enabled, a recovery of any
  217. failed directory is attempted during checkpoint.</description>
  218. </property>
  219. <property>
  220. <name>dfs.namenode.fs-limits.max-component-length</name>
  221. <value>0</value>
  222. <description>Defines the maximum number of characters in each component
  223. of a path. A value of 0 will disable the check.</description>
  224. </property>
  225. <property>
  226. <name>dfs.namenode.fs-limits.max-directory-items</name>
  227. <value>0</value>
  228. <description>Defines the maximum number of items that a directory may
  229. contain. A value of 0 will disable the check.</description>
  230. </property>
  231. <property>
  232. <name>dfs.namenode.fs-limits.min-block-size</name>
  233. <value>1048576</value>
  234. <description>Minimum block size in bytes, enforced by the Namenode at create
  235. time. This prevents the accidental creation of files with tiny block
  236. sizes (and thus many blocks), which can degrade
  237. performance.</description>
  238. </property>
  239. <property>
  240. <name>dfs.namenode.fs-limits.max-blocks-per-file</name>
  241. <value>1048576</value>
  242. <description>Maximum number of blocks per file, enforced by the Namenode on
  243. write. This prevents the creation of extremely large files which can
  244. degrade performance.</description>
  245. </property>
  246. <property>
  247. <name>dfs.namenode.edits.dir</name>
  248. <value>${dfs.namenode.name.dir}</value>
  249. <description>Determines where on the local filesystem the DFS name node
  250. should store the transaction (edits) file. If this is a comma-delimited list
  251. of directories then the transaction file is replicated in all of the
  252. directories, for redundancy. Default value is same as dfs.namenode.name.dir
  253. </description>
  254. </property>
  255. <property>
  256. <name>dfs.namenode.shared.edits.dir</name>
  257. <value></value>
  258. <description>A directory on shared storage between the multiple namenodes
  259. in an HA cluster. This directory will be written by the active and read
  260. by the standby in order to keep the namespaces synchronized. This directory
  261. does not need to be listed in dfs.namenode.edits.dir above. It should be
  262. left empty in a non-HA cluster.
  263. </description>
  264. </property>
  265. <property>
  266. <name>dfs.namenode.edits.journal-plugin.qjournal</name>
  267. <value>org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager</value>
  268. </property>
  269. <property>
  270. <name>dfs.permissions.enabled</name>
  271. <value>true</value>
  272. <description>
  273. If "true", enable permission checking in HDFS.
  274. If "false", permission checking is turned off,
  275. but all other behavior is unchanged.
  276. Switching from one parameter value to the other does not change the mode,
  277. owner or group of files or directories.
  278. </description>
  279. </property>
  280. <property>
  281. <name>dfs.permissions.superusergroup</name>
  282. <value>supergroup</value>
  283. <description>The name of the group of super-users.</description>
  284. </property>
  285. <!--
  286. <property>
  287. <name>dfs.cluster.administrators</name>
  288. <value>ACL for the admins</value>
  289. <description>This configuration is used to control who can access the
  290. default servlets in the namenode, etc.
  291. </description>
  292. </property>
  293. -->
  294. <property>
  295. <name>dfs.block.access.token.enable</name>
  296. <value>false</value>
  297. <description>
  298. If "true", access tokens are used as capabilities for accessing datanodes.
  299. If "false", no access tokens are checked on accessing datanodes.
  300. </description>
  301. </property>
  302. <property>
  303. <name>dfs.block.access.key.update.interval</name>
  304. <value>600</value>
  305. <description>
  306. Interval in minutes at which namenode updates its access keys.
  307. </description>
  308. </property>
  309. <property>
  310. <name>dfs.block.access.token.lifetime</name>
  311. <value>600</value>
  312. <description>The lifetime of access tokens in minutes.</description>
  313. </property>
  314. <property>
  315. <name>dfs.datanode.data.dir</name>
  316. <value>file://${hadoop.tmp.dir}/dfs/data</value>
  317. <description>Determines where on the local filesystem an DFS data node
  318. should store its blocks. If this is a comma-delimited
  319. list of directories, then data will be stored in all named
  320. directories, typically on different devices.
  321. Directories that do not exist are ignored.
  322. </description>
  323. </property>
  324. <property>
  325. <name>dfs.datanode.data.dir.perm</name>
  326. <value>700</value>
  327. <description>Permissions for the directories on on the local filesystem where
  328. the DFS data node store its blocks. The permissions can either be octal or
  329. symbolic.</description>
  330. </property>
  331. <property>
  332. <name>dfs.replication</name>
  333. <value>3</value>
  334. <description>Default block replication.
  335. The actual number of replications can be specified when the file is created.
  336. The default is used if replication is not specified in create time.
  337. </description>
  338. </property>
  339. <property>
  340. <name>dfs.replication.max</name>
  341. <value>512</value>
  342. <description>Maximal block replication.
  343. </description>
  344. </property>
  345. <property>
  346. <name>dfs.namenode.replication.min</name>
  347. <value>1</value>
  348. <description>Minimal block replication.
  349. </description>
  350. </property>
  351. <property>
  352. <name>dfs.blocksize</name>
  353. <value>134217728</value>
  354. <description>
  355. The default block size for new files, in bytes.
  356. You can use the following suffix (case insensitive):
  357. k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.),
  358. Or provide complete size in bytes (such as 134217728 for 128 MB).
  359. </description>
  360. </property>
  361. <property>
  362. <name>dfs.client.block.write.retries</name>
  363. <value>3</value>
  364. <description>The number of retries for writing blocks to the data nodes,
  365. before we signal failure to the application.
  366. </description>
  367. </property>
  368. <property>
  369. <name>dfs.client.block.write.replace-datanode-on-failure.enable</name>
  370. <value>true</value>
  371. <description>
  372. If there is a datanode/network failure in the write pipeline,
  373. DFSClient will try to remove the failed datanode from the pipeline
  374. and then continue writing with the remaining datanodes. As a result,
  375. the number of datanodes in the pipeline is decreased. The feature is
  376. to add new datanodes to the pipeline.
  377. This is a site-wide property to enable/disable the feature.
  378. When the cluster size is extremely small, e.g. 3 nodes or less, cluster
  379. administrators may want to set the policy to NEVER in the default
  380. configuration file or disable this feature. Otherwise, users may
  381. experience an unusually high rate of pipeline failures since it is
  382. impossible to find new datanodes for replacement.
  383. See also dfs.client.block.write.replace-datanode-on-failure.policy
  384. </description>
  385. </property>
  386. <property>
  387. <name>dfs.client.block.write.replace-datanode-on-failure.policy</name>
  388. <value>DEFAULT</value>
  389. <description>
  390. This property is used only if the value of
  391. dfs.client.block.write.replace-datanode-on-failure.enable is true.
  392. ALWAYS: always add a new datanode when an existing datanode is removed.
  393. NEVER: never add a new datanode.
  394. DEFAULT:
  395. Let r be the replication number.
  396. Let n be the number of existing datanodes.
  397. Add a new datanode only if r is greater than or equal to 3 and either
  398. (1) floor(r/2) is greater than or equal to n; or
  399. (2) r is greater than n and the block is hflushed/appended.
  400. </description>
  401. </property>
  402. <property>
  403. <name>dfs.blockreport.intervalMsec</name>
  404. <value>21600000</value>
  405. <description>Determines block reporting interval in milliseconds.</description>
  406. </property>
  407. <property>
  408. <name>dfs.blockreport.initialDelay</name> <value>0</value>
  409. <description>Delay for first block report in seconds.</description>
  410. </property>
  411. <property>
  412. <name>dfs.datanode.directoryscan.interval</name>
  413. <value>21600</value>
  414. <description>Interval in seconds for Datanode to scan data directories and
  415. reconcile the difference between blocks in memory and on the disk.
  416. </description>
  417. </property>
  418. <property>
  419. <name>dfs.datanode.directoryscan.threads</name>
  420. <value>1</value>
  421. <description>How many threads should the threadpool used to compile reports
  422. for volumes in parallel have.
  423. </description>
  424. </property>
  425. <property>
  426. <name>dfs.heartbeat.interval</name>
  427. <value>3</value>
  428. <description>Determines datanode heartbeat interval in seconds.</description>
  429. </property>
  430. <property>
  431. <name>dfs.namenode.handler.count</name>
  432. <value>10</value>
  433. <description>The number of server threads for the namenode.</description>
  434. </property>
  435. <property>
  436. <name>dfs.namenode.safemode.threshold-pct</name>
  437. <value>0.999f</value>
  438. <description>
  439. Specifies the percentage of blocks that should satisfy
  440. the minimal replication requirement defined by dfs.namenode.replication.min.
  441. Values less than or equal to 0 mean not to wait for any particular
  442. percentage of blocks before exiting safemode.
  443. Values greater than 1 will make safe mode permanent.
  444. </description>
  445. </property>
  446. <property>
  447. <name>dfs.namenode.safemode.min.datanodes</name>
  448. <value>0</value>
  449. <description>
  450. Specifies the number of datanodes that must be considered alive
  451. before the name node exits safemode.
  452. Values less than or equal to 0 mean not to take the number of live
  453. datanodes into account when deciding whether to remain in safe mode
  454. during startup.
  455. Values greater than the number of datanodes in the cluster
  456. will make safe mode permanent.
  457. </description>
  458. </property>
  459. <property>
  460. <name>dfs.namenode.safemode.extension</name>
  461. <value>30000</value>
  462. <description>
  463. Determines extension of safe mode in milliseconds
  464. after the threshold level is reached.
  465. </description>
  466. </property>
  467. <property>
  468. <name>dfs.datanode.balance.bandwidthPerSec</name>
  469. <value>1048576</value>
  470. <description>
  471. Specifies the maximum amount of bandwidth that each datanode
  472. can utilize for the balancing purpose in term of
  473. the number of bytes per second.
  474. </description>
  475. </property>
  476. <property>
  477. <name>dfs.hosts</name>
  478. <value></value>
  479. <description>Names a file that contains a list of hosts that are
  480. permitted to connect to the namenode. The full pathname of the file
  481. must be specified. If the value is empty, all hosts are
  482. permitted.</description>
  483. </property>
  484. <property>
  485. <name>dfs.hosts.exclude</name>
  486. <value></value>
  487. <description>Names a file that contains a list of hosts that are
  488. not permitted to connect to the namenode. The full pathname of the
  489. file must be specified. If the value is empty, no hosts are
  490. excluded.</description>
  491. </property>
  492. <property>
  493. <name>dfs.namenode.max.objects</name>
  494. <value>0</value>
  495. <description>The maximum number of files, directories and blocks
  496. dfs supports. A value of zero indicates no limit to the number
  497. of objects that dfs supports.
  498. </description>
  499. </property>
  500. <property>
  501. <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
  502. <value>true</value>
  503. <description>
  504. If true (the default), then the namenode requires that a connecting
  505. datanode's address must be resolved to a hostname. If necessary, a reverse
  506. DNS lookup is performed. All attempts to register a datanode from an
  507. unresolvable address are rejected.
  508. It is recommended that this setting be left on to prevent accidental
  509. registration of datanodes listed by hostname in the excludes file during a
  510. DNS outage. Only set this to false in environments where there is no
  511. infrastructure to support reverse DNS lookup.
  512. </description>
  513. </property>
  514. <property>
  515. <name>dfs.namenode.decommission.interval</name>
  516. <value>30</value>
  517. <description>Namenode periodicity in seconds to check if decommission is
  518. complete.</description>
  519. </property>
  520. <property>
  521. <name>dfs.namenode.decommission.nodes.per.interval</name>
  522. <value>5</value>
  523. <description>The number of nodes namenode checks if decommission is complete
  524. in each dfs.namenode.decommission.interval.</description>
  525. </property>
  526. <property>
  527. <name>dfs.namenode.replication.interval</name>
  528. <value>3</value>
  529. <description>The periodicity in seconds with which the namenode computes
  530. repliaction work for datanodes. </description>
  531. </property>
  532. <property>
  533. <name>dfs.namenode.accesstime.precision</name>
  534. <value>3600000</value>
  535. <description>The access time for HDFS file is precise upto this value.
  536. The default value is 1 hour. Setting a value of 0 disables
  537. access times for HDFS.
  538. </description>
  539. </property>
  540. <property>
  541. <name>dfs.datanode.plugins</name>
  542. <value></value>
  543. <description>Comma-separated list of datanode plug-ins to be activated.
  544. </description>
  545. </property>
  546. <property>
  547. <name>dfs.namenode.plugins</name>
  548. <value></value>
  549. <description>Comma-separated list of namenode plug-ins to be activated.
  550. </description>
  551. </property>
  552. <property>
  553. <name>dfs.stream-buffer-size</name>
  554. <value>4096</value>
  555. <description>The size of buffer to stream files.
  556. The size of this buffer should probably be a multiple of hardware
  557. page size (4096 on Intel x86), and it determines how much data is
  558. buffered during read and write operations.</description>
  559. </property>
  560. <property>
  561. <name>dfs.bytes-per-checksum</name>
  562. <value>512</value>
  563. <description>The number of bytes per checksum. Must not be larger than
  564. dfs.stream-buffer-size</description>
  565. </property>
  566. <property>
  567. <name>dfs.client-write-packet-size</name>
  568. <value>65536</value>
  569. <description>Packet size for clients to write</description>
  570. </property>
  571. <property>
  572. <name>dfs.client.write.exclude.nodes.cache.expiry.interval.millis</name>
  573. <value>600000</value>
  574. <description>The maximum period to keep a DN in the excluded nodes list
  575. at a client. After this period, in milliseconds, the previously excluded node(s) will
  576. be removed automatically from the cache and will be considered good for block allocations
  577. again. Useful to lower or raise in situations where you keep a file open for very long
  578. periods (such as a Write-Ahead-Log (WAL) file) to make the writer tolerant to cluster maintenance
  579. restarts. Defaults to 10 minutes.</description>
  580. </property>
  581. <property>
  582. <name>dfs.namenode.checkpoint.dir</name>
  583. <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>
  584. <description>Determines where on the local filesystem the DFS secondary
  585. name node should store the temporary images to merge.
  586. If this is a comma-delimited list of directories then the image is
  587. replicated in all of the directories for redundancy.
  588. </description>
  589. </property>
  590. <property>
  591. <name>dfs.namenode.checkpoint.edits.dir</name>
  592. <value>${dfs.namenode.checkpoint.dir}</value>
  593. <description>Determines where on the local filesystem the DFS secondary
  594. name node should store the temporary edits to merge.
  595. If this is a comma-delimited list of directoires then teh edits is
  596. replicated in all of the directoires for redundancy.
  597. Default value is same as dfs.namenode.checkpoint.dir
  598. </description>
  599. </property>
  600. <property>
  601. <name>dfs.namenode.checkpoint.period</name>
  602. <value>3600</value>
  603. <description>The number of seconds between two periodic checkpoints.
  604. </description>
  605. </property>
  606. <property>
  607. <name>dfs.namenode.checkpoint.txns</name>
  608. <value>1000000</value>
  609. <description>The Secondary NameNode or CheckpointNode will create a checkpoint
  610. of the namespace every 'dfs.namenode.checkpoint.txns' transactions, regardless
  611. of whether 'dfs.namenode.checkpoint.period' has expired.
  612. </description>
  613. </property>
  614. <property>
  615. <name>dfs.namenode.checkpoint.check.period</name>
  616. <value>60</value>
  617. <description>The SecondaryNameNode and CheckpointNode will poll the NameNode
  618. every 'dfs.namenode.checkpoint.check.period' seconds to query the number
  619. of uncheckpointed transactions.
  620. </description>
  621. </property>
  622. <property>
  623. <name>dfs.namenode.checkpoint.max-retries</name>
  624. <value>3</value>
  625. <description>The SecondaryNameNode retries failed checkpointing. If the
  626. failure occurs while loading fsimage or replaying edits, the number of
  627. retries is limited by this variable.
  628. </description>
  629. </property>
  630. <property>
  631. <name>dfs.namenode.num.checkpoints.retained</name>
  632. <value>2</value>
  633. <description>The number of image checkpoint files that will be retained by
  634. the NameNode and Secondary NameNode in their storage directories. All edit
  635. logs necessary to recover an up-to-date namespace from the oldest retained
  636. checkpoint will also be retained.
  637. </description>
  638. </property>
  639. <property>
  640. <name>dfs.namenode.num.extra.edits.retained</name>
  641. <value>1000000</value>
  642. <description>The number of extra transactions which should be retained
  643. beyond what is minimally necessary for a NN restart. This can be useful for
  644. audit purposes or for an HA setup where a remote Standby Node may have
  645. been offline for some time and need to have a longer backlog of retained
  646. edits in order to start again.
  647. Typically each edit is on the order of a few hundred bytes, so the default
  648. of 1 million edits should be on the order of hundreds of MBs or low GBs.
  649. NOTE: Fewer extra edits may be retained than value specified for this setting
  650. if doing so would mean that more segments would be retained than the number
  651. configured by dfs.namenode.max.extra.edits.segments.retained.
  652. </description>
  653. </property>
  654. <property>
  655. <name>dfs.namenode.max.extra.edits.segments.retained</name>
  656. <value>10000</value>
  657. <description>The maximum number of extra edit log segments which should be retained
  658. beyond what is minimally necessary for a NN restart. When used in conjunction with
  659. dfs.namenode.num.extra.edits.retained, this configuration property serves to cap
  660. the number of extra edits files to a reasonable value.
  661. </description>
  662. </property>
  663. <property>
  664. <name>dfs.namenode.delegation.key.update-interval</name>
  665. <value>86400000</value>
  666. <description>The update interval for master key for delegation tokens
  667. in the namenode in milliseconds.
  668. </description>
  669. </property>
  670. <property>
  671. <name>dfs.namenode.delegation.token.max-lifetime</name>
  672. <value>604800000</value>
  673. <description>The maximum lifetime in milliseconds for which a delegation
  674. token is valid.
  675. </description>
  676. </property>
  677. <property>
  678. <name>dfs.namenode.delegation.token.renew-interval</name>
  679. <value>86400000</value>
  680. <description>The renewal interval for delegation token in milliseconds.
  681. </description>
  682. </property>
  683. <property>
  684. <name>dfs.datanode.failed.volumes.tolerated</name>
  685. <value>0</value>
  686. <description>The number of volumes that are allowed to
  687. fail before a datanode stops offering service. By default
  688. any volume failure will cause a datanode to shutdown.
  689. </description>
  690. </property>
  691. <property>
  692. <name>dfs.image.compress</name>
  693. <value>false</value>
  694. <description>Should the dfs image be compressed?
  695. </description>
  696. </property>
  697. <property>
  698. <name>dfs.image.compression.codec</name>
  699. <value>org.apache.hadoop.io.compress.DefaultCodec</value>
  700. <description>If the dfs image is compressed, how should they be compressed?
  701. This has to be a codec defined in io.compression.codecs.
  702. </description>
  703. </property>
  704. <property>
  705. <name>dfs.image.transfer.timeout</name>
  706. <value>600000</value>
  707. <description>
  708. Timeout for image transfer in milliseconds. This timeout and the related
  709. dfs.image.transfer.bandwidthPerSec parameter should be configured such
  710. that normal image transfer can complete within the timeout.
  711. This timeout prevents client hangs when the sender fails during
  712. image transfer, which is particularly important during checkpointing.
  713. Note that this timeout applies to the entirety of image transfer, and
  714. is not a socket timeout.
  715. </description>
  716. </property>
  717. <property>
  718. <name>dfs.image.transfer.bandwidthPerSec</name>
  719. <value>0</value>
  720. <description>
  721. Maximum bandwidth used for image transfer in bytes per second.
  722. This can help keep normal namenode operations responsive during
  723. checkpointing. The maximum bandwidth and timeout in
  724. dfs.image.transfer.timeout should be set such that normal image
  725. transfers can complete successfully.
  726. A default value of 0 indicates that throttling is disabled.
  727. </description>
  728. </property>
  729. <property>
  730. <name>dfs.namenode.support.allow.format</name>
  731. <value>true</value>
  732. <description>Does HDFS namenode allow itself to be formatted?
  733. You may consider setting this to false for any production
  734. cluster, to avoid any possibility of formatting a running DFS.
  735. </description>
  736. </property>
  737. <property>
  738. <name>dfs.datanode.max.transfer.threads</name>
  739. <value>4096</value>
  740. <description>
  741. Specifies the maximum number of threads to use for transferring data
  742. in and out of the DN.
  743. </description>
  744. </property>
  745. <property>
  746. <name>dfs.datanode.readahead.bytes</name>
  747. <value>4193404</value>
  748. <description>
  749. While reading block files, if the Hadoop native libraries are available,
  750. the datanode can use the posix_fadvise system call to explicitly
  751. page data into the operating system buffer cache ahead of the current
  752. reader's position. This can improve performance especially when
  753. disks are highly contended.
  754. This configuration specifies the number of bytes ahead of the current
  755. read position which the datanode will attempt to read ahead. This
  756. feature may be disabled by configuring this property to 0.
  757. If the native libraries are not available, this configuration has no
  758. effect.
  759. </description>
  760. </property>
  761. <property>
  762. <name>dfs.datanode.drop.cache.behind.reads</name>
  763. <value>false</value>
  764. <description>
  765. In some workloads, the data read from HDFS is known to be significantly
  766. large enough that it is unlikely to be useful to cache it in the
  767. operating system buffer cache. In this case, the DataNode may be
  768. configured to automatically purge all data from the buffer cache
  769. after it is delivered to the client. This behavior is automatically
  770. disabled for workloads which read only short sections of a block
  771. (e.g HBase random-IO workloads).
  772. This may improve performance for some workloads by freeing buffer
  773. cache spage usage for more cacheable data.
  774. If the Hadoop native libraries are not available, this configuration
  775. has no effect.
  776. </description>
  777. </property>
  778. <property>
  779. <name>dfs.datanode.drop.cache.behind.writes</name>
  780. <value>false</value>
  781. <description>
  782. In some workloads, the data written to HDFS is known to be significantly
  783. large enough that it is unlikely to be useful to cache it in the
  784. operating system buffer cache. In this case, the DataNode may be
  785. configured to automatically purge all data from the buffer cache
  786. after it is written to disk.
  787. This may improve performance for some workloads by freeing buffer
  788. cache spage usage for more cacheable data.
  789. If the Hadoop native libraries are not available, this configuration
  790. has no effect.
  791. </description>
  792. </property>
  793. <property>
  794. <name>dfs.datanode.sync.behind.writes</name>
  795. <value>false</value>
  796. <description>
  797. If this configuration is enabled, the datanode will instruct the
  798. operating system to enqueue all written data to the disk immediately
  799. after it is written. This differs from the usual OS policy which
  800. may wait for up to 30 seconds before triggering writeback.
  801. This may improve performance for some workloads by smoothing the
  802. IO profile for data written to disk.
  803. If the Hadoop native libraries are not available, this configuration
  804. has no effect.
  805. </description>
  806. </property>
  807. <property>
  808. <name>dfs.client.failover.max.attempts</name>
  809. <value>15</value>
  810. <description>
  811. Expert only. The number of client failover attempts that should be
  812. made before the failover is considered failed.
  813. </description>
  814. </property>
  815. <property>
  816. <name>dfs.client.failover.sleep.base.millis</name>
  817. <value>500</value>
  818. <description>
  819. Expert only. The time to wait, in milliseconds, between failover
  820. attempts increases exponentially as a function of the number of
  821. attempts made so far, with a random factor of +/- 50%. This option
  822. specifies the base value used in the failover calculation. The
  823. first failover will retry immediately. The 2nd failover attempt
  824. will delay at least dfs.client.failover.sleep.base.millis
  825. milliseconds. And so on.
  826. </description>
  827. </property>
  828. <property>
  829. <name>dfs.client.failover.sleep.max.millis</name>
  830. <value>15000</value>
  831. <description>
  832. Expert only. The time to wait, in milliseconds, between failover
  833. attempts increases exponentially as a function of the number of
  834. attempts made so far, with a random factor of +/- 50%. This option
  835. specifies the maximum value to wait between failovers.
  836. Specifically, the time between two failover attempts will not
  837. exceed +/- 50% of dfs.client.failover.sleep.max.millis
  838. milliseconds.
  839. </description>
  840. </property>
  841. <property>
  842. <name>dfs.client.failover.connection.retries</name>
  843. <value>0</value>
  844. <description>
  845. Expert only. Indicates the number of retries a failover IPC client
  846. will make to establish a server connection.
  847. </description>
  848. </property>
  849. <property>
  850. <name>dfs.client.failover.connection.retries.on.timeouts</name>
  851. <value>0</value>
  852. <description>
  853. Expert only. The number of retry attempts a failover IPC client
  854. will make on socket timeout when establishing a server connection.
  855. </description>
  856. </property>
  857. <property>
  858. <name>dfs.nameservices</name>
  859. <value></value>
  860. <description>
  861. Comma-separated list of nameservices.
  862. </description>
  863. </property>
  864. <property>
  865. <name>dfs.nameservice.id</name>
  866. <value></value>
  867. <description>
  868. The ID of this nameservice. If the nameservice ID is not
  869. configured or more than one nameservice is configured for
  870. dfs.nameservices it is determined automatically by
  871. matching the local node's address with the configured address.
  872. </description>
  873. </property>
  874. <property>
  875. <name>dfs.ha.namenodes.EXAMPLENAMESERVICE</name>
  876. <value></value>
  877. <description>
  878. The prefix for a given nameservice, contains a comma-separated
  879. list of namenodes for a given nameservice (eg EXAMPLENAMESERVICE).
  880. </description>
  881. </property>
  882. <property>
  883. <name>dfs.ha.namenode.id</name>
  884. <value></value>
  885. <description>
  886. The ID of this namenode. If the namenode ID is not configured it
  887. is determined automatically by matching the local node's address
  888. with the configured address.
  889. </description>
  890. </property>
  891. <property>
  892. <name>dfs.ha.log-roll.period</name>
  893. <value>120</value>
  894. <description>
  895. How often, in seconds, the StandbyNode should ask the active to
  896. roll edit logs. Since the StandbyNode only reads from finalized
  897. log segments, the StandbyNode will only be as up-to-date as how
  898. often the logs are rolled. Note that failover triggers a log roll
  899. so the StandbyNode will be up to date before it becomes active.
  900. </description>
  901. </property>
  902. <property>
  903. <name>dfs.ha.tail-edits.period</name>
  904. <value>60</value>
  905. <description>
  906. How often, in seconds, the StandbyNode should check for new
  907. finalized log segments in the shared edits log.
  908. </description>
  909. </property>
  910. <property>
  911. <name>dfs.ha.automatic-failover.enabled</name>
  912. <value>false</value>
  913. <description>
  914. Whether automatic failover is enabled. See the HDFS High
  915. Availability documentation for details on automatic HA
  916. configuration.
  917. </description>
  918. </property>
  919. <property>
  920. <name>dfs.support.append</name>
  921. <value>true</value>
  922. <description>
  923. Does HDFS allow appends to files?
  924. </description>
  925. </property>
  926. <property>
  927. <name>dfs.client.use.datanode.hostname</name>
  928. <value>false</value>
  929. <description>Whether clients should use datanode hostnames when
  930. connecting to datanodes.
  931. </description>
  932. </property>
  933. <property>
  934. <name>dfs.datanode.use.datanode.hostname</name>
  935. <value>false</value>
  936. <description>Whether datanodes should use datanode hostnames when
  937. connecting to other datanodes for data transfer.
  938. </description>
  939. </property>
  940. <property>
  941. <name>dfs.client.local.interfaces</name>
  942. <value></value>
  943. <description>A comma separated list of network interface names to use
  944. for data transfer between the client and datanodes. When creating
  945. a connection to read from or write to a datanode, the client
  946. chooses one of the specified interfaces at random and binds its
  947. socket to the IP of that interface. Individual names may be
  948. specified as either an interface name (eg "eth0"), a subinterface
  949. name (eg "eth0:0"), or an IP address (which may be specified using
  950. CIDR notation to match a range of IPs).
  951. </description>
  952. </property>
  953. <property>
  954. <name>dfs.namenode.kerberos.internal.spnego.principal</name>
  955. <value>${dfs.web.authentication.kerberos.principal}</value>
  956. </property>
  957. <property>
  958. <name>dfs.secondary.namenode.kerberos.internal.spnego.principal</name>
  959. <value>${dfs.web.authentication.kerberos.principal}</value>
  960. </property>
  961. <property>
  962. <name>dfs.namenode.avoid.read.stale.datanode</name>
  963. <value>false</value>
  964. <description>
  965. Indicate whether or not to avoid reading from &quot;stale&quot; datanodes whose
  966. heartbeat messages have not been received by the namenode
  967. for more than a specified time interval. Stale datanodes will be
  968. moved to the end of the node list returned for reading. See
  969. dfs.namenode.avoid.write.stale.datanode for a similar setting for writes.
  970. </description>
  971. </property>
  972. <property>
  973. <name>dfs.namenode.avoid.write.stale.datanode</name>
  974. <value>false</value>
  975. <description>
  976. Indicate whether or not to avoid writing to &quot;stale&quot; datanodes whose
  977. heartbeat messages have not been received by the namenode
  978. for more than a specified time interval. Writes will avoid using
  979. stale datanodes unless more than a configured ratio
  980. (dfs.namenode.write.stale.datanode.ratio) of datanodes are marked as
  981. stale. See dfs.namenode.avoid.read.stale.datanode for a similar setting
  982. for reads.
  983. </description>
  984. </property>
  985. <property>
  986. <name>dfs.namenode.stale.datanode.interval</name>
  987. <value>30000</value>
  988. <description>
  989. Default time interval for marking a datanode as "stale", i.e., if
  990. the namenode has not received heartbeat msg from a datanode for
  991. more than this time interval, the datanode will be marked and treated
  992. as "stale" by default. The stale interval cannot be too small since
  993. otherwise this may cause too frequent change of stale states.
  994. We thus set a minimum stale interval value (the default value is 3 times
  995. of heartbeat interval) and guarantee that the stale interval cannot be less
  996. than the minimum value. A stale data node is avoided during lease/block
  997. recovery. It can be conditionally avoided for reads (see
  998. dfs.namenode.avoid.read.stale.datanode) and for writes (see
  999. dfs.namenode.avoid.write.stale.datanode).
  1000. </description>
  1001. </property>
  1002. <property>
  1003. <name>dfs.namenode.write.stale.datanode.ratio</name>
  1004. <value>0.5f</value>
  1005. <description>
  1006. When the ratio of number stale datanodes to total datanodes marked
  1007. is greater than this ratio, stop avoiding writing to stale nodes so
  1008. as to prevent causing hotspots.
  1009. </description>
  1010. </property>
  1011. <property>
  1012. <name>dfs.namenode.invalidate.work.pct.per.iteration</name>
  1013. <value>0.32f</value>
  1014. <description>
  1015. *Note*: Advanced property. Change with caution.
  1016. This determines the percentage amount of block
  1017. invalidations (deletes) to do over a single DN heartbeat
  1018. deletion command. The final deletion count is determined by applying this
  1019. percentage to the number of live nodes in the system.
  1020. The resultant number is the number of blocks from the deletion list
  1021. chosen for proper invalidation over a single heartbeat of a single DN.
  1022. Value should be a positive, non-zero percentage in float notation (X.Yf),
  1023. with 1.0f meaning 100%.
  1024. </description>
  1025. </property>
  1026. <property>
  1027. <name>dfs.namenode.replication.work.multiplier.per.iteration</name>
  1028. <value>2</value>
  1029. <description>
  1030. *Note*: Advanced property. Change with caution.
  1031. This determines the total amount of block transfers to begin in
  1032. parallel at a DN, for replication, when such a command list is being
  1033. sent over a DN heartbeat by the NN. The actual number is obtained by
  1034. multiplying this multiplier with the total number of live nodes in the
  1035. cluster. The result number is the number of blocks to begin transfers
  1036. immediately for, per DN heartbeat. This number can be any positive,
  1037. non-zero integer.
  1038. </description>
  1039. </property>
  1040. <property>
  1041. <name>dfs.webhdfs.enabled</name>
  1042. <value>false</value>
  1043. <description>
  1044. Enable WebHDFS (REST API) in Namenodes and Datanodes.
  1045. </description>
  1046. </property>
  1047. <property>
  1048. <name>hadoop.fuse.connection.timeout</name>
  1049. <value>300</value>
  1050. <description>
  1051. The minimum number of seconds that we'll cache libhdfs connection objects
  1052. in fuse_dfs. Lower values will result in lower memory consumption; higher
  1053. values may speed up access by avoiding the overhead of creating new
  1054. connection objects.
  1055. </description>
  1056. </property>
  1057. <property>
  1058. <name>hadoop.fuse.timer.period</name>
  1059. <value>5</value>
  1060. <description>
  1061. The number of seconds between cache expiry checks in fuse_dfs. Lower values
  1062. will result in fuse_dfs noticing changes to Kerberos ticket caches more
  1063. quickly.
  1064. </description>
  1065. </property>
  1066. <property>
  1067. <name>dfs.metrics.percentiles.intervals</name>
  1068. <value></value>
  1069. <description>
  1070. Comma-delimited set of integers denoting the desired rollover intervals
  1071. (in seconds) for percentile latency metrics on the Namenode and Datanode.
  1072. By default, percentile latency metrics are disabled.
  1073. </description>
  1074. </property>
  1075. <property>
  1076. <name>dfs.encrypt.data.transfer</name>
  1077. <value>false</value>
  1078. <description>
  1079. Whether or not actual block data that is read/written from/to HDFS should
  1080. be encrypted on the wire. This only needs to be set on the NN and DNs,
  1081. clients will deduce this automatically.
  1082. </description>
  1083. </property>
  1084. <property>
  1085. <name>dfs.encrypt.data.transfer.algorithm</name>
  1086. <value></value>
  1087. <description>
  1088. This value may be set to either "3des" or "rc4". If nothing is set, then
  1089. the configured JCE default on the system is used (usually 3DES.) It is
  1090. widely believed that 3DES is more cryptographically secure, but RC4 is
  1091. substantially faster.
  1092. </description>
  1093. </property>
  1094. <property>
  1095. <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
  1096. <value>false</value>
  1097. <description>
  1098. Boolean which enables backend datanode-side support for the experimental DistributedFileSystem#getFileVBlockStorageLocations API.
  1099. </description>
  1100. </property>
  1101. <property>
  1102. <name>dfs.client.file-block-storage-locations.num-threads</name>
  1103. <value>10</value>
  1104. <description>
  1105. Number of threads used for making parallel RPCs in DistributedFileSystem#getFileBlockStorageLocations().
  1106. </description>
  1107. </property>
  1108. <property>
  1109. <name>dfs.client.file-block-storage-locations.timeout</name>
  1110. <value>60</value>
  1111. <description>
  1112. Timeout (in seconds) for the parallel RPCs made in DistributedFileSystem#getFileBlockStorageLocations().
  1113. </description>
  1114. </property>
  1115. <property>
  1116. <name>dfs.journalnode.rpc-address</name>
  1117. <value>0.0.0.0:8485</value>
  1118. <description>
  1119. The JournalNode RPC server address and port.
  1120. </description>
  1121. </property>
  1122. <property>
  1123. <name>dfs.journalnode.http-address</name>
  1124. <value>0.0.0.0:8480</value>
  1125. <description>
  1126. The address and port the JournalNode web UI listens on.
  1127. If the port is 0 then the server will start on a free port.
  1128. </description>
  1129. </property>
  1130. <property>
  1131. <name>dfs.namenode.audit.loggers</name>
  1132. <value>default</value>
  1133. <description>
  1134. List of classes implementing audit loggers that will receive audit events.
  1135. These should be implementations of org.apache.hadoop.hdfs.server.namenode.AuditLogger.
  1136. The special value "default" can be used to reference the default audit
  1137. logger, which uses the configured log system. Installing custom audit loggers
  1138. may affect the performance and stability of the NameNode. Refer to the custom
  1139. logger's documentation for more details.
  1140. </description>
  1141. </property>
  1142. <property>
  1143. <name>dfs.domain.socket.path</name>
  1144. <value></value>
  1145. <description>
  1146. Optional. This is a path to a UNIX domain socket that will be used for
  1147. communication between the DataNode and local HDFS clients.
  1148. If the string "_PORT" is present in this path, it will be replaced by the
  1149. TCP port of the DataNode.
  1150. </description>
  1151. </property>
  1152. <property>
  1153. <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name>
  1154. <value>10737418240</value> <!-- 10 GB -->
  1155. <description>
  1156. Only used when the dfs.datanode.fsdataset.volume.choosing.policy is set to
  1157. org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy.
  1158. This setting controls how much DN volumes are allowed to differ in terms of
  1159. bytes of free disk space before they are considered imbalanced. If the free
  1160. space of all the volumes are within this range of each other, the volumes
  1161. will be considered balanced and block assignments will be done on a pure
  1162. round robin basis.
  1163. </description>
  1164. </property>
  1165. <property>
  1166. <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction</name>
  1167. <value>0.75f</value>
  1168. <description>
  1169. Only used when the dfs.datanode.fsdataset.volume.choosing.policy is set to
  1170. org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy.
  1171. This setting controls what percentage of new block allocations will be sent
  1172. to volumes with more available disk space than others. This setting should
  1173. be in the range 0.0 - 1.0, though in practice 0.5 - 1.0, since there should
  1174. be no reason to prefer that volumes with less available disk space receive
  1175. more block allocations.
  1176. </description>
  1177. </property>
  1178. <property>
  1179. <name>dfs.namenode.edits.noeditlogchannelflush</name>
  1180. <value>false</value>
  1181. <description>
  1182. Specifies whether to flush edit log file channel. When set, expensive
  1183. FileChannel#force calls are skipped and synchronous disk writes are
  1184. enabled instead by opening the edit log file with RandomAccessFile("rws")
  1185. flags. This can significantly improve the performance of edit log writes
  1186. on the Windows platform.
  1187. Note that the behavior of the "rws" flags is platform and hardware specific
  1188. and might not provide the same level of guarantees as FileChannel#force.
  1189. For example, the write will skip the disk-cache on SAS and SCSI devices
  1190. while it might not on SATA devices. This is an expert level setting,
  1191. change with caution.
  1192. </description>
  1193. </property>
  1194. <property>
  1195. <name>dfs.client.cache.drop.behind.writes</name>
  1196. <value></value>
  1197. <description>
  1198. Just like dfs.datanode.drop.cache.behind.writes, this setting causes the
  1199. page cache to be dropped behind HDFS writes, potentially freeing up more
  1200. memory for other uses. Unlike dfs.datanode.drop.cache.behind.writes, this
  1201. is a client-side setting rather than a setting for the entire datanode.
  1202. If present, this setting will override the DataNode default.
  1203. If the native libraries are not available to the DataNode, this
  1204. configuration has no effect.
  1205. </description>
  1206. </property>
  1207. <property>
  1208. <name>dfs.client.cache.drop.behind.reads</name>
  1209. <value></value>
  1210. <description>
  1211. Just like dfs.datanode.drop.cache.behind.reads, this setting causes the
  1212. page cache to be dropped behind HDFS reads, potentially freeing up more
  1213. memory for other uses. Unlike dfs.datanode.drop.cache.behind.reads, this
  1214. is a client-side setting rather than a setting for the entire datanode. If
  1215. present, this setting will override the DataNode default.
  1216. If the native libraries are not available to the DataNode, this
  1217. configuration has no effect.
  1218. </description>
  1219. </property>
  1220. <property>
  1221. <name>dfs.client.cache.readahead</name>
  1222. <value></value>
  1223. <description>
  1224. Just like dfs.datanode.readahead.bytes, this setting causes the datanode to
  1225. read ahead in the block file using posix_fadvise, potentially decreasing
  1226. I/O wait times. Unlike dfs.datanode.readahead.bytes, this is a client-side
  1227. setting rather than a setting for the entire datanode. If present, this
  1228. setting will override the DataNode default.
  1229. If the native libraries are not available to the DataNode, this
  1230. configuration has no effect.
  1231. </description>
  1232. </property>
  1233. <property>
  1234. <name>dfs.namenode.enable.retrycache</name>
  1235. <value>true</value>
  1236. <description>
  1237. This enables the retry cache on the namenode. Namenode tracks for
  1238. non-idempotent requests the corresponding response. If a client retries the
  1239. request, the response from the retry cache is sent. Such operations
  1240. are tagged with annotation @AtMostOnce in namenode protocols. It is
  1241. recommended that this flag be set to true. Setting it to false, will result
  1242. in clients getting failure responses to retried request. This flag must
  1243. be enabled in HA setup for transparent fail-overs.
  1244. The entries in the cache have expiration time configurable
  1245. using dfs.namenode.retrycache.expirytime.millis.
  1246. </description>
  1247. </property>
  1248. <property>
  1249. <name>dfs.namenode.retrycache.expirytime.millis</name>
  1250. <value>600000</value>
  1251. <description>
  1252. The time for which retry cache entries are retained.
  1253. </description>
  1254. </property>
  1255. <property>
  1256. <name>dfs.namenode.retrycache.heap.percent</name>
  1257. <value>0.03f</value>
  1258. <description>
  1259. This parameter configures the heap size allocated for retry cache
  1260. (excluding the response cached). This corresponds to approximately
  1261. 4096 entries for every 64MB of namenode process java heap size.
  1262. Assuming retry cache entry expiration time (configured using
  1263. dfs.namenode.retrycache.expirytime.millis) of 10 minutes, this
  1264. enables retry cache to support 7 operations per second sustained
  1265. for 10 minutes. As the heap size is increased, the operation rate
  1266. linearly increases.
  1267. </description>
  1268. </property>
  1269. <property>
  1270. <name>dfs.client.mmap.cache.size</name>
  1271. <value>1024</value>
  1272. <description>
  1273. When zero-copy reads are used, the DFSClient keeps a cache of recently used
  1274. memory mapped regions. This parameter controls the maximum number of
  1275. entries that we will keep in that cache.
  1276. If this is set to 0, we will not allow mmap.
  1277. The larger this number is, the more file descriptors we will potentially
  1278. use for memory-mapped files. mmaped files also use virtual address space.
  1279. You may need to increase your ulimit virtual address space limits before
  1280. increasing the client mmap cache size.
  1281. </description>
  1282. </property>
  1283. <property>
  1284. <name>dfs.client.mmap.cache.timeout.ms</name>
  1285. <value>900000</value>
  1286. <description>
  1287. The minimum length of time that we will keep an mmap entry in the cache
  1288. between uses. If an entry is in the cache longer than this, and nobody
  1289. uses it, it will be removed by a background thread.
  1290. </description>
  1291. </property>
  1292. <property>
  1293. <name>dfs.namenode.caching.enabled</name>
  1294. <value>false</value>
  1295. <description>
  1296. Set to true to enable block caching. This flag enables the NameNode to
  1297. maintain a mapping of cached blocks to DataNodes via processing DataNode
  1298. cache reports. Based on these reports and addition and removal of caching
  1299. directives, the NameNode will schedule caching and uncaching work.
  1300. </description>
  1301. </property>
  1302. <property>
  1303. <name>dfs.datanode.max.locked.memory</name>
  1304. <value>0</value>
  1305. <description>
  1306. The amount of memory in bytes to use for caching of block replicas in
  1307. memory on the datanode. The datanode's maximum locked memory soft ulimit
  1308. (RLIMIT_MEMLOCK) must be set to at least this value, else the datanode
  1309. will abort on startup.
  1310. By default, this parameter is set to 0, which disables in-memory caching.
  1311. If the native libraries are not available to the DataNode, this
  1312. configuration has no effect.
  1313. </description>
  1314. </property>
  1315. <property>
  1316. <name>dfs.namenode.path.based.cache.refresh.interval.ms</name>
  1317. <value>300000</value>
  1318. <description>
  1319. The amount of milliseconds between subsequent path cache rescans. Path
  1320. cache rescans are when we calculate which blocks should be cached, and on
  1321. what datanodes.
  1322. By default, this parameter is set to 300000, which is five minutes.
  1323. </description>
  1324. </property>
  1325. <property>
  1326. <name>dfs.datanode.fsdatasetcache.max.threads.per.volume</name>
  1327. <value>4</value>
  1328. <description>
  1329. The maximum number of threads per volume to use for caching new data
  1330. on the datanode. These threads consume both I/O and CPU. This can affect
  1331. normal datanode operations.
  1332. </description>
  1333. </property>
  1334. <property>
  1335. <name>dfs.cachereport.intervalMsec</name>
  1336. <value>10000</value>
  1337. <description>
  1338. Determines cache reporting interval in milliseconds. After this amount of
  1339. time, the DataNode sends a full report of its cache state to the NameNode.
  1340. The NameNode uses the cache report to update its map of cached blocks to
  1341. DataNode locations.
  1342. This configuration has no effect if in-memory caching has been disabled by
  1343. setting dfs.datanode.max.locked.memory to 0 (which is the default).
  1344. If the native libraries are not available to the DataNode, this
  1345. configuration has no effect.
  1346. </description>
  1347. </property>
  1348. </configuration>