hdfs-default.xml 227 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691
  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. The NameNode's default RPC port is 8020.
  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:9868</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:9869</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:9866</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:9864</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:9867</value>
  126. <description>
  127. The datanode ipc server address and port.
  128. </description>
  129. </property>
  130. <property>
  131. <name>dfs.datanode.http.internal-proxy.port</name>
  132. <value>0</value>
  133. <description>
  134. The datanode's internal web proxy port.
  135. By default it selects a random port available in runtime.
  136. </description>
  137. </property>
  138. <property>
  139. <name>dfs.datanode.handler.count</name>
  140. <value>10</value>
  141. <description>
  142. The number of Datanode RPC server threads that listen to
  143. requests from client.</description>
  144. </property>
  145. <property>
  146. <name>dfs.namenode.http-address</name>
  147. <value>0.0.0.0:9870</value>
  148. <description>
  149. The address and the base port where the dfs namenode web ui will listen on.
  150. </description>
  151. </property>
  152. <property>
  153. <name>dfs.namenode.http-bind-host</name>
  154. <value></value>
  155. <description>
  156. The actual address the HTTP server will bind to. If this optional address
  157. is set, it overrides only the hostname portion of dfs.namenode.http-address.
  158. It can also be specified per name node or name service for HA/Federation.
  159. This is useful for making the name node HTTP server listen on all
  160. interfaces by setting it to 0.0.0.0.
  161. </description>
  162. </property>
  163. <property>
  164. <name>dfs.namenode.heartbeat.recheck-interval</name>
  165. <value>300000</value>
  166. <description>
  167. This time decides the interval to check for expired datanodes.
  168. With this value and dfs.heartbeat.interval, the interval of
  169. deciding the datanode is stale or not is also calculated.
  170. The unit of this configuration is millisecond.
  171. </description>
  172. </property>
  173. <property>
  174. <name>dfs.http.policy</name>
  175. <value>HTTP_ONLY</value>
  176. <description>Decide if HTTPS(SSL) is supported on HDFS
  177. This configures the HTTP endpoint for HDFS daemons:
  178. The following values are supported:
  179. - HTTP_ONLY : Service is provided only on http
  180. - HTTPS_ONLY : Service is provided only on https
  181. - HTTP_AND_HTTPS : Service is provided both on http and https
  182. </description>
  183. </property>
  184. <property>
  185. <name>dfs.client.https.need-auth</name>
  186. <value>false</value>
  187. <description>Whether SSL client certificate authentication is required
  188. </description>
  189. </property>
  190. <property>
  191. <name>dfs.client.cached.conn.retry</name>
  192. <value>3</value>
  193. <description>The number of times the HDFS client will pull a socket from the
  194. cache. Once this number is exceeded, the client will try to create a new
  195. socket.
  196. </description>
  197. </property>
  198. <property>
  199. <name>dfs.https.server.keystore.resource</name>
  200. <value>ssl-server.xml</value>
  201. <description>Resource file from which ssl server keystore
  202. information will be extracted
  203. </description>
  204. </property>
  205. <property>
  206. <name>dfs.client.https.keystore.resource</name>
  207. <value>ssl-client.xml</value>
  208. <description>Resource file from which ssl client keystore
  209. information will be extracted
  210. </description>
  211. </property>
  212. <property>
  213. <name>dfs.datanode.https.address</name>
  214. <value>0.0.0.0:9865</value>
  215. <description>The datanode secure http server address and port.</description>
  216. </property>
  217. <property>
  218. <name>dfs.namenode.https-address</name>
  219. <value>0.0.0.0:9871</value>
  220. <description>The namenode secure http server address and port.</description>
  221. </property>
  222. <property>
  223. <name>dfs.namenode.https-bind-host</name>
  224. <value></value>
  225. <description>
  226. The actual address the HTTPS server will bind to. If this optional address
  227. is set, it overrides only the hostname portion of dfs.namenode.https-address.
  228. It can also be specified per name node or name service for HA/Federation.
  229. This is useful for making the name node HTTPS server listen on all
  230. interfaces by setting it to 0.0.0.0.
  231. </description>
  232. </property>
  233. <property>
  234. <name>dfs.datanode.dns.interface</name>
  235. <value>default</value>
  236. <description>
  237. The name of the Network Interface from which a data node should
  238. report its IP address. e.g. eth2. This setting may be required for some
  239. multi-homed nodes where the DataNodes are assigned multiple hostnames
  240. and it is desirable for the DataNodes to use a non-default hostname.
  241. Prefer using hadoop.security.dns.interface over
  242. dfs.datanode.dns.interface.
  243. </description>
  244. </property>
  245. <property>
  246. <name>dfs.datanode.dns.nameserver</name>
  247. <value>default</value>
  248. <description>
  249. The host name or IP address of the name server (DNS) which a DataNode
  250. should use to determine its own host name.
  251. Prefer using hadoop.security.dns.nameserver over
  252. dfs.datanode.dns.nameserver.
  253. </description>
  254. </property>
  255. <property>
  256. <name>dfs.namenode.backup.address</name>
  257. <value>0.0.0.0:50100</value>
  258. <description>
  259. The backup node server address and port.
  260. If the port is 0 then the server will start on a free port.
  261. </description>
  262. </property>
  263. <property>
  264. <name>dfs.namenode.backup.http-address</name>
  265. <value>0.0.0.0:50105</value>
  266. <description>
  267. The backup node http server address and port.
  268. If the port is 0 then the server will start on a free port.
  269. </description>
  270. </property>
  271. <property>
  272. <name>dfs.namenode.redundancy.considerLoad</name>
  273. <value>true</value>
  274. <description>
  275. Decide if chooseTarget considers the target's load or not when write.
  276. Turn on by default.
  277. </description>
  278. </property>
  279. <property>
  280. <name>dfs.namenode.redundancy.considerLoadByStorageType</name>
  281. <value>false</value>
  282. <description>
  283. Decide if chooseTarget considers the target's load with respect to the
  284. storage type. Typically to be used when datanodes contain homogenous
  285. storage types. Irrelevent if dfs.namenode.redundancy.considerLoad is
  286. false.
  287. </description>
  288. </property>
  289. <property>
  290. <name>dfs.namenode.redundancy.considerLoad.factor</name>
  291. <value>2.0</value>
  292. <description>The factor by which a node's load can exceed the average
  293. before being rejected for writes, only if considerLoad is true.
  294. </description>
  295. </property>
  296. <property>
  297. <name>dfs.namenode.redundancy.considerLoadByVolume</name>
  298. <value>false</value>
  299. <description>Decide if chooseTarget considers the target's volume load or
  300. not.
  301. </description>
  302. </property>
  303. <property>
  304. <name>dfs.namenode.read.considerLoad</name>
  305. <value>false</value>
  306. <description>
  307. Decide if sort block locations considers the target's load or not when read.
  308. Turn off by default.
  309. It is not possible to enable this feature along with dfs.namenode.read.considerStorageType as only one sort can be
  310. enabled at a time.
  311. </description>
  312. </property>
  313. <property>
  314. <name>dfs.namenode.read.considerStorageType</name>
  315. <value>false</value>
  316. <description>
  317. Decide if sort block locations considers the target's storage type or not when read. Any locations with the same
  318. network distance are sorted in order of the storage speed, fastest first (RAM, SSD, Disk, Archive). This is
  319. disabled by default, and the locations will be ordered randomly.
  320. It is not possible to enable this feature along with dfs.namenode.read.considerLoad as only one sort can be
  321. enabled at a time.
  322. </description>
  323. </property>
  324. <property>
  325. <name>dfs.datanode.httpserver.filter.handlers</name>
  326. <value>org.apache.hadoop.hdfs.server.datanode.web.RestCsrfPreventionFilterHandler</value>
  327. <description>Comma separated list of Netty servlet-style filter handlers to inject into the Datanode WebHDFS I/O path
  328. </description>
  329. </property>
  330. <property>
  331. <name>dfs.default.chunk.view.size</name>
  332. <value>32768</value>
  333. <description>The number of bytes to view for a file on the browser.
  334. </description>
  335. </property>
  336. <property>
  337. <name>dfs.datanode.du.reserved.calculator</name>
  338. <value>org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.ReservedSpaceCalculator$ReservedSpaceCalculatorAbsolute</value>
  339. <description>Determines the class of ReservedSpaceCalculator to be used for
  340. calculating disk space reservedfor non-HDFS data. The default calculator is
  341. ReservedSpaceCalculatorAbsolute which will use dfs.datanode.du.reserved
  342. for a static reserved number of bytes. ReservedSpaceCalculatorPercentage
  343. will use dfs.datanode.du.reserved.pct to calculate the reserved number
  344. of bytes based on the size of the storage. ReservedSpaceCalculatorConservative and
  345. ReservedSpaceCalculatorAggressive will use their combination, Conservative will use
  346. maximum, Aggressive minimum. For more details see ReservedSpaceCalculator.
  347. </description>
  348. </property>
  349. <property>
  350. <name>dfs.datanode.du.reserved</name>
  351. <value>0</value>
  352. <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use.
  353. Specific directory based reservation is supported. The property can be followed with directory
  354. name which is set at 'dfs.datanode.data.dir'. For example, reserved space for /data/hdfs1/data
  355. can be configured using property 'dfs.datanode.du.reserved./data/hdfs1/data'. If specific directory
  356. reservation is not configured then dfs.datanode.du.reserved will be used.
  357. Specific storage type based reservation is also supported. The property can be followed with
  358. corresponding storage types ([ssd]/[disk]/[archive]/[ram_disk]/[nvdimm]) for cluster with heterogeneous storage.
  359. For example, reserved space for RAM_DISK storage can be configured using property
  360. 'dfs.datanode.du.reserved.ram_disk'. If specific storage type reservation is not configured
  361. then dfs.datanode.du.reserved will be used. Support multiple size unit suffix(case insensitive),
  362. as described in dfs.blocksize. Use directory name and storage type based reservation at the
  363. same time is also allowed if both are configured.
  364. Property priority example: dfs.datanode.du.reserved./data/hdfs1/data.ram_disk >
  365. dfs.datanode.du.reserved./data/hdfs1/data > dfs.datanode.du.reserved.ram_disk > dfs.datanode.du.reserved
  366. Note: In case of using tune2fs to set reserved-blocks-percentage, or other filesystem tools,
  367. then you can possibly run into out of disk errors because hadoop will not check those
  368. external tool configurations.
  369. </description>
  370. </property>
  371. <property>
  372. <name>dfs.datanode.du.reserved.pct</name>
  373. <value>0</value>
  374. <description>Reserved space in percentage. Read dfs.datanode.du.reserved.calculator to see
  375. when this takes effect. The actual number of bytes reserved will be calculated by using the
  376. total capacity of the data directory in question. Specific directory based reservation is
  377. supported. The property can be followed with directory name which is set at 'dfs.datanode.data.dir'.
  378. For example, reserved percentage space for /data/hdfs1/data can be configured using property
  379. 'dfs.datanode.du.reserved.pct./data/hdfs1/data'. If specific directory reservation is not
  380. configured then dfs.datanode.du.reserved.pct will be used. Specific storage type based reservation
  381. is also supported. The property can be followed with corresponding storage types
  382. ([ssd]/[disk]/[archive]/[ram_disk]/[nvdimm]) for cluster with heterogeneous storage.
  383. For example, reserved percentage space for RAM_DISK storage can be configured using property
  384. 'dfs.datanode.du.reserved.pct.ram_disk'. If specific storage type reservation is not configured
  385. then dfs.datanode.du.reserved.pct will be used. Use directory and storage type based reservation
  386. is also allowed if both are configured.
  387. Priority example: dfs.datanode.du.reserved.pct./data/hdfs1/data.ram_disk > dfs.datanode.du.reserved.pct./data/hdfs1/data
  388. > dfs.datanode.du.reserved.pct.ram_disk > dfs.datanode.du.reserved.pct
  389. </description>
  390. </property>
  391. <property>
  392. <name>dfs.namenode.name.dir</name>
  393. <value>file://${hadoop.tmp.dir}/dfs/name</value>
  394. <description>Determines where on the local filesystem the DFS name node
  395. should store the name table(fsimage). If this is a comma-delimited list
  396. of directories then the name table is replicated in all of the
  397. directories, for redundancy. </description>
  398. </property>
  399. <property>
  400. <name>dfs.namenode.name.dir.restore</name>
  401. <value>false</value>
  402. <description>Set to true to enable NameNode to attempt recovering a
  403. previously failed dfs.namenode.name.dir. When enabled, a recovery of any
  404. failed directory is attempted during checkpoint.</description>
  405. </property>
  406. <property>
  407. <name>dfs.namenode.fs-limits.max-component-length</name>
  408. <value>255</value>
  409. <description>Defines the maximum number of bytes in UTF-8 encoding in each
  410. component of a path. A value of 0 will disable the check. Support
  411. multiple size unit suffix(case insensitive), as described in dfs.blocksize.
  412. </description>
  413. </property>
  414. <property>
  415. <name>dfs.namenode.fs-limits.max-directory-items</name>
  416. <value>1048576</value>
  417. <description>Defines the maximum number of items that a directory may
  418. contain. Cannot set the property to a value less than 1 or more than
  419. 6400000.</description>
  420. </property>
  421. <property>
  422. <name>dfs.namenode.fs-limits.min-block-size</name>
  423. <value>1048576</value>
  424. <description>Minimum block size in bytes, enforced by the Namenode at create
  425. time. This prevents the accidental creation of files with tiny block
  426. sizes (and thus many blocks), which can degrade performance. Support multiple
  427. size unit suffix(case insensitive), as described in dfs.blocksize.
  428. </description>
  429. </property>
  430. <property>
  431. <name>dfs.namenode.fs-limits.max-blocks-per-file</name>
  432. <value>10000</value>
  433. <description>Maximum number of blocks per file, enforced by the Namenode on
  434. write. This prevents the creation of extremely large files which can
  435. degrade performance.</description>
  436. </property>
  437. <property>
  438. <name>dfs.namenode.edits.dir</name>
  439. <value>${dfs.namenode.name.dir}</value>
  440. <description>Determines where on the local filesystem the DFS name node
  441. should store the transaction (edits) file. If this is a comma-delimited list
  442. of directories then the transaction file is replicated in all of the
  443. directories, for redundancy. Default value is same as dfs.namenode.name.dir
  444. </description>
  445. </property>
  446. <property>
  447. <name>dfs.namenode.edits.dir.required</name>
  448. <value></value>
  449. <description>This should be a subset of dfs.namenode.edits.dir,
  450. to ensure that the transaction (edits) file
  451. in these places is always up-to-date.
  452. </description>
  453. </property>
  454. <property>
  455. <name>dfs.namenode.shared.edits.dir</name>
  456. <value></value>
  457. <description>A directory on shared storage between the multiple namenodes
  458. in an HA cluster. This directory will be written by the active and read
  459. by the standby in order to keep the namespaces synchronized. This directory
  460. does not need to be listed in dfs.namenode.edits.dir above. It should be
  461. left empty in a non-HA cluster.
  462. </description>
  463. </property>
  464. <property>
  465. <name>dfs.namenode.edits.journal-plugin.qjournal</name>
  466. <value>org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager</value>
  467. </property>
  468. <property>
  469. <name>dfs.namenode.edits.qjournals.resolution-enabled</name>
  470. <value>false</value>
  471. <description>
  472. Determines if the given qjournals address is a domain name which needs to
  473. be resolved.
  474. This is used by namenode to resolve qjournals.
  475. </description>
  476. </property>
  477. <property>
  478. <name>dfs.namenode.edits.qjournals.resolver.impl</name>
  479. <value></value>
  480. <description>
  481. Qjournals resolver implementation used by namenode.
  482. Effective with dfs.namenode.edits.qjournals.resolution-enabled on.
  483. </description>
  484. </property>
  485. <property>
  486. <name>dfs.permissions.enabled</name>
  487. <value>true</value>
  488. <description>
  489. If "true", enable permission checking in HDFS.
  490. If "false", permission checking is turned off,
  491. but all other behavior is unchanged.
  492. Switching from one parameter value to the other does not change the mode,
  493. owner or group of files or directories.
  494. </description>
  495. </property>
  496. <property>
  497. <name>dfs.permissions.ContentSummary.subAccess</name>
  498. <value>false</value>
  499. <description>
  500. If "true", the ContentSummary permission checking will use subAccess.
  501. If "false", the ContentSummary permission checking will NOT use subAccess.
  502. subAccess means using recursion to check the access of all descendants.
  503. </description>
  504. </property>
  505. <property>
  506. <name>dfs.permissions.superusergroup</name>
  507. <value>supergroup</value>
  508. <description>The name of the group of super-users.
  509. The value should be a single group name.
  510. </description>
  511. </property>
  512. <property>
  513. <name>dfs.cluster.administrators</name>
  514. <value></value>
  515. <description>ACL for the admins, this configuration is used to control
  516. who can access the default servlets in the namenode, etc. The value
  517. should be a comma separated list of users and groups. The user list
  518. comes first and is separated by a space followed by the group list,
  519. e.g. "user1,user2 group1,group2". Both users and groups are optional,
  520. so "user1", " group1", "", "user1 group1", "user1,user2 group1,group2"
  521. are all valid (note the leading space in " group1"). '*' grants access
  522. to all users and groups, e.g. '*', '* ' and ' *' are all valid.
  523. </description>
  524. </property>
  525. <property>
  526. <name>dfs.namenode.ip-proxy-users</name>
  527. <value></value>
  528. <description>A comma separated list of user names that are allowed by the
  529. NameNode to specify a different client IP address in the caller context.
  530. This is used by Router-Based Federation (RBF) to provide the actual client's
  531. IP address to the NameNode, which is critical to preserve data locality when
  532. using RBF. If you are using RBF, add the user that runs the routers.
  533. </description>
  534. </property>
  535. <property>
  536. <name>dfs.namenode.acls.enabled</name>
  537. <value>true</value>
  538. <description>
  539. Set to true to enable support for HDFS ACLs (Access Control Lists). By
  540. default, ACLs are enabled. When ACLs are disabled, the NameNode rejects
  541. all RPCs related to setting or getting ACLs.
  542. </description>
  543. </property>
  544. <property>
  545. <name>dfs.namenode.posix.acl.inheritance.enabled</name>
  546. <value>true</value>
  547. <description>
  548. Set to true to enable POSIX style ACL inheritance. When it is enabled
  549. and the create request comes from a compatible client, the NameNode
  550. will apply default ACLs from the parent directory to the create mode
  551. and ignore the client umask. If no default ACL found, it will apply the
  552. client umask.
  553. </description>
  554. </property>
  555. <property>
  556. <name>dfs.namenode.lazypersist.file.scrub.interval.sec</name>
  557. <value>300</value>
  558. <description>
  559. The NameNode periodically scans the namespace for LazyPersist files with
  560. missing blocks and unlinks them from the namespace. This configuration key
  561. controls the interval between successive scans. If this value is set to 0,
  562. the file scrubber is disabled.
  563. </description>
  564. </property>
  565. <property>
  566. <name>dfs.block.access.token.enable</name>
  567. <value>false</value>
  568. <description>
  569. If "true", access tokens are used as capabilities for accessing datanodes.
  570. If "false", no access tokens are checked on accessing datanodes.
  571. </description>
  572. </property>
  573. <property>
  574. <name>dfs.block.access.key.update.interval</name>
  575. <value>600</value>
  576. <description>
  577. Interval in minutes at which namenode updates its access keys.
  578. </description>
  579. </property>
  580. <property>
  581. <name>dfs.block.access.token.lifetime</name>
  582. <value>600</value>
  583. <description>The lifetime of access tokens in minutes.</description>
  584. </property>
  585. <property>
  586. <name>dfs.block.access.token.protobuf.enable</name>
  587. <value>false</value>
  588. <description>
  589. If "true", block tokens are written using Protocol Buffers.
  590. If "false", block tokens are written using Legacy format.
  591. </description>
  592. </property>
  593. <property>
  594. <name>dfs.datanode.data.dir</name>
  595. <value>file://${hadoop.tmp.dir}/dfs/data</value>
  596. <description>Determines where on the local filesystem an DFS data node
  597. should store its blocks. If this is a comma-delimited
  598. list of directories, then data will be stored in all named
  599. directories, typically on different devices. The directories should be tagged
  600. with corresponding storage types ([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK]/[NVDIMM]) for HDFS
  601. storage policies. The default storage type will be DISK if the directory does
  602. not have a storage type tagged explicitly. Directories that do not exist will
  603. be created if local filesystem permission allows.
  604. </description>
  605. </property>
  606. <property>
  607. <name>dfs.datanode.data.dir.perm</name>
  608. <value>700</value>
  609. <description>Permissions for the directories on on the local filesystem where
  610. the DFS data node store its blocks. The permissions can either be octal or
  611. symbolic.</description>
  612. </property>
  613. <property>
  614. <name>dfs.replication</name>
  615. <value>3</value>
  616. <description>Default block replication.
  617. The actual number of replications can be specified when the file is created.
  618. The default is used if replication is not specified in create time.
  619. </description>
  620. </property>
  621. <property>
  622. <name>dfs.replication.max</name>
  623. <value>512</value>
  624. <description>Maximal block replication.
  625. </description>
  626. </property>
  627. <property>
  628. <name>dfs.namenode.replication.min</name>
  629. <value>1</value>
  630. <description>Minimal block replication.
  631. </description>
  632. </property>
  633. <property>
  634. <name>dfs.namenode.maintenance.replication.min</name>
  635. <value>1</value>
  636. <description>Minimal live block replication in existence of maintenance mode.
  637. </description>
  638. </property>
  639. <property>
  640. <name>dfs.namenode.safemode.replication.min</name>
  641. <value></value>
  642. <description>
  643. a separate minimum replication factor for calculating safe block count.
  644. This is an expert level setting.
  645. Setting this lower than the dfs.namenode.replication.min
  646. is not recommend and/or dangerous for production setups.
  647. When it's not set it takes value from dfs.namenode.replication.min
  648. </description>
  649. </property>
  650. <property>
  651. <name>dfs.namenode.max-corrupt-file-blocks-returned</name>
  652. <value>100</value>
  653. <description>
  654. The maximum number of corrupt file blocks listed by NameNode Web UI,
  655. JMX and other client request.
  656. </description>
  657. </property>
  658. <property>
  659. <name>dfs.blocksize</name>
  660. <value>134217728</value>
  661. <description>
  662. The default block size for new files, in bytes.
  663. You can use the following suffix (case insensitive):
  664. k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.),
  665. Or provide complete size in bytes (such as 134217728 for 128 MB).
  666. </description>
  667. </property>
  668. <property>
  669. <name>dfs.client.block.write.retries</name>
  670. <value>3</value>
  671. <description>The number of retries for writing blocks to the data nodes,
  672. before we signal failure to the application.
  673. </description>
  674. </property>
  675. <property>
  676. <name>dfs.client.block.write.replace-datanode-on-failure.enable</name>
  677. <value>true</value>
  678. <description>
  679. If there is a datanode/network failure in the write pipeline,
  680. DFSClient will try to remove the failed datanode from the pipeline
  681. and then continue writing with the remaining datanodes. As a result,
  682. the number of datanodes in the pipeline is decreased. The feature is
  683. to add new datanodes to the pipeline.
  684. This is a site-wide property to enable/disable the feature.
  685. When the cluster size is extremely small, e.g. 3 nodes or less, cluster
  686. administrators may want to set the policy to NEVER in the default
  687. configuration file or disable this feature. Otherwise, users may
  688. experience an unusually high rate of pipeline failures since it is
  689. impossible to find new datanodes for replacement.
  690. See also dfs.client.block.write.replace-datanode-on-failure.policy
  691. </description>
  692. </property>
  693. <property>
  694. <name>dfs.client.block.write.replace-datanode-on-failure.policy</name>
  695. <value>DEFAULT</value>
  696. <description>
  697. This property is used only if the value of
  698. dfs.client.block.write.replace-datanode-on-failure.enable is true.
  699. ALWAYS: always add a new datanode when an existing datanode is removed.
  700. NEVER: never add a new datanode.
  701. DEFAULT:
  702. Let r be the replication number.
  703. Let n be the number of existing datanodes.
  704. Add a new datanode only if r is greater than or equal to 3 and either
  705. (1) floor(r/2) is greater than or equal to n; or
  706. (2) r is greater than n and the block is hflushed/appended.
  707. </description>
  708. </property>
  709. <property>
  710. <name>dfs.client.block.write.replace-datanode-on-failure.best-effort</name>
  711. <value>false</value>
  712. <description>
  713. This property is used only if the value of
  714. dfs.client.block.write.replace-datanode-on-failure.enable is true.
  715. Best effort means that the client will try to replace a failed datanode
  716. in write pipeline (provided that the policy is satisfied), however, it
  717. continues the write operation in case that the datanode replacement also
  718. fails.
  719. Suppose the datanode replacement fails.
  720. false: An exception should be thrown so that the write will fail.
  721. true : The write should be resumed with the remaining datandoes.
  722. Note that setting this property to true allows writing to a pipeline
  723. with a smaller number of datanodes. As a result, it increases the
  724. probability of data loss.
  725. </description>
  726. </property>
  727. <property>
  728. <name>dfs.client.block.write.replace-datanode-on-failure.min-replication</name>
  729. <value>0</value>
  730. <description>
  731. The minimum number of replications that are needed to not to fail
  732. the write pipeline if new datanodes can not be found to replace
  733. failed datanodes (could be due to network failure) in the write pipeline.
  734. If the number of the remaining datanodes in the write pipeline is greater
  735. than or equal to this property value, continue writing to the remaining nodes.
  736. Otherwise throw exception.
  737. If this is set to 0, an exception will be thrown, when a replacement
  738. can not be found.
  739. See also dfs.client.block.write.replace-datanode-on-failure.policy
  740. </description>
  741. </property>
  742. <property>
  743. <name>dfs.blockreport.intervalMsec</name>
  744. <value>21600000</value>
  745. <description>Determines block reporting interval in milliseconds.</description>
  746. </property>
  747. <property>
  748. <name>dfs.blockreport.initialDelay</name>
  749. <value>0</value>
  750. <description>
  751. Delay for first block report in seconds. Support multiple time unit
  752. suffix(case insensitive), as described in dfs.heartbeat.interval.If
  753. no time unit is specified then seconds is assumed
  754. </description>
  755. </property>
  756. <property>
  757. <name>dfs.blockreport.split.threshold</name>
  758. <value>1000000</value>
  759. <description>If the number of blocks on the DataNode is below this
  760. threshold then it will send block reports for all Storage Directories
  761. in a single message.
  762. If the number of blocks exceeds this threshold then the DataNode will
  763. send block reports for each Storage Directory in separate messages.
  764. Set to zero to always split.
  765. </description>
  766. </property>
  767. <property>
  768. <name>dfs.namenode.max.full.block.report.leases</name>
  769. <value>6</value>
  770. <description>The maximum number of leases for full block reports that the
  771. NameNode will issue at any given time. This prevents the NameNode from
  772. being flooded with full block reports that use up all the RPC handler
  773. threads. This number should never be more than the number of RPC handler
  774. threads or less than 1.
  775. </description>
  776. </property>
  777. <property>
  778. <name>dfs.namenode.full.block.report.lease.length.ms</name>
  779. <value>300000</value>
  780. <description>
  781. The number of milliseconds that the NameNode will wait before invalidating
  782. a full block report lease. This prevents a crashed DataNode from
  783. permanently using up a full block report lease.
  784. </description>
  785. </property>
  786. <property>
  787. <name>dfs.datanode.directoryscan.interval</name>
  788. <value>21600</value>
  789. <description>Interval in seconds for Datanode to scan data directories and
  790. reconcile the difference between blocks in memory and on the disk.
  791. Support multiple time unit suffix(case insensitive), as described
  792. in dfs.heartbeat.interval.If no time unit is specified then seconds
  793. is assumed.
  794. </description>
  795. </property>
  796. <property>
  797. <name>dfs.datanode.directoryscan.threads</name>
  798. <value>1</value>
  799. <description>How many threads should the threadpool used to compile reports
  800. for volumes in parallel have.
  801. </description>
  802. </property>
  803. <property>
  804. <name>dfs.datanode.directoryscan.throttle.limit.ms.per.sec</name>
  805. <value>1000</value>
  806. <description>The report compilation threads are limited to only running for
  807. a given number of milliseconds per second, as configured by the
  808. property. The limit is taken per thread, not in aggregate, e.g. setting
  809. a limit of 100ms for 4 compiler threads will result in each thread being
  810. limited to 100ms, not 25ms.
  811. Note that the throttle does not interrupt the report compiler threads, so the
  812. actual running time of the threads per second will typically be somewhat
  813. higher than the throttle limit, usually by no more than 20%.
  814. Setting this limit to 1000 disables compiler thread throttling. Only
  815. values between 1 and 1000 are valid. Setting an invalid value will result
  816. in the throttle being disabled and an error message being logged. 1000 is
  817. the default setting.
  818. </description>
  819. </property>
  820. <property>
  821. <name>dfs.datanode.reconcile.blocks.batch.size</name>
  822. <value>1000</value>
  823. <description>Setting this to define reconcile batch size.</description>
  824. </property>
  825. <property>
  826. <name>dfs.datanode.reconcile.blocks.batch.interval</name>
  827. <value>2000</value>
  828. <description>Setting this to define interval between batches.</description>
  829. </property>
  830. <property>
  831. <name>dfs.heartbeat.interval</name>
  832. <value>3</value>
  833. <description>
  834. Determines datanode heartbeat interval in seconds.
  835. Can use the following suffix (case insensitive):
  836. ms(millis), s(sec), m(min), h(hour), d(day)
  837. to specify the time (such as 2s, 2m, 1h, etc.).
  838. Or provide complete number in seconds (such as 30 for 30 seconds).
  839. If no time unit is specified then seconds is assumed.
  840. </description>
  841. </property>
  842. <property>
  843. <name>dfs.datanode.lifeline.interval.seconds</name>
  844. <value></value>
  845. <description>
  846. Sets the interval in seconds between sending DataNode Lifeline Protocol
  847. messages from the DataNode to the NameNode. The value must be greater than
  848. the value of dfs.heartbeat.interval. If this property is not defined, then
  849. the default behavior is to calculate the interval as 3x the value of
  850. dfs.heartbeat.interval. Note that normal heartbeat processing may cause the
  851. DataNode to postpone sending lifeline messages if they are not required.
  852. Under normal operations with speedy heartbeat processing, it is possible
  853. that no lifeline messages will need to be sent at all. This property has no
  854. effect if dfs.namenode.lifeline.rpc-address is not defined.
  855. </description>
  856. </property>
  857. <property>
  858. <name>dfs.namenode.handler.count</name>
  859. <value>10</value>
  860. <description>The number of Namenode RPC server threads that listen to
  861. requests from clients.
  862. If dfs.namenode.servicerpc-address is not configured then
  863. Namenode RPC server threads listen to requests from all nodes.
  864. </description>
  865. </property>
  866. <property>
  867. <name>dfs.namenode.service.handler.count</name>
  868. <value>10</value>
  869. <description>The number of Namenode RPC server threads that listen to
  870. requests from DataNodes and from all other non-client nodes.
  871. dfs.namenode.service.handler.count will be valid only if
  872. dfs.namenode.servicerpc-address is configured.
  873. </description>
  874. </property>
  875. <property>
  876. <name>dfs.namenode.lifeline.handler.ratio</name>
  877. <value>0.10</value>
  878. <description>
  879. A ratio applied to the value of dfs.namenode.handler.count, which then
  880. provides the number of RPC server threads the NameNode runs for handling the
  881. lifeline RPC server. For example, if dfs.namenode.handler.count is 100, and
  882. dfs.namenode.lifeline.handler.factor is 0.10, then the NameNode starts
  883. 100 * 0.10 = 10 threads for handling the lifeline RPC server. It is common
  884. to tune the value of dfs.namenode.handler.count as a function of the number
  885. of DataNodes in a cluster. Using this property allows for the lifeline RPC
  886. server handler threads to be tuned automatically without needing to touch a
  887. separate property. Lifeline message processing is lightweight, so it is
  888. expected to require many fewer threads than the main NameNode RPC server.
  889. This property is not used if dfs.namenode.lifeline.handler.count is defined,
  890. which sets an absolute thread count. This property has no effect if
  891. dfs.namenode.lifeline.rpc-address is not defined.
  892. </description>
  893. </property>
  894. <property>
  895. <name>dfs.namenode.lifeline.handler.count</name>
  896. <value></value>
  897. <description>
  898. Sets an absolute number of RPC server threads the NameNode runs for handling
  899. the DataNode Lifeline Protocol and HA health check requests from ZKFC. If
  900. this property is defined, then it overrides the behavior of
  901. dfs.namenode.lifeline.handler.ratio. By default, it is not defined. This
  902. property has no effect if dfs.namenode.lifeline.rpc-address is not defined.
  903. </description>
  904. </property>
  905. <property>
  906. <name>dfs.namenode.safemode.threshold-pct</name>
  907. <value>0.999f</value>
  908. <description>
  909. Specifies the percentage of blocks that should satisfy
  910. the minimal replication requirement defined by dfs.namenode.replication.min.
  911. Values less than or equal to 0 mean not to wait for any particular
  912. percentage of blocks before exiting safemode.
  913. Values greater than 1 will make safe mode permanent.
  914. </description>
  915. </property>
  916. <property>
  917. <name>dfs.namenode.safemode.min.datanodes</name>
  918. <value>0</value>
  919. <description>
  920. Specifies the number of datanodes that must be considered alive
  921. before the name node exits safemode.
  922. Values less than or equal to 0 mean not to take the number of live
  923. datanodes into account when deciding whether to remain in safe mode
  924. during startup.
  925. Values greater than the number of datanodes in the cluster
  926. will make safe mode permanent.
  927. </description>
  928. </property>
  929. <property>
  930. <name>dfs.namenode.safemode.recheck.interval</name>
  931. <value>1000</value>
  932. <description>
  933. Interval in msec for checking safe mode.
  934. </description>
  935. </property>
  936. <property>
  937. <name>dfs.namenode.safemode.extension</name>
  938. <value>30000</value>
  939. <description>
  940. Determines extension of safe mode in milliseconds after the threshold level
  941. is reached. Support multiple time unit suffix (case insensitive), as
  942. described in dfs.heartbeat.interval.
  943. </description>
  944. </property>
  945. <property>
  946. <name>dfs.namenode.resource.check.interval</name>
  947. <value>5000</value>
  948. <description>
  949. The interval in milliseconds at which the NameNode resource checker runs.
  950. The checker calculates the number of the NameNode storage volumes whose
  951. available spaces are more than dfs.namenode.resource.du.reserved, and
  952. enters safemode if the number becomes lower than the minimum value
  953. specified by dfs.namenode.resource.checked.volumes.minimum.
  954. </description>
  955. </property>
  956. <property>
  957. <name>dfs.namenode.resource.du.reserved</name>
  958. <value>104857600</value>
  959. <description>
  960. The amount of space to reserve/require for a NameNode storage directory
  961. in bytes. The default is 100MB. Support multiple size unit
  962. suffix(case insensitive), as described in dfs.blocksize.
  963. </description>
  964. </property>
  965. <property>
  966. <name>dfs.namenode.resource.checked.volumes</name>
  967. <value></value>
  968. <description>
  969. A list of local directories for the NameNode resource checker to check in
  970. addition to the local edits directories.
  971. </description>
  972. </property>
  973. <property>
  974. <name>dfs.namenode.resource.checked.volumes.minimum</name>
  975. <value>1</value>
  976. <description>
  977. The minimum number of redundant NameNode storage volumes required.
  978. </description>
  979. </property>
  980. <property>
  981. <name>dfs.datanode.balance.bandwidthPerSec</name>
  982. <value>100m</value>
  983. <description>
  984. Specifies the maximum amount of bandwidth that each datanode
  985. can utilize for the balancing purpose in term of
  986. the number of bytes per second. You can use the following
  987. suffix (case insensitive):
  988. k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa)to specify the size
  989. (such as 128k, 512m, 1g, etc.).
  990. Or provide complete size in bytes (such as 134217728 for 128 MB).
  991. </description>
  992. </property>
  993. <property>
  994. <name>dfs.hosts</name>
  995. <value></value>
  996. <description>Names a file that contains a list of hosts that are
  997. permitted to connect to the namenode. The full pathname of the file
  998. must be specified. If the value is empty, all hosts are
  999. permitted.</description>
  1000. </property>
  1001. <property>
  1002. <name>dfs.hosts.exclude</name>
  1003. <value></value>
  1004. <description>Names a file that contains a list of hosts that are
  1005. not permitted to connect to the namenode. The full pathname of the
  1006. file must be specified. If the value is empty, no hosts are
  1007. excluded.</description>
  1008. </property>
  1009. <property>
  1010. <name>dfs.hosts.timeout</name>
  1011. <value>0</value>
  1012. <description>Specifies a timeout (in milliseconds) for reading the dfs.hosts file.
  1013. A value of zero indicates no timeout to be set.</description>
  1014. </property>
  1015. <property>
  1016. <name>dfs.namenode.max.objects</name>
  1017. <value>0</value>
  1018. <description>The maximum number of files, directories and blocks
  1019. dfs supports. A value of zero indicates no limit to the number
  1020. of objects that dfs supports.
  1021. </description>
  1022. </property>
  1023. <property>
  1024. <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
  1025. <value>true</value>
  1026. <description>
  1027. If true (the default), then the namenode requires that a connecting
  1028. datanode's address must be resolved to a hostname. If necessary, a reverse
  1029. DNS lookup is performed. All attempts to register a datanode from an
  1030. unresolvable address are rejected.
  1031. It is recommended that this setting be left on to prevent accidental
  1032. registration of datanodes listed by hostname in the excludes file during a
  1033. DNS outage. Only set this to false in environments where there is no
  1034. infrastructure to support reverse DNS lookup.
  1035. </description>
  1036. </property>
  1037. <property>
  1038. <name>dfs.namenode.decommission.interval</name>
  1039. <value>30</value>
  1040. <description>Namenode periodicity in seconds to check if
  1041. decommission or maintenance is complete. Support multiple time unit
  1042. suffix(case insensitive), as described in dfs.heartbeat.interval.
  1043. If no time unit is specified then seconds is assumed.
  1044. </description>
  1045. </property>
  1046. <property>
  1047. <name>dfs.namenode.decommission.blocks.per.interval</name>
  1048. <value>500000</value>
  1049. <description>The approximate number of blocks to process per decommission
  1050. or maintenance interval, as defined in dfs.namenode.decommission.interval.
  1051. </description>
  1052. </property>
  1053. <property>
  1054. <name>dfs.namenode.decommission.max.concurrent.tracked.nodes</name>
  1055. <value>100</value>
  1056. <description>
  1057. The maximum number of decommission-in-progress or
  1058. entering-maintenance datanodes nodes that will be tracked at one time by
  1059. the namenode. Tracking these datanode consumes additional NN memory
  1060. proportional to the number of blocks on the datnode. Having a conservative
  1061. limit reduces the potential impact of decommissioning or maintenance of
  1062. a large number of nodes at once.
  1063. A value of 0 means no limit will be enforced.
  1064. </description>
  1065. </property>
  1066. <property>
  1067. <name>dfs.namenode.decommission.monitor.class</name>
  1068. <value>org.apache.hadoop.hdfs.server.blockmanagement.DatanodeAdminDefaultMonitor</value>
  1069. <description>
  1070. Determines the implementation used for the decommission manager. The only
  1071. valid options are:
  1072. org.apache.hadoop.hdfs.server.blockmanagement.DatanodeAdminDefaultMonitor
  1073. org.apache.hadoop.hdfs.server.blockmanagement.DatanodeAdminBackoffMonitor
  1074. </description>
  1075. </property>
  1076. <property>
  1077. <name>dfs.namenode.decommission.backoff.monitor.pending.limit</name>
  1078. <value>10000</value>
  1079. <description>
  1080. When the Backoff monitor is enabled, determines the maximum number of blocks
  1081. related to decommission and maintenance operations that can be loaded
  1082. into the replication queue at any given time. Every
  1083. dfs.namenode.decommission.interval seconds, the list is checked to see if
  1084. the blocks have become fully replicated and then further blocks are added
  1085. to reach the limit defined in this parameter.
  1086. </description>
  1087. </property>
  1088. <property>
  1089. <name>dfs.namenode.decommission.backoff.monitor.pending.blocks.per.lock</name>
  1090. <value>1000</value>
  1091. <description>
  1092. When loading blocks into the replication queue, release the namenode write
  1093. lock after the defined number of blocks have been processed.
  1094. </description>
  1095. </property>
  1096. <property>
  1097. <name>dfs.namenode.redundancy.interval.seconds</name>
  1098. <value>3</value>
  1099. <description>The periodicity in seconds with which the namenode computes
  1100. low redundancy work for datanodes. Support multiple time unit suffix(case insensitive),
  1101. as described in dfs.heartbeat.interval.
  1102. </description>
  1103. </property>
  1104. <property>
  1105. <name>dfs.namenode.redundancy.queue.restart.iterations</name>
  1106. <value>2400</value>
  1107. <description>When picking blocks from the low redundancy queues, reset the
  1108. bookmarked iterator after the set number of iterations to ensure any blocks
  1109. which were not processed on the first pass are retried before the iterators
  1110. would naturally reach their end point. This ensures blocks are retried
  1111. more frequently when there are many pending blocks or blocks are
  1112. continuously added to the queues preventing the iterator reaching its
  1113. natural endpoint.
  1114. The default setting of 2400 combined with the default of
  1115. dfs.namenode.redundancy.interval.seconds means the iterators will be reset
  1116. approximately every 2 hours.
  1117. Setting this parameter to zero disables the feature and the iterators will
  1118. be reset only when the end of all queues has been reached.
  1119. </description>
  1120. </property>
  1121. <property>
  1122. <name>dfs.namenode.accesstime.precision</name>
  1123. <value>3600000</value>
  1124. <description>The access time for HDFS file is precise upto this value.
  1125. The default value is 1 hour. Setting a value of 0 disables
  1126. access times for HDFS.
  1127. </description>
  1128. </property>
  1129. <property>
  1130. <name>dfs.datanode.plugins</name>
  1131. <value></value>
  1132. <description>Comma-separated list of datanode plug-ins to be activated.
  1133. </description>
  1134. </property>
  1135. <property>
  1136. <name>dfs.namenode.plugins</name>
  1137. <value></value>
  1138. <description>Comma-separated list of namenode plug-ins to be activated.
  1139. </description>
  1140. </property>
  1141. <property>
  1142. <name>dfs.namenode.block-placement-policy.default.prefer-local-node</name>
  1143. <value>true</value>
  1144. <description>Controls how the default block placement policy places
  1145. the first replica of a block. When true, it will prefer the node where
  1146. the client is running. When false, it will prefer a node in the same rack
  1147. as the client. Setting to false avoids situations where entire copies of
  1148. large files end up on a single node, thus creating hotspots.
  1149. </description>
  1150. </property>
  1151. <property>
  1152. <name>dfs.stream-buffer-size</name>
  1153. <value>4096</value>
  1154. <description>The size of buffer to stream files.
  1155. The size of this buffer should probably be a multiple of hardware
  1156. page size (4096 on Intel x86), and it determines how much data is
  1157. buffered during read and write operations.</description>
  1158. </property>
  1159. <property>
  1160. <name>dfs.bytes-per-checksum</name>
  1161. <value>512</value>
  1162. <description>The number of bytes per checksum. Must not be larger than
  1163. dfs.stream-buffer-size</description>
  1164. </property>
  1165. <property>
  1166. <name>dfs.client-write-packet-size</name>
  1167. <value>65536</value>
  1168. <description>Packet size for clients to write</description>
  1169. </property>
  1170. <property>
  1171. <name>dfs.client.write.exclude.nodes.cache.expiry.interval.millis</name>
  1172. <value>600000</value>
  1173. <description>The maximum period to keep a DN in the excluded nodes list
  1174. at a client. After this period, in milliseconds, the previously excluded node(s) will
  1175. be removed automatically from the cache and will be considered good for block allocations
  1176. again. Useful to lower or raise in situations where you keep a file open for very long
  1177. periods (such as a Write-Ahead-Log (WAL) file) to make the writer tolerant to cluster maintenance
  1178. restarts. Defaults to 10 minutes.</description>
  1179. </property>
  1180. <property>
  1181. <name>dfs.client.write.recover.lease.on.close.exception</name>
  1182. <value>false</value>
  1183. <description>
  1184. Set to true to call recoverLease operation automatically when DFSOutputSteam closing encounters exception.
  1185. </description>
  1186. </property>
  1187. <property>
  1188. <name>dfs.namenode.checkpoint.dir</name>
  1189. <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>
  1190. <description>Determines where on the local filesystem the DFS secondary
  1191. name node should store the temporary images to merge.
  1192. If this is a comma-delimited list of directories then the image is
  1193. replicated in all of the directories for redundancy.
  1194. </description>
  1195. </property>
  1196. <property>
  1197. <name>dfs.namenode.checkpoint.edits.dir</name>
  1198. <value>${dfs.namenode.checkpoint.dir}</value>
  1199. <description>Determines where on the local filesystem the DFS secondary
  1200. name node should store the temporary edits to merge.
  1201. If this is a comma-delimited list of directories then the edits is
  1202. replicated in all of the directories for redundancy.
  1203. Default value is same as dfs.namenode.checkpoint.dir
  1204. </description>
  1205. </property>
  1206. <property>
  1207. <name>dfs.namenode.checkpoint.period</name>
  1208. <value>3600</value>
  1209. <description>
  1210. The number of seconds between two periodic checkpoints.
  1211. Support multiple time unit suffix(case insensitive), as described
  1212. in dfs.heartbeat.interval.If no time unit is specified then seconds
  1213. is assumed.
  1214. </description>
  1215. </property>
  1216. <property>
  1217. <name>dfs.namenode.checkpoint.txns</name>
  1218. <value>1000000</value>
  1219. <description>The Secondary NameNode or CheckpointNode will create a checkpoint
  1220. of the namespace every 'dfs.namenode.checkpoint.txns' transactions, regardless
  1221. of whether 'dfs.namenode.checkpoint.period' has expired.
  1222. </description>
  1223. </property>
  1224. <property>
  1225. <name>dfs.namenode.checkpoint.check.period</name>
  1226. <value>60</value>
  1227. <description>The SecondaryNameNode and CheckpointNode will poll the NameNode
  1228. every 'dfs.namenode.checkpoint.check.period' seconds to query the number
  1229. of uncheckpointed transactions. Support multiple time unit suffix(case insensitive),
  1230. as described in dfs.heartbeat.interval.If no time unit is specified then
  1231. seconds is assumed.
  1232. </description>
  1233. </property>
  1234. <property>
  1235. <name>dfs.namenode.checkpoint.max-retries</name>
  1236. <value>3</value>
  1237. <description>The SecondaryNameNode retries failed checkpointing. If the
  1238. failure occurs while loading fsimage or replaying edits, the number of
  1239. retries is limited by this variable.
  1240. </description>
  1241. </property>
  1242. <property>
  1243. <name>dfs.namenode.checkpoint.check.quiet-multiplier</name>
  1244. <value>1.5</value>
  1245. <description>
  1246. Used to calculate the amount of time between retries when in the 'quiet' period
  1247. for creating checkpoints (active namenode already has an up-to-date image from another
  1248. checkpointer), so we wait a multiplier of the dfs.namenode.checkpoint.check.period before
  1249. retrying the checkpoint because another node likely is already managing the checkpoints,
  1250. allowing us to save bandwidth to transfer checkpoints that don't need to be used.
  1251. </description>
  1252. </property>
  1253. <property>
  1254. <name>dfs.namenode.num.checkpoints.retained</name>
  1255. <value>2</value>
  1256. <description>The number of image checkpoint files (fsimage_*) that will be retained by
  1257. the NameNode and Secondary NameNode in their storage directories. All edit
  1258. logs (stored on edits_* files) necessary to recover an up-to-date namespace from the oldest retained
  1259. checkpoint will also be retained.
  1260. </description>
  1261. </property>
  1262. <property>
  1263. <name>dfs.namenode.num.extra.edits.retained</name>
  1264. <value>1000000</value>
  1265. <description>The number of extra transactions which should be retained
  1266. beyond what is minimally necessary for a NN restart.
  1267. It does not translate directly to file's age, or the number of files kept,
  1268. but to the number of transactions (here "edits" means transactions).
  1269. One edit file may contain several transactions (edits).
  1270. During checkpoint, NameNode will identify the total number of edits to retain as extra by
  1271. checking the latest checkpoint transaction value, subtracted by the value of this property.
  1272. Then, it scans edits files to identify the older ones that don't include the computed range of
  1273. retained transactions that are to be kept around, and purges them subsequently.
  1274. The retainment can be useful for audit purposes or for an HA setup where a remote Standby Node may have
  1275. been offline for some time and need to have a longer backlog of retained
  1276. edits in order to start again.
  1277. Typically each edit is on the order of a few hundred bytes, so the default
  1278. of 1 million edits should be on the order of hundreds of MBs or low GBs.
  1279. NOTE: Fewer extra edits may be retained than value specified for this setting
  1280. if doing so would mean that more segments would be retained than the number
  1281. configured by dfs.namenode.max.extra.edits.segments.retained.
  1282. </description>
  1283. </property>
  1284. <property>
  1285. <name>dfs.namenode.max.extra.edits.segments.retained</name>
  1286. <value>10000</value>
  1287. <description>The maximum number of extra edit log segments which should be retained
  1288. beyond what is minimally necessary for a NN restart. When used in conjunction with
  1289. dfs.namenode.num.extra.edits.retained, this configuration property serves to cap
  1290. the number of extra edits files to a reasonable value.
  1291. </description>
  1292. </property>
  1293. <property>
  1294. <name>dfs.namenode.delegation.key.update-interval</name>
  1295. <value>86400000</value>
  1296. <description>The update interval for master key for delegation tokens
  1297. in the namenode in milliseconds.
  1298. </description>
  1299. </property>
  1300. <property>
  1301. <name>dfs.namenode.delegation.token.max-lifetime</name>
  1302. <value>604800000</value>
  1303. <description>The maximum lifetime in milliseconds for which a delegation
  1304. token is valid.
  1305. </description>
  1306. </property>
  1307. <property>
  1308. <name>dfs.namenode.delegation.token.renew-interval</name>
  1309. <value>86400000</value>
  1310. <description>The renewal interval for delegation token in milliseconds.
  1311. </description>
  1312. </property>
  1313. <property>
  1314. <name>dfs.datanode.failed.volumes.tolerated</name>
  1315. <value>0</value>
  1316. <description>The number of volumes that are allowed to
  1317. fail before a datanode stops offering service. By default
  1318. any volume failure will cause a datanode to shutdown.
  1319. The value should be greater than or equal to -1 , -1 represents minimum
  1320. 1 valid volume.
  1321. </description>
  1322. </property>
  1323. <property>
  1324. <name>dfs.datanode.volumes.replica-add.threadpool.size</name>
  1325. <value></value>
  1326. <description>Specifies the maximum number of threads to use for
  1327. adding block in volume. Default value for this configuration is
  1328. max of (volume * number of bp_service, number of processor).
  1329. </description>
  1330. </property>
  1331. <property>
  1332. <name>dfs.image.compress</name>
  1333. <value>false</value>
  1334. <description>When this value is true, the dfs image will be compressed.
  1335. Enabling this will be very helpful if dfs image is large since it can
  1336. avoid consuming a lot of network bandwidth when SBN uploads a new dfs
  1337. image to ANN. The compressed codec is specified by the setting
  1338. dfs.image.compression.codec.
  1339. </description>
  1340. </property>
  1341. <property>
  1342. <name>dfs.image.compression.codec</name>
  1343. <value>org.apache.hadoop.io.compress.DefaultCodec</value>
  1344. <description>If the dfs image is compressed, how should they be compressed?
  1345. This has to be a codec defined in io.compression.codecs.
  1346. </description>
  1347. </property>
  1348. <property>
  1349. <name>dfs.image.transfer.timeout</name>
  1350. <value>60000</value>
  1351. <description>
  1352. Socket timeout for the HttpURLConnection instance used in the image
  1353. transfer. This is measured in milliseconds.
  1354. This timeout prevents client hangs if the connection is idle
  1355. for this configured timeout, during image transfer.
  1356. </description>
  1357. </property>
  1358. <property>
  1359. <name>dfs.image.transfer.bandwidthPerSec</name>
  1360. <value>52428800</value>
  1361. <description>
  1362. Maximum bandwidth used for regular image transfers (instead of
  1363. bootstrapping the standby namenode), in bytes per second.
  1364. This can help keep normal namenode operations responsive during
  1365. checkpointing.
  1366. A default value is 50mb per second.
  1367. The maximum bandwidth used for bootstrapping standby namenode is
  1368. configured with dfs.image.transfer-bootstrap-standby.bandwidthPerSec.
  1369. Support multiple size unit suffix(case insensitive), as described
  1370. in dfs.blocksize.
  1371. </description>
  1372. </property>
  1373. <property>
  1374. <name>dfs.image.transfer-bootstrap-standby.bandwidthPerSec</name>
  1375. <value>0</value>
  1376. <description>
  1377. Maximum bandwidth used for transferring image to bootstrap standby
  1378. namenode, in bytes per second.
  1379. A default value of 0 indicates that throttling is disabled. This default
  1380. value should be used in most cases, to ensure timely HA operations.
  1381. The maximum bandwidth used for regular image transfers is configured
  1382. with dfs.image.transfer.bandwidthPerSec.
  1383. Support multiple size unit suffix(case insensitive), as described in
  1384. dfs.blocksize.
  1385. </description>
  1386. </property>
  1387. <property>
  1388. <name>dfs.image.transfer.chunksize</name>
  1389. <value>65536</value>
  1390. <description>
  1391. Chunksize in bytes to upload the checkpoint.
  1392. Chunked streaming is used to avoid internal buffering of contents
  1393. of image file of huge size.
  1394. Support multiple size unit suffix(case insensitive), as described
  1395. in dfs.blocksize.
  1396. </description>
  1397. </property>
  1398. <property>
  1399. <name>dfs.image.parallel.load</name>
  1400. <value>false</value>
  1401. <description>
  1402. If true, write sub-section entries to the fsimage index so it can
  1403. be loaded in parallel. Also controls whether parallel loading
  1404. will be used for an image previously created with sub-sections.
  1405. If the image contains sub-sections and this is set to false,
  1406. parallel loading will not be used.
  1407. Parallel loading is not compatible with image compression,
  1408. so if dfs.image.compress is set to true this setting will be
  1409. ignored and no parallel loading will occur.
  1410. Enabling this feature may impact rolling upgrades and downgrades if
  1411. the previous version does not support this feature. If the feature was
  1412. enabled and a downgrade is required, first set this parameter to
  1413. false and then save the namespace to create a fsimage with no
  1414. sub-sections and then perform the downgrade.
  1415. </description>
  1416. </property>
  1417. <property>
  1418. <name>dfs.image.parallel.target.sections</name>
  1419. <value>12</value>
  1420. <description>
  1421. Controls the number of sub-sections that will be written to
  1422. fsimage for each section. This should be larger than
  1423. dfs.image.parallel.threads, otherwise all threads will not be
  1424. used when loading. Ideally, have at least twice the number
  1425. of target sections as threads, so each thread must load more
  1426. than one section to avoid one long running section affecting
  1427. the load time.
  1428. </description>
  1429. </property>
  1430. <property>
  1431. <name>dfs.image.parallel.inode.threshold</name>
  1432. <value>1000000</value>
  1433. <description>
  1434. If the image contains less inodes than this setting, then
  1435. do not write sub-sections and hence disable parallel loading.
  1436. This is because small images load very quickly in serial and
  1437. parallel loading is not needed.
  1438. </description>
  1439. </property>
  1440. <property>
  1441. <name>dfs.image.parallel.threads</name>
  1442. <value>4</value>
  1443. <description>
  1444. The number of threads to use when dfs.image.parallel.load is
  1445. enabled. This setting should be less than
  1446. dfs.image.parallel.target.sections. The optimal number of
  1447. threads will depend on the hardware and environment.
  1448. </description>
  1449. </property>
  1450. <property>
  1451. <name>dfs.edit.log.transfer.timeout</name>
  1452. <value>30000</value>
  1453. <description>
  1454. Socket timeout for edit log transfer in milliseconds. This timeout
  1455. should be configured such that normal edit log transfer for journal
  1456. node syncing can complete successfully.
  1457. </description>
  1458. </property>
  1459. <property>
  1460. <name>dfs.edit.log.transfer.bandwidthPerSec</name>
  1461. <value>0</value>
  1462. <description>
  1463. Maximum bandwidth used for transferring edit log to between journal nodes
  1464. for syncing, in bytes per second.
  1465. A default value of 0 indicates that throttling is disabled.
  1466. </description>
  1467. </property>
  1468. <property>
  1469. <name>dfs.namenode.support.allow.format</name>
  1470. <value>true</value>
  1471. <description>Does HDFS namenode allow itself to be formatted?
  1472. You may consider setting this to false for any production
  1473. cluster, to avoid any possibility of formatting a running DFS.
  1474. </description>
  1475. </property>
  1476. <property>
  1477. <name>dfs.datanode.max.transfer.threads</name>
  1478. <value>4096</value>
  1479. <description>
  1480. Specifies the maximum number of threads to use for transferring data
  1481. in and out of the DN.
  1482. </description>
  1483. </property>
  1484. <property>
  1485. <name>dfs.datanode.scan.period.hours</name>
  1486. <value>504</value>
  1487. <description>
  1488. If this is positive, the DataNode will not scan any
  1489. individual block more than once in the specified scan period.
  1490. If this is negative, the block scanner is disabled.
  1491. If this is set to zero, then the default value of 504 hours
  1492. or 3 weeks is used. Prior versions of HDFS incorrectly documented
  1493. that setting this key to zero will disable the block scanner.
  1494. </description>
  1495. </property>
  1496. <property>
  1497. <name>dfs.block.scanner.volume.bytes.per.second</name>
  1498. <value>1048576</value>
  1499. <description>
  1500. If this is configured less than or equal to zero, the DataNode's block scanner will be disabled. If this
  1501. is positive, this is the number of bytes per second that the DataNode's
  1502. block scanner will try to scan from each volume.
  1503. </description>
  1504. </property>
  1505. <property>
  1506. <name>dfs.block.scanner.skip.recent.accessed</name>
  1507. <value>false</value>
  1508. <description>
  1509. If this is true, scanner will check the access time of block file to avoid
  1510. scanning blocks accessed during recent scan peroid, reducing disk IO.
  1511. This feature will not work if the DataNode volume has noatime mount option.
  1512. </description>
  1513. </property>
  1514. <property>
  1515. <name>dfs.block.scanner.volume.join.timeout.ms</name>
  1516. <value>5000</value>
  1517. <description>
  1518. The amount of time in milliseconds that the BlockScanner times out waiting
  1519. for the VolumeScanner thread to join during a shutdown call.
  1520. </description>
  1521. </property>
  1522. <property>
  1523. <name>dfs.datanode.readahead.bytes</name>
  1524. <value>4194304</value>
  1525. <description>
  1526. While reading block files, if the Hadoop native libraries are available,
  1527. the datanode can use the posix_fadvise system call to explicitly
  1528. page data into the operating system buffer cache ahead of the current
  1529. reader's position. This can improve performance especially when
  1530. disks are highly contended.
  1531. This configuration specifies the number of bytes ahead of the current
  1532. read position which the datanode will attempt to read ahead. This
  1533. feature may be disabled by configuring this property to 0.
  1534. If the native libraries are not available, this configuration has no
  1535. effect.
  1536. </description>
  1537. </property>
  1538. <property>
  1539. <name>dfs.datanode.drop.cache.behind.reads</name>
  1540. <value>false</value>
  1541. <description>
  1542. In some workloads, the data read from HDFS is known to be significantly
  1543. large enough that it is unlikely to be useful to cache it in the
  1544. operating system buffer cache. In this case, the DataNode may be
  1545. configured to automatically purge all data from the buffer cache
  1546. after it is delivered to the client. This behavior is automatically
  1547. disabled for workloads which read only short sections of a block
  1548. (e.g HBase random-IO workloads).
  1549. This may improve performance for some workloads by freeing buffer
  1550. cache space usage for more cacheable data.
  1551. If the Hadoop native libraries are not available, this configuration
  1552. has no effect.
  1553. </description>
  1554. </property>
  1555. <property>
  1556. <name>dfs.datanode.drop.cache.behind.writes</name>
  1557. <value>false</value>
  1558. <description>
  1559. In some workloads, the data written to HDFS is known to be significantly
  1560. large enough that it is unlikely to be useful to cache it in the
  1561. operating system buffer cache. In this case, the DataNode may be
  1562. configured to automatically purge all data from the buffer cache
  1563. after it is written to disk.
  1564. This may improve performance for some workloads by freeing buffer
  1565. cache space usage for more cacheable data.
  1566. If the Hadoop native libraries are not available, this configuration
  1567. has no effect.
  1568. </description>
  1569. </property>
  1570. <property>
  1571. <name>dfs.datanode.sync.behind.writes</name>
  1572. <value>false</value>
  1573. <description>
  1574. If this configuration is enabled, the datanode will instruct the
  1575. operating system to enqueue all written data to the disk immediately
  1576. after it is written. This differs from the usual OS policy which
  1577. may wait for up to 30 seconds before triggering writeback.
  1578. This may improve performance for some workloads by smoothing the
  1579. IO profile for data written to disk.
  1580. If the Hadoop native libraries are not available, this configuration
  1581. has no effect.
  1582. </description>
  1583. </property>
  1584. <property>
  1585. <name>dfs.client.failover.max.attempts</name>
  1586. <value>15</value>
  1587. <description>
  1588. Expert only. The number of client failover attempts that should be
  1589. made before the failover is considered failed.
  1590. </description>
  1591. </property>
  1592. <property>
  1593. <name>dfs.client.failover.sleep.base.millis</name>
  1594. <value>500</value>
  1595. <description>
  1596. Expert only. The time to wait, in milliseconds, between failover
  1597. attempts increases exponentially as a function of the number of
  1598. attempts made so far, with a random factor of +/- 50%. This option
  1599. specifies the base value used in the failover calculation. The
  1600. first failover will retry immediately. The 2nd failover attempt
  1601. will delay at least dfs.client.failover.sleep.base.millis
  1602. milliseconds. And so on.
  1603. </description>
  1604. </property>
  1605. <property>
  1606. <name>dfs.client.failover.sleep.max.millis</name>
  1607. <value>15000</value>
  1608. <description>
  1609. Expert only. The time to wait, in milliseconds, between failover
  1610. attempts increases exponentially as a function of the number of
  1611. attempts made so far, with a random factor of +/- 50%. This option
  1612. specifies the maximum value to wait between failovers.
  1613. Specifically, the time between two failover attempts will not
  1614. exceed +/- 50% of dfs.client.failover.sleep.max.millis
  1615. milliseconds.
  1616. </description>
  1617. </property>
  1618. <property>
  1619. <name>dfs.client.failover.connection.retries</name>
  1620. <value>0</value>
  1621. <description>
  1622. Expert only. Indicates the number of retries a failover IPC client
  1623. will make to establish a server connection.
  1624. </description>
  1625. </property>
  1626. <property>
  1627. <name>dfs.client.failover.connection.retries.on.timeouts</name>
  1628. <value>0</value>
  1629. <description>
  1630. Expert only. The number of retry attempts a failover IPC client
  1631. will make on socket timeout when establishing a server connection.
  1632. </description>
  1633. </property>
  1634. <property>
  1635. <name>dfs.client.datanode-restart.timeout</name>
  1636. <value>30</value>
  1637. <description>
  1638. Expert only. The time to wait, in seconds, from reception of an
  1639. datanode shutdown notification for quick restart, until declaring
  1640. the datanode dead and invoking the normal recovery mechanisms.
  1641. The notification is sent by a datanode when it is being shutdown
  1642. using the shutdownDatanode admin command with the upgrade option.
  1643. Support multiple time unit suffix(case insensitive), as described
  1644. in dfs.heartbeat.interval.If no time unit is specified then seconds
  1645. is assumed.
  1646. </description>
  1647. </property>
  1648. <property>
  1649. <name>dfs.nameservices</name>
  1650. <value></value>
  1651. <description>
  1652. Comma-separated list of nameservices.
  1653. </description>
  1654. </property>
  1655. <property>
  1656. <name>dfs.nameservice.id</name>
  1657. <value></value>
  1658. <description>
  1659. The ID of this nameservice. If the nameservice ID is not
  1660. configured or more than one nameservice is configured for
  1661. dfs.nameservices it is determined automatically by
  1662. matching the local node's address with the configured address.
  1663. </description>
  1664. </property>
  1665. <property>
  1666. <name>dfs.internal.nameservices</name>
  1667. <value></value>
  1668. <description>
  1669. Comma-separated list of nameservices that belong to this cluster.
  1670. Datanode will report to all the nameservices in this list. By default
  1671. this is set to the value of dfs.nameservices.
  1672. </description>
  1673. </property>
  1674. <property>
  1675. <name>dfs.ha.namenodes.EXAMPLENAMESERVICE</name>
  1676. <value></value>
  1677. <description>
  1678. The prefix for a given nameservice, contains a comma-separated
  1679. list of namenodes for a given nameservice (eg EXAMPLENAMESERVICE).
  1680. Unique identifiers for each NameNode in the nameservice, delimited by
  1681. commas. This will be used by DataNodes to determine all the NameNodes
  1682. in the cluster. For example, if you used “mycluster” as the nameservice
  1683. ID previously, and you wanted to use “nn1” and “nn2” as the individual
  1684. IDs of the NameNodes, you would configure a property
  1685. dfs.ha.namenodes.mycluster, and its value "nn1,nn2".
  1686. </description>
  1687. </property>
  1688. <property>
  1689. <name>dfs.ha.namenode.id</name>
  1690. <value></value>
  1691. <description>
  1692. The ID of this namenode. If the namenode ID is not configured it
  1693. is determined automatically by matching the local node's address
  1694. with the configured address.
  1695. </description>
  1696. </property>
  1697. <property>
  1698. <name>dfs.ha.log-roll.period</name>
  1699. <value>120</value>
  1700. <description>
  1701. How often, in seconds, the StandbyNode should ask the active to
  1702. roll edit logs. Since the StandbyNode only reads from finalized
  1703. log segments, the StandbyNode will only be as up-to-date as how
  1704. often the logs are rolled. Note that failover triggers a log roll
  1705. so the StandbyNode will be up to date before it becomes active.
  1706. Support multiple time unit suffix(case insensitive), as described
  1707. in dfs.heartbeat.interval.If no time unit is specified then seconds
  1708. is assumed.
  1709. </description>
  1710. </property>
  1711. <property>
  1712. <name>dfs.ha.tail-edits.period</name>
  1713. <value>60</value>
  1714. <description>
  1715. How often, the StandbyNode and ObserverNode should check if there are new
  1716. edit log entries ready to be consumed. This is the minimum period between
  1717. checking; exponential backoff will be applied if no edits are found and
  1718. dfs.ha.tail-edits.period.backoff-max is configured. By default, no
  1719. backoff is applied.
  1720. Supports multiple time unit suffix (case insensitive), as described
  1721. in dfs.heartbeat.interval.
  1722. </description>
  1723. </property>
  1724. <property>
  1725. <name>dfs.ha.tail-edits.period.backoff-max</name>
  1726. <value>0</value>
  1727. <description>
  1728. The maximum time the tailer should wait between checking for new edit log
  1729. entries. Exponential backoff will be applied when an edit log tail is
  1730. performed but no edits are available to be read. Values less than or
  1731. equal to zero disable backoff entirely; this is the default behavior.
  1732. Supports multiple time unit suffix (case insensitive), as described
  1733. in dfs.heartbeat.interval.
  1734. </description>
  1735. </property>
  1736. <property>
  1737. <name>dfs.ha.tail-edits.namenode-retries</name>
  1738. <value>3</value>
  1739. <description>
  1740. Number of retries to use when contacting the namenode when tailing the log.
  1741. </description>
  1742. </property>
  1743. <property>
  1744. <name>dfs.ha.tail-edits.rolledits.timeout</name>
  1745. <value>60</value>
  1746. <description>The timeout in seconds of calling rollEdits RPC on Active NN.
  1747. </description>
  1748. </property>
  1749. <property>
  1750. <name>dfs.ha.automatic-failover.enabled</name>
  1751. <value>false</value>
  1752. <description>
  1753. Whether automatic failover is enabled. See the HDFS High
  1754. Availability documentation for details on automatic HA
  1755. configuration.
  1756. </description>
  1757. </property>
  1758. <property>
  1759. <name>dfs.client.use.datanode.hostname</name>
  1760. <value>false</value>
  1761. <description>Whether clients should use datanode hostnames when
  1762. connecting to datanodes.
  1763. </description>
  1764. </property>
  1765. <property>
  1766. <name>dfs.datanode.use.datanode.hostname</name>
  1767. <value>false</value>
  1768. <description>Whether datanodes should use datanode hostnames when
  1769. connecting to other datanodes for data transfer.
  1770. </description>
  1771. </property>
  1772. <property>
  1773. <name>dfs.client.local.interfaces</name>
  1774. <value></value>
  1775. <description>A comma separated list of network interface names to use
  1776. for data transfer between the client and datanodes. When creating
  1777. a connection to read from or write to a datanode, the client
  1778. chooses one of the specified interfaces at random and binds its
  1779. socket to the IP of that interface. Individual names may be
  1780. specified as either an interface name (eg "eth0"), a subinterface
  1781. name (eg "eth0:0"), or an IP address (which may be specified using
  1782. CIDR notation to match a range of IPs).
  1783. </description>
  1784. </property>
  1785. <property>
  1786. <name>dfs.datanode.shared.file.descriptor.paths</name>
  1787. <value>/dev/shm,/tmp</value>
  1788. <description>
  1789. A comma-separated list of paths to use when creating file descriptors that
  1790. will be shared between the DataNode and the DFSClient. Typically we use
  1791. /dev/shm, so that the file descriptors will not be written to disk.
  1792. It tries paths in order until creation of shared memory segment succeeds.
  1793. </description>
  1794. </property>
  1795. <property>
  1796. <name>dfs.short.circuit.shared.memory.watcher.interrupt.check.ms</name>
  1797. <value>60000</value>
  1798. <description>
  1799. The length of time in milliseconds that the short-circuit shared memory
  1800. watcher will go between checking for java interruptions sent from other
  1801. threads. This is provided mainly for unit tests.
  1802. </description>
  1803. </property>
  1804. <property>
  1805. <name>dfs.namenode.kerberos.principal</name>
  1806. <value></value>
  1807. <description>
  1808. The NameNode service principal. This is typically set to
  1809. nn/_HOST@REALM.TLD. Each NameNode will substitute _HOST with its
  1810. own fully qualified hostname at startup. The _HOST placeholder
  1811. allows using the same configuration setting on both NameNodes
  1812. in an HA setup.
  1813. </description>
  1814. </property>
  1815. <property>
  1816. <name>dfs.namenode.keytab.file</name>
  1817. <value></value>
  1818. <description>
  1819. The keytab file used by each NameNode daemon to login as its
  1820. service principal. The principal name is configured with
  1821. dfs.namenode.kerberos.principal.
  1822. </description>
  1823. </property>
  1824. <property>
  1825. <name>dfs.datanode.kerberos.principal</name>
  1826. <value></value>
  1827. <description>
  1828. The DataNode service principal. This is typically set to
  1829. dn/_HOST@REALM.TLD. Each DataNode will substitute _HOST with its
  1830. own fully qualified hostname at startup. The _HOST placeholder
  1831. allows using the same configuration setting on all DataNodes.
  1832. </description>
  1833. </property>
  1834. <property>
  1835. <name>dfs.datanode.keytab.file</name>
  1836. <value></value>
  1837. <description>
  1838. The keytab file used by each DataNode daemon to login as its
  1839. service principal. The principal name is configured with
  1840. dfs.datanode.kerberos.principal.
  1841. </description>
  1842. </property>
  1843. <property>
  1844. <name>dfs.journalnode.kerberos.principal</name>
  1845. <value></value>
  1846. <description>
  1847. The JournalNode service principal. This is typically set to
  1848. jn/_HOST@REALM.TLD. Each JournalNode will substitute _HOST with its
  1849. own fully qualified hostname at startup. The _HOST placeholder
  1850. allows using the same configuration setting on all JournalNodes.
  1851. </description>
  1852. </property>
  1853. <property>
  1854. <name>dfs.journalnode.keytab.file</name>
  1855. <value></value>
  1856. <description>
  1857. The keytab file used by each JournalNode daemon to login as its
  1858. service principal. The principal name is configured with
  1859. dfs.journalnode.kerberos.principal.
  1860. </description>
  1861. </property>
  1862. <property>
  1863. <name>dfs.namenode.kerberos.internal.spnego.principal</name>
  1864. <value>${dfs.web.authentication.kerberos.principal}</value>
  1865. <description>
  1866. The server principal used by the NameNode for web UI SPNEGO
  1867. authentication when Kerberos security is enabled. This is
  1868. typically set to HTTP/_HOST@REALM.TLD The SPNEGO server principal
  1869. begins with the prefix HTTP/ by convention.
  1870. If the value is '*', the web server will attempt to login with
  1871. every principal specified in the keytab file
  1872. dfs.web.authentication.kerberos.keytab.
  1873. </description>
  1874. </property>
  1875. <property>
  1876. <name>dfs.journalnode.kerberos.internal.spnego.principal</name>
  1877. <value></value>
  1878. <description>
  1879. The server principal used by the JournalNode HTTP Server for
  1880. SPNEGO authentication when Kerberos security is enabled. This is
  1881. typically set to HTTP/_HOST@REALM.TLD. The SPNEGO server principal
  1882. begins with the prefix HTTP/ by convention.
  1883. If the value is '*', the web server will attempt to login with
  1884. every principal specified in the keytab file
  1885. dfs.web.authentication.kerberos.keytab.
  1886. For most deployments this can be set to ${dfs.web.authentication.kerberos.principal}
  1887. i.e use the value of dfs.web.authentication.kerberos.principal.
  1888. </description>
  1889. </property>
  1890. <property>
  1891. <name>dfs.secondary.namenode.kerberos.internal.spnego.principal</name>
  1892. <value>${dfs.web.authentication.kerberos.principal}</value>
  1893. <description>
  1894. The server principal used by the Secondary NameNode for web UI SPNEGO
  1895. authentication when Kerberos security is enabled. Like all other
  1896. Secondary NameNode settings, it is ignored in an HA setup.
  1897. If the value is '*', the web server will attempt to login with
  1898. every principal specified in the keytab file
  1899. dfs.web.authentication.kerberos.keytab.
  1900. </description>
  1901. </property>
  1902. <property>
  1903. <name>dfs.web.authentication.kerberos.principal</name>
  1904. <value></value>
  1905. <description>
  1906. The server principal used by the NameNode for WebHDFS SPNEGO
  1907. authentication.
  1908. Required when WebHDFS and security are enabled. In most secure clusters this
  1909. setting is also used to specify the values for
  1910. dfs.namenode.kerberos.internal.spnego.principal and
  1911. dfs.journalnode.kerberos.internal.spnego.principal.
  1912. </description>
  1913. </property>
  1914. <property>
  1915. <name>dfs.web.authentication.kerberos.keytab</name>
  1916. <value></value>
  1917. <description>
  1918. The keytab file for the principal corresponding to
  1919. dfs.web.authentication.kerberos.principal.
  1920. </description>
  1921. </property>
  1922. <property>
  1923. <name>dfs.namenode.kerberos.principal.pattern</name>
  1924. <value>*</value>
  1925. <description>
  1926. A client-side RegEx that can be configured to control
  1927. allowed realms to authenticate with (useful in cross-realm env.)
  1928. </description>
  1929. </property>
  1930. <property>
  1931. <name>dfs.namenode.avoid.read.stale.datanode</name>
  1932. <value>false</value>
  1933. <description>
  1934. Indicate whether or not to avoid reading from &quot;stale&quot; datanodes whose
  1935. heartbeat messages have not been received by the namenode
  1936. for more than a specified time interval. Stale datanodes will be
  1937. moved to the end of the node list returned for reading. See
  1938. dfs.namenode.avoid.write.stale.datanode for a similar setting for writes.
  1939. </description>
  1940. </property>
  1941. <property>
  1942. <name>dfs.namenode.avoid.read.slow.datanode</name>
  1943. <value>false</value>
  1944. <description>
  1945. Indicate whether or not to avoid reading from &quot;slow&quot; datanodes.
  1946. Slow datanodes will be moved to the end of the node list returned
  1947. for reading.
  1948. </description>
  1949. </property>
  1950. <property>
  1951. <name>dfs.namenode.avoid.write.stale.datanode</name>
  1952. <value>false</value>
  1953. <description>
  1954. Indicate whether or not to avoid writing to &quot;stale&quot; datanodes whose
  1955. heartbeat messages have not been received by the namenode
  1956. for more than a specified time interval. Writes will avoid using
  1957. stale datanodes unless more than a configured ratio
  1958. (dfs.namenode.write.stale.datanode.ratio) of datanodes are marked as
  1959. stale. See dfs.namenode.avoid.read.stale.datanode for a similar setting
  1960. for reads.
  1961. </description>
  1962. </property>
  1963. <property>
  1964. <name>dfs.namenode.enable.log.stale.datanode</name>
  1965. <value>false</value>
  1966. <description>
  1967. Enable and disable logging datanode staleness. Disabled by default.
  1968. </description>
  1969. </property>
  1970. <property>
  1971. <name>dfs.namenode.stale.datanode.interval</name>
  1972. <value>30000</value>
  1973. <description>
  1974. Default time interval in milliseconds for marking a datanode as "stale",
  1975. i.e., if the namenode has not received heartbeat msg from a datanode for
  1976. more than this time interval, the datanode will be marked and treated
  1977. as "stale" by default. The stale interval cannot be too small since
  1978. otherwise this may cause too frequent change of stale states.
  1979. We thus set a minimum stale interval value (the default value is 3 times
  1980. of heartbeat interval) and guarantee that the stale interval cannot be less
  1981. than the minimum value. A stale data node is avoided during lease/block
  1982. recovery. It can be conditionally avoided for reads (see
  1983. dfs.namenode.avoid.read.stale.datanode) and for writes (see
  1984. dfs.namenode.avoid.write.stale.datanode).
  1985. </description>
  1986. </property>
  1987. <property>
  1988. <name>dfs.namenode.write.stale.datanode.ratio</name>
  1989. <value>0.5f</value>
  1990. <description>
  1991. When the ratio of number stale datanodes to total datanodes marked
  1992. is greater than this ratio, stop avoiding writing to stale nodes so
  1993. as to prevent causing hotspots.
  1994. </description>
  1995. </property>
  1996. <property>
  1997. <name>dfs.namenode.invalidate.work.pct.per.iteration</name>
  1998. <value>0.32f</value>
  1999. <description>
  2000. *Note*: Advanced property. Change with caution.
  2001. This determines the percentage amount of block
  2002. invalidations (deletes) to do over a single DN heartbeat
  2003. deletion command. The final deletion count is determined by applying this
  2004. percentage to the number of live nodes in the system.
  2005. The resultant number is the number of blocks from the deletion list
  2006. chosen for proper invalidation over a single heartbeat of a single DN.
  2007. Value should be a positive, non-zero percentage in float notation (X.Yf),
  2008. with 1.0f meaning 100%.
  2009. </description>
  2010. </property>
  2011. <property>
  2012. <name>dfs.namenode.replication.work.multiplier.per.iteration</name>
  2013. <value>2</value>
  2014. <description>
  2015. *Note*: Advanced property. Change with caution.
  2016. This determines the total amount of block transfers to begin in
  2017. parallel at a DN, for replication, when such a command list is being
  2018. sent over a DN heartbeat by the NN. The actual number is obtained by
  2019. multiplying this multiplier with the total number of live nodes in the
  2020. cluster. The result number is the number of blocks to begin transfers
  2021. immediately for, per DN heartbeat. This number can be any positive,
  2022. non-zero integer.
  2023. </description>
  2024. </property>
  2025. <property>
  2026. <name>nfs.server.port</name>
  2027. <value>2049</value>
  2028. <description>
  2029. Specify the port number used by Hadoop NFS.
  2030. </description>
  2031. </property>
  2032. <property>
  2033. <name>nfs.mountd.port</name>
  2034. <value>4242</value>
  2035. <description>
  2036. Specify the port number used by Hadoop mount daemon.
  2037. </description>
  2038. </property>
  2039. <property>
  2040. <name>nfs.dump.dir</name>
  2041. <value>/tmp/.hdfs-nfs</value>
  2042. <description>
  2043. This directory is used to temporarily save out-of-order writes before
  2044. writing to HDFS. For each file, the out-of-order writes are dumped after
  2045. they are accumulated to exceed certain threshold (e.g., 1MB) in memory.
  2046. One needs to make sure the directory has enough space.
  2047. </description>
  2048. </property>
  2049. <property>
  2050. <name>nfs.rtmax</name>
  2051. <value>1048576</value>
  2052. <description>This is the maximum size in bytes of a READ request
  2053. supported by the NFS gateway. If you change this, make sure you
  2054. also update the nfs mount's rsize(add rsize= # of bytes to the
  2055. mount directive).
  2056. </description>
  2057. </property>
  2058. <property>
  2059. <name>nfs.wtmax</name>
  2060. <value>1048576</value>
  2061. <description>This is the maximum size in bytes of a WRITE request
  2062. supported by the NFS gateway. If you change this, make sure you
  2063. also update the nfs mount's wsize(add wsize= # of bytes to the
  2064. mount directive).
  2065. </description>
  2066. </property>
  2067. <property>
  2068. <name>nfs.keytab.file</name>
  2069. <value></value>
  2070. <description>
  2071. *Note*: Advanced property. Change with caution.
  2072. This is the path to the keytab file for the hdfs-nfs gateway.
  2073. This is required when the cluster is kerberized.
  2074. </description>
  2075. </property>
  2076. <property>
  2077. <name>nfs.kerberos.principal</name>
  2078. <value></value>
  2079. <description>
  2080. *Note*: Advanced property. Change with caution.
  2081. This is the name of the kerberos principal. This is required when
  2082. the cluster is kerberized.It must be of this format:
  2083. nfs-gateway-user/nfs-gateway-host@kerberos-realm
  2084. </description>
  2085. </property>
  2086. <property>
  2087. <name>nfs.allow.insecure.ports</name>
  2088. <value>true</value>
  2089. <description>
  2090. When set to false, client connections originating from unprivileged ports
  2091. (those above 1023) will be rejected. This is to ensure that clients
  2092. connecting to this NFS Gateway must have had root privilege on the machine
  2093. where they're connecting from.
  2094. </description>
  2095. </property>
  2096. <property>
  2097. <name>hadoop.fuse.connection.timeout</name>
  2098. <value>300</value>
  2099. <description>
  2100. The minimum number of seconds that we'll cache libhdfs connection objects
  2101. in fuse_dfs. Lower values will result in lower memory consumption; higher
  2102. values may speed up access by avoiding the overhead of creating new
  2103. connection objects.
  2104. </description>
  2105. </property>
  2106. <property>
  2107. <name>hadoop.fuse.timer.period</name>
  2108. <value>5</value>
  2109. <description>
  2110. The number of seconds between cache expiry checks in fuse_dfs. Lower values
  2111. will result in fuse_dfs noticing changes to Kerberos ticket caches more
  2112. quickly.
  2113. </description>
  2114. </property>
  2115. <property>
  2116. <name>dfs.namenode.metrics.logger.period.seconds</name>
  2117. <value>600</value>
  2118. <description>
  2119. This setting controls how frequently the NameNode logs its metrics. The
  2120. logging configuration must also define one or more appenders for
  2121. NameNodeMetricsLog for the metrics to be logged.
  2122. NameNode metrics logging is disabled if this value is set to zero or
  2123. less than zero.
  2124. </description>
  2125. </property>
  2126. <property>
  2127. <name>dfs.datanode.metrics.logger.period.seconds</name>
  2128. <value>600</value>
  2129. <description>
  2130. This setting controls how frequently the DataNode logs its metrics. The
  2131. logging configuration must also define one or more appenders for
  2132. DataNodeMetricsLog for the metrics to be logged.
  2133. DataNode metrics logging is disabled if this value is set to zero or
  2134. less than zero.
  2135. </description>
  2136. </property>
  2137. <property>
  2138. <name>dfs.metrics.percentiles.intervals</name>
  2139. <value></value>
  2140. <description>
  2141. Comma-delimited set of integers denoting the desired rollover intervals
  2142. (in seconds) for percentile latency metrics on the Namenode and Datanode.
  2143. By default, percentile latency metrics are disabled.
  2144. </description>
  2145. </property>
  2146. <property>
  2147. <name>dfs.datanode.peer.stats.enabled</name>
  2148. <value>false</value>
  2149. <description>
  2150. A switch to turn on/off tracking DataNode peer statistics.
  2151. </description>
  2152. </property>
  2153. <property>
  2154. <name>dfs.datanode.peer.metrics.min.outlier.detection.samples</name>
  2155. <value>1000</value>
  2156. <description>
  2157. Minimum number of packet send samples which are required to qualify for outlier detection.
  2158. If the number of samples is below this then outlier detection is skipped.
  2159. </description>
  2160. </property>
  2161. <property>
  2162. <name>dfs.datanode.min.outlier.detection.nodes</name>
  2163. <value>10</value>
  2164. <description>
  2165. Minimum number of nodes to run outlier detection.
  2166. </description>
  2167. </property>
  2168. <property>
  2169. <name>dfs.datanode.slowpeer.low.threshold.ms</name>
  2170. <value>5</value>
  2171. <description>
  2172. Threshold in milliseconds below which a DataNode is definitely not slow.
  2173. </description>
  2174. </property>
  2175. <property>
  2176. <name>dfs.datanode.max.nodes.to.report</name>
  2177. <value>5</value>
  2178. <description>
  2179. Number of nodes to include in JSON report. We will return nodes with
  2180. the highest number of votes from peers.
  2181. </description>
  2182. </property>
  2183. <property>
  2184. <name>dfs.datanode.outliers.report.interval</name>
  2185. <value>30m</value>
  2186. <description>
  2187. This setting controls how frequently DataNodes will report their peer
  2188. latencies to the NameNode via heartbeats. This setting supports
  2189. multiple time unit suffixes as described in dfs.heartbeat.interval.
  2190. If no suffix is specified then milliseconds is assumed.
  2191. It is ignored if dfs.datanode.peer.stats.enabled is false.
  2192. </description>
  2193. </property>
  2194. <property>
  2195. <name>dfs.namenode.block-placement-policy.exclude-slow-nodes.enabled</name>
  2196. <value>false</value>
  2197. <description>
  2198. If this is set to true, we will filter out slow nodes
  2199. when choosing targets for blocks.
  2200. </description>
  2201. </property>
  2202. <property>
  2203. <name>dfs.namenode.block-placement.min-blocks-for.write</name>
  2204. <value>1</value>
  2205. <description>
  2206. Setting the minimum number of blocks for write operations is used to calculate the space required
  2207. for write operations.
  2208. </description>
  2209. </property>
  2210. <property>
  2211. <name>dfs.namenode.max.slowpeer.collect.nodes</name>
  2212. <value>5</value>
  2213. <description>
  2214. How many slow nodes we will collect for filtering out
  2215. when choosing targets for blocks.
  2216. It is ignored if dfs.namenode.block-placement-policy.exclude-slow-nodes.enabled is false.
  2217. </description>
  2218. </property>
  2219. <property>
  2220. <name>dfs.namenode.slowpeer.collect.interval</name>
  2221. <value>30m</value>
  2222. <description>
  2223. Interval at which the slow peer trackers runs in the background to collect slow peers.
  2224. It is ignored if dfs.namenode.block-placement-policy.exclude-slow-nodes.enabled is false.
  2225. </description>
  2226. </property>
  2227. <property>
  2228. <name>dfs.datanode.fileio.profiling.sampling.percentage</name>
  2229. <value>0</value>
  2230. <description>
  2231. This setting controls the percentage of file I/O events which will be
  2232. profiled for DataNode disk statistics. The default value of 0 disables
  2233. disk statistics. Set to an integer value between 1 and 100 to enable disk
  2234. statistics.
  2235. </description>
  2236. </property>
  2237. <property>
  2238. <name>dfs.datanode.min.outlier.detection.disks</name>
  2239. <value>5</value>
  2240. <description>
  2241. Minimum number of disks to run outlier detection.
  2242. </description>
  2243. </property>
  2244. <property>
  2245. <name>dfs.datanode.slowdisk.low.threshold.ms</name>
  2246. <value>20</value>
  2247. <description>
  2248. Threshold in milliseconds below which a disk is definitely not slow.
  2249. </description>
  2250. </property>
  2251. <property>
  2252. <name>dfs.datanode.max.disks.to.report</name>
  2253. <value>5</value>
  2254. <description>
  2255. Number of disks to include in JSON report per operation. We will return
  2256. disks with the highest latency.
  2257. </description>
  2258. </property>
  2259. <property>
  2260. <name>dfs.datanode.max.slowdisks.to.exclude</name>
  2261. <value>0</value>
  2262. <description>
  2263. The number of slow disks that needs to be excluded. By default, this parameter is set to 0,
  2264. which disables excluding slow disk when choosing volume.
  2265. </description>
  2266. </property>
  2267. <property>
  2268. <name>hadoop.user.group.metrics.percentiles.intervals</name>
  2269. <value></value>
  2270. <description>
  2271. A comma-separated list of the granularity in seconds for the metrics
  2272. which describe the 50/75/90/95/99th percentile latency for group resolution
  2273. in milliseconds.
  2274. By default, percentile latency metrics are disabled.
  2275. </description>
  2276. </property>
  2277. <property>
  2278. <name>dfs.encrypt.data.transfer</name>
  2279. <value>false</value>
  2280. <description>
  2281. Whether or not actual block data that is read/written from/to HDFS should
  2282. be encrypted on the wire. This only needs to be set on the NN and DNs,
  2283. clients will deduce this automatically. It is possible to override this setting
  2284. per connection by specifying custom logic via dfs.trustedchannel.resolver.class.
  2285. </description>
  2286. </property>
  2287. <property>
  2288. <name>dfs.encrypt.data.transfer.algorithm</name>
  2289. <value></value>
  2290. <description>
  2291. This value may be set to either "3des" or "rc4". If nothing is set, then
  2292. the configured JCE default on the system is used (usually 3DES.) It is
  2293. widely believed that 3DES is more cryptographically secure, but RC4 is
  2294. substantially faster.
  2295. Note that if AES is supported by both the client and server then this
  2296. encryption algorithm will only be used to initially transfer keys for AES.
  2297. (See dfs.encrypt.data.transfer.cipher.suites.)
  2298. </description>
  2299. </property>
  2300. <property>
  2301. <name>dfs.encrypt.data.transfer.cipher.suites</name>
  2302. <value></value>
  2303. <description>
  2304. This value may be either undefined or AES/CTR/NoPadding. If defined, then
  2305. dfs.encrypt.data.transfer uses the specified cipher suite for data
  2306. encryption. If not defined, then only the algorithm specified in
  2307. dfs.encrypt.data.transfer.algorithm is used. By default, the property is
  2308. not defined.
  2309. </description>
  2310. </property>
  2311. <property>
  2312. <name>dfs.encrypt.data.transfer.cipher.key.bitlength</name>
  2313. <value>128</value>
  2314. <description>
  2315. The key bitlength negotiated by dfsclient and datanode for encryption.
  2316. This value may be set to either 128, 192 or 256.
  2317. </description>
  2318. </property>
  2319. <property>
  2320. <name>dfs.trustedchannel.resolver.class</name>
  2321. <value></value>
  2322. <description>
  2323. TrustedChannelResolver is used to determine whether a channel
  2324. is trusted for plain data transfer. The TrustedChannelResolver is
  2325. invoked on both client and server side. If the resolver indicates
  2326. that the channel is trusted, then the data transfer will not be
  2327. encrypted even if dfs.encrypt.data.transfer is set to true. The
  2328. default implementation returns false indicating that the channel
  2329. is not trusted.
  2330. </description>
  2331. </property>
  2332. <property>
  2333. <name>dfs.data.transfer.protection</name>
  2334. <value></value>
  2335. <description>
  2336. A comma-separated list of SASL protection values used for secured
  2337. connections to the DataNode when reading or writing block data. Possible
  2338. values are authentication, integrity and privacy. authentication means
  2339. authentication only and no integrity or privacy; integrity implies
  2340. authentication and integrity are enabled; and privacy implies all of
  2341. authentication, integrity and privacy are enabled. If
  2342. dfs.encrypt.data.transfer is set to true, then it supersedes the setting for
  2343. dfs.data.transfer.protection and enforces that all connections must use a
  2344. specialized encrypted SASL handshake. This property is ignored for
  2345. connections to a DataNode listening on a privileged port. In this case, it
  2346. is assumed that the use of a privileged port establishes sufficient trust.
  2347. </description>
  2348. </property>
  2349. <property>
  2350. <name>dfs.data.transfer.saslproperties.resolver.class</name>
  2351. <value></value>
  2352. <description>
  2353. SaslPropertiesResolver used to resolve the QOP used for a connection to the
  2354. DataNode when reading or writing block data. If not specified, the value of
  2355. hadoop.security.saslproperties.resolver.class is used as the default value.
  2356. </description>
  2357. </property>
  2358. <property>
  2359. <name>dfs.journalnode.rpc-address</name>
  2360. <value>0.0.0.0:8485</value>
  2361. <description>
  2362. The JournalNode RPC server address and port.
  2363. </description>
  2364. </property>
  2365. <property>
  2366. <name>dfs.journalnode.rpc-bind-host</name>
  2367. <value></value>
  2368. <description>
  2369. The actual address the RPC server will bind to. If this optional address is
  2370. set, it overrides only the hostname portion of dfs.journalnode.rpc-address.
  2371. This is useful for making the JournalNode listen on all interfaces by
  2372. setting it to 0.0.0.0.
  2373. </description>
  2374. </property>
  2375. <property>
  2376. <name>dfs.journalnode.http-address</name>
  2377. <value>0.0.0.0:8480</value>
  2378. <description>
  2379. The address and port the JournalNode HTTP server listens on.
  2380. If the port is 0 then the server will start on a free port.
  2381. </description>
  2382. </property>
  2383. <property>
  2384. <name>dfs.journalnode.http-bind-host</name>
  2385. <value></value>
  2386. <description>
  2387. The actual address the HTTP server will bind to. If this optional address
  2388. is set, it overrides only the hostname portion of
  2389. dfs.journalnode.http-address. This is useful for making the JournalNode
  2390. HTTP server listen on allinterfaces by setting it to 0.0.0.0.
  2391. </description>
  2392. </property>
  2393. <property>
  2394. <name>dfs.journalnode.https-address</name>
  2395. <value>0.0.0.0:8481</value>
  2396. <description>
  2397. The address and port the JournalNode HTTPS server listens on.
  2398. If the port is 0 then the server will start on a free port.
  2399. </description>
  2400. </property>
  2401. <property>
  2402. <name>dfs.journalnode.https-bind-host</name>
  2403. <value></value>
  2404. <description>
  2405. The actual address the HTTP server will bind to. If this optional address
  2406. is set, it overrides only the hostname portion of
  2407. dfs.journalnode.https-address. This is useful for making the JournalNode
  2408. HTTP server listen on all interfaces by setting it to 0.0.0.0.
  2409. </description>
  2410. </property>
  2411. <property>
  2412. <name>dfs.namenode.audit.loggers</name>
  2413. <value>default</value>
  2414. <description>
  2415. List of classes implementing audit loggers that will receive audit events.
  2416. These should be implementations of org.apache.hadoop.hdfs.server.namenode.AuditLogger.
  2417. The special value "default" can be used to reference the default audit
  2418. logger, which uses the configured log system. Installing custom audit loggers
  2419. may affect the performance and stability of the NameNode. Refer to the custom
  2420. logger's documentation for more details.
  2421. </description>
  2422. </property>
  2423. <property>
  2424. <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name>
  2425. <value>10737418240</value> <!-- 10 GB -->
  2426. <description>
  2427. Only used when the dfs.datanode.fsdataset.volume.choosing.policy is set to
  2428. org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy.
  2429. This setting controls how much DN volumes are allowed to differ in terms of
  2430. bytes of free disk space before they are considered imbalanced. If the free
  2431. space of all the volumes are within this range of each other, the volumes
  2432. will be considered balanced and block assignments will be done on a pure
  2433. round robin basis. Support multiple size unit suffix(case insensitive), as
  2434. described in dfs.blocksize.
  2435. </description>
  2436. </property>
  2437. <property>
  2438. <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction</name>
  2439. <value>0.75f</value>
  2440. <description>
  2441. Only used when the dfs.datanode.fsdataset.volume.choosing.policy is set to
  2442. org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy.
  2443. This setting controls what percentage of new block allocations will be sent
  2444. to volumes with more available disk space than others. This setting should
  2445. be in the range 0.0 - 1.0, though in practice 0.5 - 1.0, since there should
  2446. be no reason to prefer that volumes with less available disk space receive
  2447. more block allocations.
  2448. </description>
  2449. </property>
  2450. <property>
  2451. <name>dfs.datanode.round-robin-volume-choosing-policy.additional-available-space</name>
  2452. <value>1073741824</value> <!-- 1 GB -->
  2453. <description>
  2454. Only used when the dfs.datanode.fsdataset.volume.choosing.policy is set to
  2455. org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy.
  2456. This setting controls how much additional available space (unit is byte) is needed
  2457. when choosing a volume.
  2458. </description>
  2459. </property>
  2460. <property>
  2461. <name>dfs.namenode.edits.noeditlogchannelflush</name>
  2462. <value>false</value>
  2463. <description>
  2464. Specifies whether to flush edit log file channel. When set, expensive
  2465. FileChannel#force calls are skipped and synchronous disk writes are
  2466. enabled instead by opening the edit log file with RandomAccessFile("rwd")
  2467. flags. This can significantly improve the performance of edit log writes
  2468. on the Windows platform.
  2469. Note that the behavior of the "rwd" flags is platform and hardware specific
  2470. and might not provide the same level of guarantees as FileChannel#force.
  2471. For example, the write will skip the disk-cache on SAS and SCSI devices
  2472. while it might not on SATA devices. This is an expert level setting,
  2473. change with caution.
  2474. </description>
  2475. </property>
  2476. <property>
  2477. <name>dfs.client.cache.drop.behind.writes</name>
  2478. <value></value>
  2479. <description>
  2480. Just like dfs.datanode.drop.cache.behind.writes, this setting causes the
  2481. page cache to be dropped behind HDFS writes, potentially freeing up more
  2482. memory for other uses. Unlike dfs.datanode.drop.cache.behind.writes, this
  2483. is a client-side setting rather than a setting for the entire datanode.
  2484. If present, this setting will override the DataNode default.
  2485. If the native libraries are not available to the DataNode, this
  2486. configuration has no effect.
  2487. </description>
  2488. </property>
  2489. <property>
  2490. <name>dfs.client.cache.drop.behind.reads</name>
  2491. <value></value>
  2492. <description>
  2493. Just like dfs.datanode.drop.cache.behind.reads, this setting causes the
  2494. page cache to be dropped behind HDFS reads, potentially freeing up more
  2495. memory for other uses. Unlike dfs.datanode.drop.cache.behind.reads, this
  2496. is a client-side setting rather than a setting for the entire datanode. If
  2497. present, this setting will override the DataNode default.
  2498. If the native libraries are not available to the DataNode, this
  2499. configuration has no effect.
  2500. </description>
  2501. </property>
  2502. <property>
  2503. <name>dfs.client.cache.readahead</name>
  2504. <value></value>
  2505. <description>
  2506. When using remote reads, this setting causes the datanode to
  2507. read ahead in the block file using posix_fadvise, potentially decreasing
  2508. I/O wait times. Unlike dfs.datanode.readahead.bytes, this is a client-side
  2509. setting rather than a setting for the entire datanode. If present, this
  2510. setting will override the DataNode default. Support multiple size unit
  2511. suffix(case insensitive), as described in dfs.blocksize.
  2512. When using local reads, this setting determines how much readahead we do in
  2513. BlockReaderLocal.
  2514. If the native libraries are not available to the DataNode, this
  2515. configuration has no effect.
  2516. </description>
  2517. </property>
  2518. <property>
  2519. <name>dfs.client.server-defaults.validity.period.ms</name>
  2520. <value>3600000</value>
  2521. <description>
  2522. The amount of milliseconds after which cached server defaults are updated.
  2523. By default this parameter is set to 1 hour.
  2524. Support multiple time unit suffix(case insensitive), as described
  2525. in dfs.heartbeat.interval.
  2526. </description>
  2527. </property>
  2528. <property>
  2529. <name>dfs.namenode.observer.enabled</name>
  2530. <value>false</value>
  2531. <description>
  2532. This causes NameNode on startup to become an observer node if
  2533. set to true, otherwise startup is no different.
  2534. </description>
  2535. </property>
  2536. <property>
  2537. <name>dfs.namenode.enable.retrycache</name>
  2538. <value>true</value>
  2539. <description>
  2540. This enables the retry cache on the namenode. Namenode tracks for
  2541. non-idempotent requests the corresponding response. If a client retries the
  2542. request, the response from the retry cache is sent. Such operations
  2543. are tagged with annotation @AtMostOnce in namenode protocols. It is
  2544. recommended that this flag be set to true. Setting it to false, will result
  2545. in clients getting failure responses to retried request. This flag must
  2546. be enabled in HA setup for transparent fail-overs.
  2547. The entries in the cache have expiration time configurable
  2548. using dfs.namenode.retrycache.expirytime.millis.
  2549. </description>
  2550. </property>
  2551. <property>
  2552. <name>dfs.namenode.retrycache.expirytime.millis</name>
  2553. <value>600000</value>
  2554. <description>
  2555. The time for which retry cache entries are retained.
  2556. </description>
  2557. </property>
  2558. <property>
  2559. <name>dfs.namenode.retrycache.heap.percent</name>
  2560. <value>0.03f</value>
  2561. <description>
  2562. This parameter configures the heap size allocated for retry cache
  2563. (excluding the response cached). This corresponds to approximately
  2564. 4096 entries for every 64MB of namenode process java heap size.
  2565. Assuming retry cache entry expiration time (configured using
  2566. dfs.namenode.retrycache.expirytime.millis) of 10 minutes, this
  2567. enables retry cache to support 7 operations per second sustained
  2568. for 10 minutes. As the heap size is increased, the operation rate
  2569. linearly increases.
  2570. </description>
  2571. </property>
  2572. <property>
  2573. <name>dfs.client.mmap.enabled</name>
  2574. <value>true</value>
  2575. <description>
  2576. If this is set to false, the client won't attempt to perform memory-mapped reads.
  2577. </description>
  2578. </property>
  2579. <property>
  2580. <name>dfs.client.mmap.cache.size</name>
  2581. <value>256</value>
  2582. <description>
  2583. When zero-copy reads are used, the DFSClient keeps a cache of recently used
  2584. memory mapped regions. This parameter controls the maximum number of
  2585. entries that we will keep in that cache.
  2586. The larger this number is, the more file descriptors we will potentially
  2587. use for memory-mapped files. mmaped files also use virtual address space.
  2588. You may need to increase your ulimit virtual address space limits before
  2589. increasing the client mmap cache size.
  2590. Note that you can still do zero-copy reads when this size is set to 0.
  2591. </description>
  2592. </property>
  2593. <property>
  2594. <name>dfs.client.mmap.cache.timeout.ms</name>
  2595. <value>3600000</value>
  2596. <description>
  2597. The minimum length of time that we will keep an mmap entry in the cache
  2598. between uses. If an entry is in the cache longer than this, and nobody
  2599. uses it, it will be removed by a background thread.
  2600. </description>
  2601. </property>
  2602. <property>
  2603. <name>dfs.client.mmap.retry.timeout.ms</name>
  2604. <value>300000</value>
  2605. <description>
  2606. The minimum amount of time that we will wait before retrying a failed mmap
  2607. operation.
  2608. </description>
  2609. </property>
  2610. <property>
  2611. <name>dfs.client.short.circuit.replica.stale.threshold.ms</name>
  2612. <value>1800000</value>
  2613. <description>
  2614. The maximum amount of time that we will consider a short-circuit replica to
  2615. be valid, if there is no communication from the DataNode. After this time
  2616. has elapsed, we will re-fetch the short-circuit replica even if it is in
  2617. the cache.
  2618. </description>
  2619. </property>
  2620. <property>
  2621. <name>dfs.namenode.caching.enabled</name>
  2622. <value>true</value>
  2623. <description>
  2624. Set to true to enable block caching. This flag enables the NameNode to
  2625. maintain a mapping of cached blocks to DataNodes via processing DataNode
  2626. cache reports. Based on these reports and addition and removal of caching
  2627. directives, the NameNode will schedule caching and uncaching work.
  2628. In the current implementation, centralized caching introduces additional
  2629. write lock overhead (see CacheReplicationMonitor#rescan) even if no path
  2630. to cache is specified, so we recommend disabling this feature when not in
  2631. use. We will disable centralized caching by default in later versions.
  2632. </description>
  2633. </property>
  2634. <property>
  2635. <name>dfs.namenode.path.based.cache.block.map.allocation.percent</name>
  2636. <value>0.25</value>
  2637. <description>
  2638. The percentage of the Java heap which we will allocate to the cached blocks
  2639. map. The cached blocks map is a hash map which uses chained hashing.
  2640. Smaller maps may be accessed more slowly if the number of cached blocks is
  2641. large; larger maps will consume more memory.
  2642. </description>
  2643. </property>
  2644. <property>
  2645. <name>dfs.namenode.crm.checklocktime.enable</name>
  2646. <value>false</value>
  2647. <description>
  2648. Set to true to enable CacheManager to check amount of time to hold the
  2649. global rwlock.
  2650. </description>
  2651. </property>
  2652. <property>
  2653. <name>dfs.namenode.crm.maxlocktime.ms</name>
  2654. <value>1000</value>
  2655. <description>
  2656. The maximum amount of time that CacheManager should hold the global rwlock.
  2657. This configuration enable when set `dfs.namenode.crm.checklocktime.enable`.
  2658. </description>
  2659. </property>
  2660. <property>
  2661. <name>dfs.namenode.crm.sleeptime.ms</name>
  2662. <value>300</value>
  2663. <description>
  2664. The amount of time that CacheManager should relase the global rwlock.
  2665. This configuration enable when set `dfs.namenode.crm.checklocktime.enable`.
  2666. </description>
  2667. </property>
  2668. <property>
  2669. <name>dfs.datanode.max.locked.memory</name>
  2670. <value>0</value>
  2671. <description>
  2672. The amount of memory in bytes to use for caching of block replicas in
  2673. memory on the datanode. The datanode's maximum locked memory soft ulimit
  2674. (RLIMIT_MEMLOCK) must be set to at least this value, else the datanode
  2675. will abort on startup. Support multiple size unit suffix(case insensitive),
  2676. as described in dfs.blocksize.
  2677. By default, this parameter is set to 0, which disables in-memory caching.
  2678. If the native libraries are not available to the DataNode, this
  2679. configuration has no effect.
  2680. </description>
  2681. </property>
  2682. <property>
  2683. <name>dfs.datanode.pmem.cache.dirs</name>
  2684. <value></value>
  2685. <description>
  2686. This value specifies the persistent memory directory used for caching block
  2687. replica. Multiple directories separated by "," are acceptable.
  2688. </description>
  2689. </property>
  2690. <property>
  2691. <name>dfs.datanode.pmem.cache.recovery</name>
  2692. <value>true</value>
  2693. <description>
  2694. This value specifies whether previous cache on persistent memory will be recovered.
  2695. This configuration can take effect only if persistent memory cache is enabled by
  2696. specifying value for 'dfs.datanode.pmem.cache.dirs'.
  2697. </description>
  2698. </property>
  2699. <property>
  2700. <name>dfs.namenode.list.cache.directives.num.responses</name>
  2701. <value>100</value>
  2702. <description>
  2703. This value controls the number of cache directives that the NameNode will
  2704. send over the wire in response to a listDirectives RPC.
  2705. </description>
  2706. </property>
  2707. <property>
  2708. <name>dfs.namenode.list.cache.pools.num.responses</name>
  2709. <value>100</value>
  2710. <description>
  2711. This value controls the number of cache pools that the NameNode will
  2712. send over the wire in response to a listPools RPC.
  2713. </description>
  2714. </property>
  2715. <property>
  2716. <name>dfs.namenode.path.based.cache.refresh.interval.ms</name>
  2717. <value>30000</value>
  2718. <description>
  2719. The amount of milliseconds between subsequent path cache rescans. Path
  2720. cache rescans are when we calculate which blocks should be cached, and on
  2721. what datanodes.
  2722. By default, this parameter is set to 30 seconds.
  2723. </description>
  2724. </property>
  2725. <property>
  2726. <name>dfs.namenode.path.based.cache.retry.interval.ms</name>
  2727. <value>30000</value>
  2728. <description>
  2729. When the NameNode needs to uncache something that is cached, or cache
  2730. something that is not cached, it must direct the DataNodes to do so by
  2731. sending a DNA_CACHE or DNA_UNCACHE command in response to a DataNode
  2732. heartbeat. This parameter controls how frequently the NameNode will
  2733. resend these commands.
  2734. </description>
  2735. </property>
  2736. <property>
  2737. <name>dfs.datanode.fsdatasetcache.max.threads.per.volume</name>
  2738. <value>4</value>
  2739. <description>
  2740. The maximum number of threads per volume to use for caching new data
  2741. on the datanode. These threads consume both I/O and CPU. This can affect
  2742. normal datanode operations.
  2743. </description>
  2744. </property>
  2745. <property>
  2746. <name>dfs.datanode.fsdatasetasyncdisk.max.threads.per.volume</name>
  2747. <value>4</value>
  2748. <description>
  2749. The maximum number of threads per volume used to process async disk
  2750. operations on the datanode. These threads consume I/O and CPU at the
  2751. same time. This will affect normal data node operations.
  2752. </description>
  2753. </property>
  2754. <property>
  2755. <name>dfs.cachereport.intervalMsec</name>
  2756. <value>10000</value>
  2757. <description>
  2758. Determines cache reporting interval in milliseconds. After this amount of
  2759. time, the DataNode sends a full report of its cache state to the NameNode.
  2760. The NameNode uses the cache report to update its map of cached blocks to
  2761. DataNode locations.
  2762. This configuration has no effect if in-memory caching has been disabled by
  2763. setting dfs.datanode.max.locked.memory to 0 (which is the default).
  2764. If the native libraries are not available to the DataNode, this
  2765. configuration has no effect.
  2766. </description>
  2767. </property>
  2768. <property>
  2769. <name>dfs.namenode.edit.log.autoroll.multiplier.threshold</name>
  2770. <value>0.5</value>
  2771. <description>
  2772. Determines when an active namenode will roll its own edit log.
  2773. The actual threshold (in number of edits) is determined by multiplying
  2774. this value by dfs.namenode.checkpoint.txns.
  2775. This prevents extremely large edit files from accumulating on the active
  2776. namenode, which can cause timeouts during namenode startup and pose an
  2777. administrative hassle. This behavior is intended as a failsafe for when
  2778. the standby or secondary namenode fail to roll the edit log by the normal
  2779. checkpoint threshold.
  2780. </description>
  2781. </property>
  2782. <property>
  2783. <name>dfs.namenode.edit.log.autoroll.check.interval.ms</name>
  2784. <value>300000</value>
  2785. <description>
  2786. How often an active namenode will check if it needs to roll its edit log,
  2787. in milliseconds.
  2788. </description>
  2789. </property>
  2790. <property>
  2791. <name>dfs.webhdfs.user.provider.user.pattern</name>
  2792. <value>^[A-Za-z_][A-Za-z0-9._-]*[$]?$</value>
  2793. <description>
  2794. Valid pattern for user and group names for webhdfs, it must be a valid java regex.
  2795. </description>
  2796. </property>
  2797. <property>
  2798. <name>dfs.webhdfs.acl.provider.permission.pattern</name>
  2799. <value>^(default:)?(user|group|mask|other):[[A-Za-z_][A-Za-z0-9._-]]*:([rwx-]{3})?(,(default:)?(user|group|mask|other):[[A-Za-z_][A-Za-z0-9._-]]*:([rwx-]{3})?)*$</value>
  2800. <description>
  2801. Valid pattern for user and group names in webhdfs acl operations, it must be a valid java regex.
  2802. </description>
  2803. </property>
  2804. <property>
  2805. <name>dfs.webhdfs.socket.connect-timeout</name>
  2806. <value>60s</value>
  2807. <description>
  2808. Socket timeout for connecting to WebHDFS servers. This prevents a
  2809. WebHDFS client from hanging if the server hostname is
  2810. misconfigured, or the server does not response before the timeout
  2811. expires. Value is followed by a unit specifier: ns, us, ms, s, m,
  2812. h, d for nanoseconds, microseconds, milliseconds, seconds,
  2813. minutes, hours, days respectively. Values should provide units,
  2814. but milliseconds are assumed.
  2815. </description>
  2816. </property>
  2817. <property>
  2818. <name>dfs.webhdfs.socket.read-timeout</name>
  2819. <value>60s</value>
  2820. <description>
  2821. Socket timeout for reading data from WebHDFS servers. This
  2822. prevents a WebHDFS client from hanging if the server stops sending
  2823. data. Value is followed by a unit specifier: ns, us, ms, s, m, h,
  2824. d for nanoseconds, microseconds, milliseconds, seconds, minutes,
  2825. hours, days respectively. Values should provide units,
  2826. but milliseconds are assumed.
  2827. </description>
  2828. </property>
  2829. <property>
  2830. <name>dfs.client.context</name>
  2831. <value>default</value>
  2832. <description>
  2833. The name of the DFSClient context that we should use. Clients that share
  2834. a context share a socket cache and short-circuit cache, among other things.
  2835. You should only change this if you don't want to share with another set of
  2836. threads.
  2837. </description>
  2838. </property>
  2839. <property>
  2840. <name>dfs.client.read.shortcircuit</name>
  2841. <value>false</value>
  2842. <description>
  2843. This configuration parameter turns on short-circuit local reads.
  2844. </description>
  2845. </property>
  2846. <property>
  2847. <name>dfs.client.socket.send.buffer.size</name>
  2848. <value>0</value>
  2849. <description>
  2850. Socket send buffer size for a write pipeline in DFSClient side.
  2851. This may affect TCP connection throughput.
  2852. If it is set to zero or negative value,
  2853. no buffer size will be set explicitly,
  2854. thus enable tcp auto-tuning on some system.
  2855. The default value is 0.
  2856. </description>
  2857. </property>
  2858. <property>
  2859. <name>dfs.domain.socket.path</name>
  2860. <value></value>
  2861. <description>
  2862. Optional. This is a path to a UNIX domain socket that will be used for
  2863. communication between the DataNode and local HDFS clients.
  2864. If the string "_PORT" is present in this path, it will be replaced by the
  2865. TCP port of the DataNode.
  2866. </description>
  2867. </property>
  2868. <property>
  2869. <name>dfs.domain.socket.disable.interval.seconds</name>
  2870. <value>600</value>
  2871. <description>
  2872. The interval that a DataNode is disabled for future Short-Circuit Reads,
  2873. after an error happens during a Short-Circuit Read. Setting this to 0 will
  2874. not disable Short-Circuit Reads at all after errors happen. Negative values
  2875. are invalid.
  2876. </description>
  2877. </property>
  2878. <property>
  2879. <name>dfs.client.read.shortcircuit.skip.checksum</name>
  2880. <value>false</value>
  2881. <description>
  2882. If this configuration parameter is set,
  2883. short-circuit local reads will skip checksums.
  2884. This is normally not recommended,
  2885. but it may be useful for special setups.
  2886. You might consider using this
  2887. if you are doing your own checksumming outside of HDFS.
  2888. </description>
  2889. </property>
  2890. <property>
  2891. <name>dfs.client.read.shortcircuit.streams.cache.size</name>
  2892. <value>256</value>
  2893. <description>
  2894. The DFSClient maintains a cache of recently opened file descriptors.
  2895. This parameter controls the maximum number of file descriptors in the cache.
  2896. Setting this higher will use more file descriptors,
  2897. but potentially provide better performance on workloads
  2898. involving lots of seeks.
  2899. </description>
  2900. </property>
  2901. <property>
  2902. <name>dfs.client.read.shortcircuit.streams.cache.expiry.ms</name>
  2903. <value>300000</value>
  2904. <description>
  2905. This controls the minimum amount of time
  2906. file descriptors need to sit in the client cache context
  2907. before they can be closed for being inactive for too long.
  2908. </description>
  2909. </property>
  2910. <property>
  2911. <name>dfs.namenode.audit.log.debug.cmdlist</name>
  2912. <value></value>
  2913. <description>
  2914. A comma separated list of NameNode commands that are written to the HDFS
  2915. namenode audit log only if the audit log level is debug.
  2916. </description>
  2917. </property>
  2918. <property>
  2919. <name>dfs.client.use.legacy.blockreader.local</name>
  2920. <value>false</value>
  2921. <description>
  2922. Legacy short-circuit reader implementation based on HDFS-2246 is used
  2923. if this configuration parameter is true.
  2924. This is for the platforms other than Linux
  2925. where the new implementation based on HDFS-347 is not available.
  2926. </description>
  2927. </property>
  2928. <property>
  2929. <name>dfs.client.read.use.cache.priority</name>
  2930. <value>false</value>
  2931. <description>
  2932. If true, the cached replica of the datanode is preferred
  2933. else the replica closest to client is preferred.
  2934. </description>
  2935. </property>
  2936. <property>
  2937. <name>dfs.block.local-path-access.user</name>
  2938. <value></value>
  2939. <description>
  2940. Comma separated list of the users allowed to open block files
  2941. on legacy short-circuit local read.
  2942. </description>
  2943. </property>
  2944. <property>
  2945. <name>dfs.client.domain.socket.data.traffic</name>
  2946. <value>false</value>
  2947. <description>
  2948. This control whether we will try to pass normal data traffic
  2949. over UNIX domain socket rather than over TCP socket
  2950. on node-local data transfer.
  2951. This is currently experimental and turned off by default.
  2952. </description>
  2953. </property>
  2954. <property>
  2955. <name>dfs.namenode.reject-unresolved-dn-topology-mapping</name>
  2956. <value>false</value>
  2957. <description>
  2958. If the value is set to true, then namenode will reject datanode
  2959. registration if the topology mapping for a datanode is not resolved and
  2960. NULL is returned (script defined by net.topology.script.file.name fails
  2961. to execute). Otherwise, datanode will be registered and the default rack
  2962. will be assigned as the topology path. Topology paths are important for
  2963. data resiliency, since they define fault domains. Thus it may be unwanted
  2964. behavior to allow datanode registration with the default rack if the
  2965. resolving topology failed.
  2966. </description>
  2967. </property>
  2968. <property>
  2969. <name>dfs.namenode.xattrs.enabled</name>
  2970. <value>true</value>
  2971. <description>
  2972. Whether support for extended attributes is enabled on the NameNode.
  2973. </description>
  2974. </property>
  2975. <property>
  2976. <name>dfs.namenode.fs-limits.max-xattrs-per-inode</name>
  2977. <value>32</value>
  2978. <description>
  2979. Maximum number of extended attributes per inode.
  2980. </description>
  2981. </property>
  2982. <property>
  2983. <name>dfs.namenode.fs-limits.max-xattr-size</name>
  2984. <value>16384</value>
  2985. <description>
  2986. The maximum combined size of the name and value of an extended attribute
  2987. in bytes. It should be larger than 0, and less than or equal to maximum
  2988. size hard limit which is 32768.
  2989. Support multiple size unit suffix(case insensitive), as described in
  2990. dfs.blocksize.
  2991. </description>
  2992. </property>
  2993. <property>
  2994. <name>dfs.client.slow.io.warning.threshold.ms</name>
  2995. <value>30000</value>
  2996. <description>The threshold in milliseconds at which we will log a slow
  2997. io warning in a dfsclient. By default, this parameter is set to 30000
  2998. milliseconds (30 seconds).
  2999. </description>
  3000. </property>
  3001. <property>
  3002. <name>dfs.datanode.slow.io.warning.threshold.ms</name>
  3003. <value>300</value>
  3004. <description>The threshold in milliseconds at which we will log a slow
  3005. io warning in a datanode. By default, this parameter is set to 300
  3006. milliseconds.
  3007. </description>
  3008. </property>
  3009. <property>
  3010. <name>dfs.datanode.processcommands.threshold</name>
  3011. <value>2s</value>
  3012. <description>The threshold in milliseconds at which we will log a slow
  3013. command processing in BPServiceActor. By default, this parameter is set
  3014. to 2 seconds.
  3015. </description>
  3016. </property>
  3017. <property>
  3018. <name>dfs.client.deadnode.detection.enabled</name>
  3019. <value>false</value>
  3020. <description>
  3021. Set to true to enable dead node detection in client side. Then all the DFSInputStreams of the same client can
  3022. share the dead node information.
  3023. </description>
  3024. </property>
  3025. <property>
  3026. <name>dfs.client.deadnode.detection.probe.deadnode.threads</name>
  3027. <value>10</value>
  3028. <description>
  3029. The maximum number of threads to use for probing dead node.
  3030. </description>
  3031. </property>
  3032. <property>
  3033. <name>dfs.client.deadnode.detection.idle.sleep.ms</name>
  3034. <value>10000</value>
  3035. <description>
  3036. The sleep time of DeadNodeDetector per iteration.
  3037. </description>
  3038. </property>
  3039. <property>
  3040. <name>dfs.client.deadnode.detection.probe.suspectnode.threads</name>
  3041. <value>10</value>
  3042. <description>
  3043. The maximum number of threads to use for probing suspect node.
  3044. </description>
  3045. </property>
  3046. <property>
  3047. <name>dfs.client.deadnode.detection.rpc.threads</name>
  3048. <value>20</value>
  3049. <description>
  3050. The maximum number of threads to use for calling RPC call to recheck the liveness of dead node.
  3051. </description>
  3052. </property>
  3053. <property>
  3054. <name>dfs.client.deadnode.detection.probe.deadnode.interval.ms</name>
  3055. <value>60000</value>
  3056. <description>
  3057. Interval time in milliseconds for probing dead node behavior.
  3058. </description>
  3059. </property>
  3060. <property>
  3061. <name>dfs.client.deadnode.detection.probe.suspectnode.interval.ms</name>
  3062. <value>300</value>
  3063. <description>
  3064. Interval time in milliseconds for probing suspect node behavior.
  3065. </description>
  3066. </property>
  3067. <property>
  3068. <name>dfs.client.deadnode.detection.probe.connection.timeout.ms</name>
  3069. <value>20000</value>
  3070. <description>
  3071. Connection timeout for probing dead node in milliseconds.
  3072. </description>
  3073. </property>
  3074. <property>
  3075. <name>dfs.client.refresh.read-block-locations.ms</name>
  3076. <value>0</value>
  3077. <description>
  3078. Refreshing LocatedBlocks period. A value of 0 disables the feature.
  3079. </description>
  3080. </property>
  3081. <property>
  3082. <name>dfs.client.refresh.read-block-locations.register-automatically</name>
  3083. <value>true</value>
  3084. <description>
  3085. Whether to auto-register all DFSInputStreams for background LocatedBlock refreshes.
  3086. If false, user must manually register using DFSClient#addLocatedBlocksRefresh(DFSInputStream)
  3087. </description>
  3088. </property>
  3089. <property>
  3090. <name>dfs.client.refresh.read-block-locations.threads</name>
  3091. <value>5</value>
  3092. <description>
  3093. Number of threads to use for refreshing LocatedBlocks of registered
  3094. DFSInputStreams. If a DFSClient opens many DFSInputStreams, increasing
  3095. this may help refresh them all in a timely manner.
  3096. </description>
  3097. </property>
  3098. <property>
  3099. <name>dfs.namenode.lease-recheck-interval-ms</name>
  3100. <value>2000</value>
  3101. <description>During the release of lease a lock is hold that make any
  3102. operations on the namenode stuck. In order to not block them during
  3103. a too long duration we stop releasing lease after this max lock limit.
  3104. </description>
  3105. </property>
  3106. <property>
  3107. <name>dfs.namenode.max-lock-hold-to-release-lease-ms</name>
  3108. <value>25</value>
  3109. <description>During the release of lease a lock is hold that make any
  3110. operations on the namenode stuck. In order to not block them during
  3111. a too long duration we stop releasing lease after this max lock limit.
  3112. </description>
  3113. </property>
  3114. <property>
  3115. <name>dfs.namenode.write-lock-reporting-threshold-ms</name>
  3116. <value>5000</value>
  3117. <description>When a write lock is held on the namenode for a long time,
  3118. this will be logged as the lock is released. This sets how long the
  3119. lock must be held for logging to occur.
  3120. </description>
  3121. </property>
  3122. <property>
  3123. <name>dfs.namenode.read-lock-reporting-threshold-ms</name>
  3124. <value>5000</value>
  3125. <description>When a read lock is held on the namenode for a long time,
  3126. this will be logged as the lock is released. This sets how long the
  3127. lock must be held for logging to occur.
  3128. </description>
  3129. </property>
  3130. <property>
  3131. <name>dfs.namenode.access-control-enforcer-reporting-threshold-ms</name>
  3132. <value>1000</value>
  3133. <description>
  3134. If an external AccessControlEnforcer runs for a long time to check permission with the FSnamesystem lock,
  3135. print a WARN log message. This sets how long must be run for logging to occur.
  3136. </description>
  3137. </property>
  3138. <property>
  3139. <name>dfs.namenode.lock.detailed-metrics.enabled</name>
  3140. <value>false</value>
  3141. <description>If true, the namenode will keep track of how long various
  3142. operations hold the Namesystem lock for and emit this as metrics. These
  3143. metrics have names of the form FSN(Read|Write)LockNanosOperationName,
  3144. where OperationName denotes the name of the operation that initiated the
  3145. lock hold (this will be OTHER for certain uncategorized operations) and
  3146. they export the hold time values in nanoseconds.
  3147. </description>
  3148. </property>
  3149. <property>
  3150. <name>dfs.namenode.fslock.fair</name>
  3151. <value>true</value>
  3152. <description>If this is true, the FS Namesystem lock will be used in Fair mode,
  3153. which will help to prevent writer threads from being starved, but can provide
  3154. lower lock throughput. See java.util.concurrent.locks.ReentrantReadWriteLock
  3155. for more information on fair/non-fair locks.
  3156. </description>
  3157. </property>
  3158. <property>
  3159. <name>dfs.datanode.lock.fair</name>
  3160. <value>true</value>
  3161. <description>If this is true, the Datanode FsDataset lock will be used in Fair
  3162. mode, which will help to prevent writer threads from being starved, but can
  3163. lower lock throughput. See java.util.concurrent.locks.ReentrantReadWriteLock
  3164. for more information on fair/non-fair locks.
  3165. </description>
  3166. </property>
  3167. <property>
  3168. <name>dfs.namenode.startup.delay.block.deletion.sec</name>
  3169. <value>0</value>
  3170. <description>The delay in seconds at which we will pause the blocks deletion
  3171. after Namenode startup. By default it's disabled.
  3172. In the case a directory has large number of directories and files are
  3173. deleted, suggested delay is one hour to give the administrator enough time
  3174. to notice large number of pending deletion blocks and take corrective
  3175. action.
  3176. </description>
  3177. </property>
  3178. <property>
  3179. <name>dfs.datanode.block.id.layout.upgrade.threads</name>
  3180. <value>6</value>
  3181. <description>The number of threads to use when creating hard links from
  3182. current to previous blocks during upgrade of a DataNode to block ID-based
  3183. block layout (see HDFS-6482 for details on the layout).</description>
  3184. </property>
  3185. <property>
  3186. <name>dfs.namenode.list.encryption.zones.num.responses</name>
  3187. <value>100</value>
  3188. <description>When listing encryption zones, the maximum number of zones
  3189. that will be returned in a batch. Fetching the list incrementally in
  3190. batches improves namenode performance.
  3191. </description>
  3192. </property>
  3193. <property>
  3194. <name>dfs.namenode.list.reencryption.status.num.responses</name>
  3195. <value>100</value>
  3196. <description>When listing re-encryption status, the maximum number of zones
  3197. that will be returned in a batch. Fetching the list incrementally in
  3198. batches improves namenode performance.
  3199. </description>
  3200. </property>
  3201. <property>
  3202. <name>dfs.namenode.list.openfiles.num.responses</name>
  3203. <value>1000</value>
  3204. <description>
  3205. When listing open files, the maximum number of open files that will be
  3206. returned in a single batch. Fetching the list incrementally in batches
  3207. improves namenode performance.
  3208. </description>
  3209. </property>
  3210. <property>
  3211. <name>dfs.namenode.edekcacheloader.interval.ms</name>
  3212. <value>1000</value>
  3213. <description>When KeyProvider is configured, the interval time of warming
  3214. up edek cache on NN starts up / becomes active. All edeks will be loaded
  3215. from KMS into provider cache. The edek cache loader will try to warm up the
  3216. cache until succeed or NN leaves active state.
  3217. </description>
  3218. </property>
  3219. <property>
  3220. <name>dfs.namenode.edekcacheloader.initial.delay.ms</name>
  3221. <value>3000</value>
  3222. <description>When KeyProvider is configured, the time delayed until the first
  3223. attempt to warm up edek cache on NN start up / become active.
  3224. </description>
  3225. </property>
  3226. <property>
  3227. <name>dfs.namenode.edekcacheloader.max-retries</name>
  3228. <value>10</value>
  3229. <description>When KeyProvider is configured, the max retries allowed to attempt
  3230. warm up edek cache if none of key successful on NN start up / become active.
  3231. </description>
  3232. </property>
  3233. <property>
  3234. <name>dfs.namenode.reencrypt.sleep.interval</name>
  3235. <value>1m</value>
  3236. <description>Interval the re-encrypt EDEK thread sleeps in the main loop. The
  3237. interval accepts units. If none given, millisecond is assumed.
  3238. </description>
  3239. </property>
  3240. <property>
  3241. <name>dfs.namenode.reencrypt.batch.size</name>
  3242. <value>1000</value>
  3243. <description>How many EDEKs should the re-encrypt thread process in one batch.
  3244. </description>
  3245. </property>
  3246. <property>
  3247. <name>dfs.namenode.reencrypt.throttle.limit.handler.ratio</name>
  3248. <value>1.0</value>
  3249. <description>Throttling ratio for the re-encryption, indicating what fraction
  3250. of time should the re-encrypt handler thread work under NN read lock.
  3251. Larger than 1.0 values are interpreted as 1.0. Negative value or 0 are
  3252. invalid values and will fail NN startup.
  3253. </description>
  3254. </property>
  3255. <property>
  3256. <name>dfs.namenode.reencrypt.throttle.limit.updater.ratio</name>
  3257. <value>1.0</value>
  3258. <description>Throttling ratio for the re-encryption, indicating what fraction
  3259. of time should the re-encrypt updater thread work under NN write lock.
  3260. Larger than 1.0 values are interpreted as 1.0. Negative value or 0 are
  3261. invalid values and will fail NN startup.
  3262. </description>
  3263. </property>
  3264. <property>
  3265. <name>dfs.namenode.reencrypt.edek.threads</name>
  3266. <value>10</value>
  3267. <description>Maximum number of re-encrypt threads to contact the KMS
  3268. and re-encrypt the edeks.
  3269. </description>
  3270. </property>
  3271. <property>
  3272. <name>dfs.namenode.inotify.max.events.per.rpc</name>
  3273. <value>1000</value>
  3274. <description>Maximum number of events that will be sent to an inotify client
  3275. in a single RPC response. The default value attempts to amortize away
  3276. the overhead for this RPC while avoiding huge memory requirements for the
  3277. client and NameNode (1000 events should consume no more than 1 MB.)
  3278. </description>
  3279. </property>
  3280. <property>
  3281. <name>dfs.user.home.dir.prefix</name>
  3282. <value>/user</value>
  3283. <description>The directory to prepend to user name to get the user's
  3284. home direcotry.
  3285. </description>
  3286. </property>
  3287. <property>
  3288. <name>dfs.datanode.cache.revocation.timeout.ms</name>
  3289. <value>900000</value>
  3290. <description>When the DFSClient reads from a block file which the DataNode is
  3291. caching, the DFSClient can skip verifying checksums. The DataNode will
  3292. keep the block file in cache until the client is done. If the client takes
  3293. an unusually long time, though, the DataNode may need to evict the block
  3294. file from the cache anyway. This value controls how long the DataNode will
  3295. wait for the client to release a replica that it is reading without
  3296. checksums.
  3297. </description>
  3298. </property>
  3299. <property>
  3300. <name>dfs.datanode.cache.revocation.polling.ms</name>
  3301. <value>500</value>
  3302. <description>How often the DataNode should poll to see if the clients have
  3303. stopped using a replica that the DataNode wants to uncache.
  3304. </description>
  3305. </property>
  3306. <property>
  3307. <name>dfs.storage.policy.enabled</name>
  3308. <value>true</value>
  3309. <description>
  3310. Allow users to change the storage policy on files and directories.
  3311. </description>
  3312. </property>
  3313. <property>
  3314. <name>dfs.storage.policy.permissions.superuser-only</name>
  3315. <value>false</value>
  3316. <description>
  3317. Allow only superuser role to change the storage policy on files and
  3318. directories.
  3319. </description>
  3320. </property>
  3321. <property>
  3322. <name>dfs.namenode.legacy-oiv-image.dir</name>
  3323. <value></value>
  3324. <description>Determines where to save the namespace in the old fsimage format
  3325. during checkpointing by standby NameNode or SecondaryNameNode. Users can
  3326. dump the contents of the old format fsimage by oiv_legacy command. If
  3327. the value is not specified, old format fsimage will not be saved in
  3328. checkpoint.
  3329. </description>
  3330. </property>
  3331. <property>
  3332. <name>dfs.namenode.top.enabled</name>
  3333. <value>true</value>
  3334. <description>Enable nntop: reporting top users on namenode
  3335. </description>
  3336. </property>
  3337. <property>
  3338. <name>dfs.namenode.top.window.num.buckets</name>
  3339. <value>10</value>
  3340. <description>Number of buckets in the rolling window implementation of nntop
  3341. </description>
  3342. </property>
  3343. <property>
  3344. <name>dfs.namenode.top.num.users</name>
  3345. <value>10</value>
  3346. <description>Number of top users returned by the top tool
  3347. </description>
  3348. </property>
  3349. <property>
  3350. <name>dfs.namenode.top.windows.minutes</name>
  3351. <value>1,5,25</value>
  3352. <description>comma separated list of nntop reporting periods in minutes
  3353. </description>
  3354. </property>
  3355. <property>
  3356. <name>dfs.webhdfs.ugi.expire.after.access</name>
  3357. <value>600000</value>
  3358. <description>How long in milliseconds after the last access
  3359. the cached UGI will expire. With 0, never expire.
  3360. </description>
  3361. </property>
  3362. <property>
  3363. <name>dfs.namenode.blocks.per.postponedblocks.rescan</name>
  3364. <value>10000</value>
  3365. <description>Number of blocks to rescan for each iteration of
  3366. postponedMisreplicatedBlocks.
  3367. </description>
  3368. </property>
  3369. <property>
  3370. <name>dfs.datanode.block-pinning.enabled</name>
  3371. <value>false</value>
  3372. <description>Whether pin blocks on favored DataNode.</description>
  3373. </property>
  3374. <property>
  3375. <name>dfs.client.block.write.locateFollowingBlock.initial.delay.ms</name>
  3376. <value>400</value>
  3377. <description>The initial delay (unit is ms) for locateFollowingBlock,
  3378. the delay time will increase exponentially(double) for each retry
  3379. until dfs.client.block.write.locateFollowingBlock.max.delay.ms is reached,
  3380. after that the delay for each retry will be
  3381. dfs.client.block.write.locateFollowingBlock.max.delay.ms.
  3382. </description>
  3383. </property>
  3384. <property>
  3385. <name>dfs.client.block.write.locateFollowingBlock.max.delay.ms</name>
  3386. <value>60000</value>
  3387. <description>
  3388. The maximum delay (unit is ms) before retrying locateFollowingBlock.
  3389. </description>
  3390. </property>
  3391. <property>
  3392. <name>dfs.ha.zkfc.nn.http.timeout.ms</name>
  3393. <value>20000</value>
  3394. <description>
  3395. The HTTP connection and read timeout value (unit is ms ) when DFS ZKFC
  3396. tries to get local NN thread dump after local NN becomes
  3397. SERVICE_NOT_RESPONDING or SERVICE_UNHEALTHY.
  3398. If it is set to zero, DFS ZKFC won't get local NN thread dump.
  3399. </description>
  3400. </property>
  3401. <property>
  3402. <name>dfs.ha.zkfc.client.ssl.enabled</name>
  3403. <value>false</value>
  3404. <description>
  3405. Enable SSL/TLS encryption for the ZooKeeper communication from ZKFC.
  3406. Note: if hadoop.zk.ssl.enabled is set to a value, then that central setting has precedence,
  3407. and this value will be overridden by the value of hadoop.zk.ssl.enabled.
  3408. </description>
  3409. </property>
  3410. <property>
  3411. <name>dfs.ha.nn.not-become-active-in-safemode</name>
  3412. <value>false</value>
  3413. <description>
  3414. This will prevent safe mode namenodes to become active or observer while other standby
  3415. namenodes might be ready to serve requests when it is set to true.
  3416. </description>
  3417. </property>
  3418. <property>
  3419. <name>dfs.ha.tail-edits.in-progress</name>
  3420. <value>false</value>
  3421. <description>
  3422. Whether enable standby namenode to tail in-progress edit logs.
  3423. Clients might want to turn it on when they want Standby NN to have
  3424. more up-to-date data. When using the QuorumJournalManager, this enables
  3425. tailing of edit logs via the RPC-based mechanism, rather than streaming,
  3426. which allows for much fresher data.
  3427. </description>
  3428. </property>
  3429. <property>
  3430. <name>dfs.namenode.state.context.enabled</name>
  3431. <value>false</value>
  3432. <description>
  3433. Whether enable namenode sending back its current txnid back to client.
  3434. Setting this to true is required by Consistent Read from Standby feature.
  3435. But for regular cases, this should be set to false to avoid the overhead
  3436. of updating and maintaining this state.
  3437. </description>
  3438. </property>
  3439. <property>
  3440. <name>dfs.namenode.ec.system.default.policy</name>
  3441. <value>RS-6-3-1024k</value>
  3442. <description>The default erasure coding policy name will be used
  3443. on the path if no policy name is passed.
  3444. </description>
  3445. </property>
  3446. <property>
  3447. <name>dfs.namenode.ec.policies.max.cellsize</name>
  3448. <value>4194304</value>
  3449. <description>The maximum cell size of erasure coding policy. Default is 4MB.
  3450. </description>
  3451. </property>
  3452. <property>
  3453. <name>dfs.namenode.ec.userdefined.policy.allowed</name>
  3454. <value>true</value>
  3455. <description>If set to false, doesn't allow addition of user defined
  3456. erasure coding policies.
  3457. </description>
  3458. </property>
  3459. <property>
  3460. <name>dfs.datanode.ec.reconstruction.stripedread.timeout.millis</name>
  3461. <value>5000</value>
  3462. <description>Datanode striped read timeout in milliseconds.
  3463. </description>
  3464. </property>
  3465. <property>
  3466. <name>dfs.datanode.ec.reconstruction.stripedread.buffer.size</name>
  3467. <value>65536</value>
  3468. <description>Datanode striped read buffer size.
  3469. </description>
  3470. </property>
  3471. <property>
  3472. <name>dfs.datanode.ec.reconstruction.threads</name>
  3473. <value>8</value>
  3474. <description>
  3475. Number of threads used by the Datanode for background
  3476. reconstruction work.
  3477. </description>
  3478. </property>
  3479. <property>
  3480. <name>dfs.datanode.ec.reconstruction.xmits.weight</name>
  3481. <value>0.5</value>
  3482. <description>
  3483. Datanode uses xmits weight to calculate the relative cost of EC recovery
  3484. tasks comparing to replicated block recovery, of which xmits is always 1.
  3485. Namenode then uses xmits reported from datanode to throttle recovery tasks
  3486. for EC and replicated blocks.
  3487. The xmits of an erasure coding recovery task is calculated as the maximum
  3488. value between the number of read streams and the number of write streams.
  3489. </description>
  3490. </property>
  3491. <property>
  3492. <name>dfs.datanode.ec.reconstruction.validation</name>
  3493. <value>false</value>
  3494. <description>
  3495. Decide if datanode validates that EC reconstruction tasks reconstruct
  3496. target blocks correctly. When validation fails, reconstruction tasks
  3497. will fail and be retried by namenode.
  3498. </description>
  3499. </property>
  3500. <property>
  3501. <name>dfs.namenode.quota.init-threads</name>
  3502. <value>12</value>
  3503. <description>
  3504. The number of concurrent threads to be used in quota initialization. The
  3505. speed of quota initialization also affects the namenode fail-over latency.
  3506. If the size of name space is big, try increasing this to 16 or higher.
  3507. </description>
  3508. </property>
  3509. <property>
  3510. <name>dfs.datanode.transfer.socket.send.buffer.size</name>
  3511. <value>0</value>
  3512. <description>
  3513. Socket send buffer size for DataXceiver (mirroring packets to downstream
  3514. in pipeline). This may affect TCP connection throughput.
  3515. If it is set to zero or negative value, no buffer size will be set
  3516. explicitly, thus enable tcp auto-tuning on some system.
  3517. The default value is 0.
  3518. </description>
  3519. </property>
  3520. <property>
  3521. <name>dfs.datanode.transfer.socket.recv.buffer.size</name>
  3522. <value>0</value>
  3523. <description>
  3524. Socket receive buffer size for DataXceiver (receiving packets from client
  3525. during block writing). This may affect TCP connection throughput.
  3526. If it is set to zero or negative value, no buffer size will be set
  3527. explicitly, thus enable tcp auto-tuning on some system.
  3528. The default value is 0.
  3529. </description>
  3530. </property>
  3531. <property>
  3532. <name>dfs.namenode.upgrade.domain.factor</name>
  3533. <value>${dfs.replication}</value>
  3534. <description>
  3535. This is valid only when block placement policy is set to
  3536. BlockPlacementPolicyWithUpgradeDomain. It defines the number of
  3537. unique upgrade domains any block's replicas should have.
  3538. When the number of replicas is less or equal to this value, the policy
  3539. ensures each replica has an unique upgrade domain. When the number of
  3540. replicas is greater than this value, the policy ensures the number of
  3541. unique domains is at least this value.
  3542. </description>
  3543. </property>
  3544. <property>
  3545. <name>dfs.namenode.lock.model.provider.class</name>
  3546. <value>org.apache.hadoop.hdfs.server.namenode.fgl.GlobalFSNamesystemLock</value>
  3547. <description>
  3548. An implementation class of FSNamesystem lock.
  3549. Defaults to GlobalFSNamesystemLock.class
  3550. </description>
  3551. </property>
  3552. <property>
  3553. <name>dfs.datanode.bp-ready.timeout</name>
  3554. <value>20</value>
  3555. <description>
  3556. The maximum wait time for datanode to be ready before failing the
  3557. received request. Setting this to 0 fails requests right away if the
  3558. datanode is not yet registered with the namenode. This wait time
  3559. reduces initial request failures after datanode restart.
  3560. Support multiple time unit suffix(case insensitive), as described
  3561. in dfs.heartbeat.interval.If no time unit is specified then seconds
  3562. is assumed.
  3563. </description>
  3564. </property>
  3565. <property>
  3566. <name>dfs.datanode.cached-dfsused.check.interval.ms</name>
  3567. <value>600000</value>
  3568. <description>
  3569. The interval check time of loading DU_CACHE_FILE in each volume.
  3570. When the cluster doing the rolling upgrade operations, it will
  3571. usually lead dfsUsed cache file of each volume expired and redo the
  3572. du operations in datanode and that makes datanode start slowly. Adjust
  3573. this property can make cache file be available for the time as you want.
  3574. </description>
  3575. </property>
  3576. <property>
  3577. <name>dfs.webhdfs.rest-csrf.enabled</name>
  3578. <value>false</value>
  3579. <description>
  3580. If true, then enables WebHDFS protection against cross-site request forgery
  3581. (CSRF). The WebHDFS client also uses this property to determine whether or
  3582. not it needs to send the custom CSRF prevention header in its HTTP requests.
  3583. </description>
  3584. </property>
  3585. <property>
  3586. <name>dfs.webhdfs.rest-csrf.custom-header</name>
  3587. <value>X-XSRF-HEADER</value>
  3588. <description>
  3589. The name of a custom header that HTTP requests must send when protection
  3590. against cross-site request forgery (CSRF) is enabled for WebHDFS by setting
  3591. dfs.webhdfs.rest-csrf.enabled to true. The WebHDFS client also uses this
  3592. property to determine whether or not it needs to send the custom CSRF
  3593. prevention header in its HTTP requests.
  3594. </description>
  3595. </property>
  3596. <property>
  3597. <name>dfs.webhdfs.rest-csrf.methods-to-ignore</name>
  3598. <value>GET,OPTIONS,HEAD,TRACE</value>
  3599. <description>
  3600. A comma-separated list of HTTP methods that do not require HTTP requests to
  3601. include a custom header when protection against cross-site request forgery
  3602. (CSRF) is enabled for WebHDFS by setting dfs.webhdfs.rest-csrf.enabled to
  3603. true. The WebHDFS client also uses this property to determine whether or
  3604. not it needs to send the custom CSRF prevention header in its HTTP requests.
  3605. </description>
  3606. </property>
  3607. <property>
  3608. <name>dfs.webhdfs.rest-csrf.browser-useragents-regex</name>
  3609. <value>^Mozilla.*,^Opera.*</value>
  3610. <description>
  3611. A comma-separated list of regular expressions used to match against an HTTP
  3612. request's User-Agent header when protection against cross-site request
  3613. forgery (CSRF) is enabled for WebHDFS by setting
  3614. dfs.webhdfs.reset-csrf.enabled to true. If the incoming User-Agent matches
  3615. any of these regular expressions, then the request is considered to be sent
  3616. by a browser, and therefore CSRF prevention is enforced. If the request's
  3617. User-Agent does not match any of these regular expressions, then the request
  3618. is considered to be sent by something other than a browser, such as scripted
  3619. automation. In this case, CSRF is not a potential attack vector, so
  3620. the prevention is not enforced. This helps achieve backwards-compatibility
  3621. with existing automation that has not been updated to send the CSRF
  3622. prevention header.
  3623. </description>
  3624. </property>
  3625. <property>
  3626. <name>dfs.xframe.enabled</name>
  3627. <value>true</value>
  3628. <description>
  3629. If true, then enables protection against clickjacking by returning
  3630. X_FRAME_OPTIONS header value set to SAMEORIGIN.
  3631. Clickjacking protection prevents an attacker from using transparent or
  3632. opaque layers to trick a user into clicking on a button
  3633. or link on another page.
  3634. </description>
  3635. </property>
  3636. <property>
  3637. <name>dfs.xframe.value</name>
  3638. <value>SAMEORIGIN</value>
  3639. <description>
  3640. This configration value allows user to specify the value for the
  3641. X-FRAME-OPTIONS. The possible values for this field are
  3642. DENY, SAMEORIGIN and ALLOW-FROM. Any other value will throw an
  3643. exception when namenode and datanodes are starting up.
  3644. </description>
  3645. </property>
  3646. <property>
  3647. <name>dfs.balancer.keytab.enabled</name>
  3648. <value>false</value>
  3649. <description>
  3650. Set to true to enable login using a keytab for Kerberized Hadoop.
  3651. </description>
  3652. </property>
  3653. <property>
  3654. <name>dfs.balancer.address</name>
  3655. <value>0.0.0.0:0</value>
  3656. <description>
  3657. The hostname used for a keytab based Kerberos login. Keytab based login
  3658. can be enabled with dfs.balancer.keytab.enabled.
  3659. </description>
  3660. </property>
  3661. <property>
  3662. <name>dfs.balancer.keytab.file</name>
  3663. <value></value>
  3664. <description>
  3665. The keytab file used by the Balancer to login as its
  3666. service principal. The principal name is configured with
  3667. dfs.balancer.kerberos.principal. Keytab based login can be
  3668. enabled with dfs.balancer.keytab.enabled.
  3669. </description>
  3670. </property>
  3671. <property>
  3672. <name>dfs.balancer.kerberos.principal</name>
  3673. <value></value>
  3674. <description>
  3675. The Balancer principal. This is typically set to
  3676. balancer/_HOST@REALM.TLD. The Balancer will substitute _HOST with its
  3677. own fully qualified hostname at startup. The _HOST placeholder
  3678. allows using the same configuration setting on different servers.
  3679. Keytab based login can be enabled with dfs.balancer.keytab.enabled.
  3680. </description>
  3681. </property>
  3682. <property>
  3683. <name>dfs.balancer.kerberos.internal.spnego.principal</name>
  3684. <value></value>
  3685. <description>
  3686. Kerberos SPNEGO principal name used by the balancer.
  3687. </description>
  3688. </property>
  3689. <property>
  3690. <name>dfs.balancer.httpserver.enabled</name>
  3691. <value>false</value>
  3692. <description>
  3693. If true, balancer will start httpserver.
  3694. </description>
  3695. </property>
  3696. <property>
  3697. <name>dfs.balancer.http-address</name>
  3698. <value>0.0.0.0:8590</value>
  3699. <description>
  3700. The balancer http server address and port.
  3701. </description>
  3702. </property>
  3703. <property>
  3704. <name>dfs.balancer.http-bind-host</name>
  3705. <value></value>
  3706. <description>
  3707. The actual address the HTTP server will bind to. If this optional address
  3708. is set, it overrides only the hostname portion of
  3709. dfs.balancer.http-address. This is useful for making the Balancer
  3710. HTTP server listen on all interfaces by setting it to 0.0.0.0.
  3711. </description>
  3712. </property>
  3713. <property>
  3714. <name>dfs.balancer.https-address</name>
  3715. <value>0.0.0.0:8591</value>
  3716. <description>
  3717. The balancer HTTPS server address and port.
  3718. </description>
  3719. </property>
  3720. <property>
  3721. <name>dfs.balancer.https-bind-host</name>
  3722. <value></value>
  3723. <description>
  3724. The actual address the HTTP server will bind to. If this optional address
  3725. is set, it overrides only the hostname portion of
  3726. dfs.balancer.https-address. This is useful for making the Balancer
  3727. HTTP server listen on all interfaces by setting it to 0.0.0.0.
  3728. </description>
  3729. </property>
  3730. <property>
  3731. <name>dfs.http.client.retry.policy.enabled</name>
  3732. <value>false</value>
  3733. <description>
  3734. If "true", enable the retry policy of WebHDFS client.
  3735. If "false", retry policy is turned off.
  3736. Enabling the retry policy can be quite useful while using WebHDFS to
  3737. copy large files between clusters that could timeout, or
  3738. copy files between HA clusters that could failover during the copy.
  3739. </description>
  3740. </property>
  3741. <property>
  3742. <name>dfs.http.client.retry.policy.spec</name>
  3743. <value>10000,6,60000,10</value>
  3744. <description>
  3745. Specify a policy of multiple linear random retry for WebHDFS client,
  3746. e.g. given pairs of sleep time and number of retries (t0, n0), (t1, n1),
  3747. ..., the first n0 retries sleep t0 milliseconds on average,
  3748. the following n1 retries sleep t1 milliseconds on average, and so on.
  3749. </description>
  3750. </property>
  3751. <property>
  3752. <name>dfs.http.client.failover.max.attempts</name>
  3753. <value>15</value>
  3754. <description>
  3755. Specify the max number of failover attempts for WebHDFS client
  3756. in case of network exception.
  3757. </description>
  3758. </property>
  3759. <property>
  3760. <name>dfs.http.client.retry.max.attempts</name>
  3761. <value>10</value>
  3762. <description>
  3763. Specify the max number of retry attempts for WebHDFS client,
  3764. if the difference between retried attempts and failovered attempts is
  3765. larger than the max number of retry attempts, there will be no more
  3766. retries.
  3767. </description>
  3768. </property>
  3769. <property>
  3770. <name>dfs.http.client.failover.sleep.base.millis</name>
  3771. <value>500</value>
  3772. <description>
  3773. Specify the base amount of time in milliseconds upon which the
  3774. exponentially increased sleep time between retries or failovers
  3775. is calculated for WebHDFS client.
  3776. </description>
  3777. </property>
  3778. <property>
  3779. <name>dfs.http.client.failover.sleep.max.millis</name>
  3780. <value>15000</value>
  3781. <description>
  3782. Specify the upper bound of sleep time in milliseconds between
  3783. retries or failovers for WebHDFS client.
  3784. </description>
  3785. </property>
  3786. <property>
  3787. <name>dfs.namenode.hosts.provider.classname</name>
  3788. <value>org.apache.hadoop.hdfs.server.blockmanagement.HostFileManager</value>
  3789. <description>
  3790. The class that provides access for host files.
  3791. org.apache.hadoop.hdfs.server.blockmanagement.HostFileManager is used
  3792. by default which loads files specified by dfs.hosts and dfs.hosts.exclude.
  3793. If org.apache.hadoop.hdfs.server.blockmanagement.CombinedHostFileManager is
  3794. used, it will load the JSON file defined in dfs.hosts.
  3795. To change class name, nn restart is required. "dfsadmin -refreshNodes" only
  3796. refreshes the configuration files used by the class.
  3797. </description>
  3798. </property>
  3799. <property>
  3800. <name>datanode.https.port</name>
  3801. <value>50475</value>
  3802. <description>
  3803. HTTPS port for DataNode.
  3804. </description>
  3805. </property>
  3806. <property>
  3807. <name>dfs.namenode.get-blocks.max-qps</name>
  3808. <value>20</value>
  3809. <description>
  3810. The maximum number of getBlocks RPCs data movement utilities can make to
  3811. a NameNode per second. Values less than or equal to 0 disable throttling.
  3812. This affects anything that uses a NameNodeConnector, i.e., the Balancer,
  3813. Mover, and StoragePolicySatisfier.
  3814. </description>
  3815. </property>
  3816. <property>
  3817. <name>dfs.namenode.get-blocks.check.operation</name>
  3818. <value>true</value>
  3819. <description>
  3820. Set false to disable checkOperation and getBlocks for Balancer
  3821. will route to Standby NameNode for HA mode setup.
  3822. </description>
  3823. </property>
  3824. <property>
  3825. <name>dfs.balancer.dispatcherThreads</name>
  3826. <value>200</value>
  3827. <description>
  3828. Size of the thread pool for the HDFS balancer block mover.
  3829. dispatchExecutor
  3830. </description>
  3831. </property>
  3832. <property>
  3833. <name>dfs.balancer.movedWinWidth</name>
  3834. <value>5400000</value>
  3835. <description>
  3836. Window of time in ms for the HDFS balancer tracking blocks and its
  3837. locations.
  3838. </description>
  3839. </property>
  3840. <property>
  3841. <name>dfs.balancer.moverThreads</name>
  3842. <value>1000</value>
  3843. <description>
  3844. Thread pool size for executing block moves.
  3845. moverThreadAllocator
  3846. </description>
  3847. </property>
  3848. <property>
  3849. <name>dfs.balancer.max-size-to-move</name>
  3850. <value>10737418240</value>
  3851. <description>
  3852. Maximum number of bytes that can be moved by the balancer in a single
  3853. thread.
  3854. </description>
  3855. </property>
  3856. <property>
  3857. <name>dfs.balancer.getBlocks.min-block-size</name>
  3858. <value>10485760</value>
  3859. <description>
  3860. Minimum block threshold size in bytes to ignore when fetching a source's
  3861. block list.
  3862. </description>
  3863. </property>
  3864. <property>
  3865. <name>dfs.balancer.getBlocks.size</name>
  3866. <value>2147483648</value>
  3867. <description>
  3868. Total size in bytes of Datanode blocks to get when fetching a source's
  3869. block list.
  3870. </description>
  3871. </property>
  3872. <property>
  3873. <name>dfs.balancer.block-move.timeout</name>
  3874. <value>0</value>
  3875. <description>
  3876. Maximum amount of time in milliseconds for a block to move. If this is set
  3877. greater than 0, Balancer will stop waiting for a block move completion
  3878. after this time. In typical clusters, a 3 to 5 minute timeout is reasonable.
  3879. If timeout happens to a large proportion of block moves, this needs to be
  3880. increased. It could also be that too much work is dispatched and many nodes
  3881. are constantly exceeding the bandwidth limit as a result. In that case,
  3882. other balancer parameters might need to be adjusted.
  3883. It is disabled (0) by default.
  3884. </description>
  3885. </property>
  3886. <property>
  3887. <name>dfs.balancer.max-no-move-interval</name>
  3888. <value>60000</value>
  3889. <description>
  3890. If this specified amount of time has elapsed and no block has been moved
  3891. out of a source DataNode, on more effort will be made to move blocks out of
  3892. this DataNode in the current Balancer iteration.
  3893. </description>
  3894. </property>
  3895. <property>
  3896. <name>dfs.balancer.max-iteration-time</name>
  3897. <value>1200000</value>
  3898. <description>
  3899. Maximum amount of time while an iteration can be run by the Balancer. After
  3900. this time the Balancer will stop the iteration, and reevaluate the work
  3901. needs to be done to Balance the cluster. The default value is 20 minutes.
  3902. </description>
  3903. </property>
  3904. <property>
  3905. <name>dfs.block.invalidate.limit</name>
  3906. <value>1000</value>
  3907. <description>
  3908. The maximum number of invalidate blocks sent by namenode to a datanode
  3909. per heartbeat deletion command. This property works with
  3910. "dfs.namenode.invalidate.work.pct.per.iteration" to throttle block
  3911. deletions.
  3912. </description>
  3913. </property>
  3914. <property>
  3915. <name>dfs.balancer.service.interval</name>
  3916. <value>5m</value>
  3917. <description>
  3918. The schedule interval of balancer when running as a long service.
  3919. </description>
  3920. </property>
  3921. <property>
  3922. <name>dfs.balancer.service.retries.on.exception</name>
  3923. <value>5</value>
  3924. <description>
  3925. When the balancer is executed as a long-running service, it will retry upon encountering an exception. This
  3926. configuration determines how many times it will retry before considering the exception to be fatal and quitting.
  3927. </description>
  3928. </property>
  3929. <property>
  3930. <name>dfs.block.misreplication.processing.limit</name>
  3931. <value>10000</value>
  3932. <description>
  3933. Maximum number of blocks to process for initializing replication queues.
  3934. </description>
  3935. </property>
  3936. <property>
  3937. <name>dfs.block.placement.ec.classname</name>
  3938. <value>org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyRackFaultTolerant</value>
  3939. <description>
  3940. Placement policy class for striped files.
  3941. Defaults to BlockPlacementPolicyRackFaultTolerant.class
  3942. </description>
  3943. </property>
  3944. <property>
  3945. <name>dfs.block.replicator.classname</name>
  3946. <value>org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault</value>
  3947. <description>
  3948. Class representing block placement policy for non-striped files.
  3949. There are six block placement policies currently being supported:
  3950. BlockPlacementPolicyDefault, BlockPlacementPolicyWithNodeGroup,
  3951. BlockPlacementPolicyRackFaultTolerant, BlockPlacementPolicyWithUpgradeDomain,
  3952. AvailableSpaceBlockPlacementPolicy and AvailableSpaceRackFaultTolerantBlockPlacementPolicy.
  3953. BlockPlacementPolicyDefault chooses the desired number of targets
  3954. for placing block replicas in a default way. BlockPlacementPolicyWithNodeGroup
  3955. places block replicas on environment with node-group layer. BlockPlacementPolicyRackFaultTolerant
  3956. places the replicas to more racks.
  3957. BlockPlacementPolicyWithUpgradeDomain places block replicas that honors upgrade domain policy.
  3958. AvailableSpaceBlockPlacementPolicy places block replicas based on space balanced policy.
  3959. AvailableSpaceRackFaultTolerantBlockPlacementPolicy places block replicas based on
  3960. space balanced rack fault tolerant policy.
  3961. The details of placing replicas are documented in the javadoc of the corresponding policy classes.
  3962. The default policy is BlockPlacementPolicyDefault, and the corresponding class is
  3963. org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault.
  3964. </description>
  3965. </property>
  3966. <property>
  3967. <name>dfs.blockreport.incremental.intervalMsec</name>
  3968. <value>0</value>
  3969. <description>
  3970. If set to a positive integer, the value in ms to wait between sending
  3971. incremental block reports from the Datanode to the Namenode.
  3972. </description>
  3973. </property>
  3974. <property>
  3975. <name>dfs.checksum.type</name>
  3976. <value>CRC32C</value>
  3977. <description>
  3978. Checksum type
  3979. </description>
  3980. </property>
  3981. <property>
  3982. <name>dfs.checksum.combine.mode</name>
  3983. <value>MD5MD5CRC</value>
  3984. <description>
  3985. Defines how lower-level chunk/block checksums are combined into file-level
  3986. checksums; the original MD5MD5CRC mode is not comparable between files
  3987. with different block layouts, while modes like COMPOSITE_CRC are
  3988. comparable independently of block layout.
  3989. </description>
  3990. </property>
  3991. <property>
  3992. <name>dfs.checksum.ec.socket-timeout</name>
  3993. <value>3000</value>
  3994. <description>
  3995. Default timeout value in milliseconds for computing the checksum of striped blocks.
  3996. Recommended to set the same value between client and DNs in a cluster because mismatching
  3997. may cause exhausting handler threads.
  3998. </description>
  3999. </property>
  4000. <property>
  4001. <name>dfs.client.block.write.locateFollowingBlock.retries</name>
  4002. <value>5</value>
  4003. <description>
  4004. Number of retries to use when finding the next block during HDFS writes.
  4005. </description>
  4006. </property>
  4007. <property>
  4008. <name>dfs.client.failover.proxy.provider</name>
  4009. <value></value>
  4010. <description>
  4011. The prefix (plus a required nameservice ID) for the class name of the configured
  4012. Failover proxy provider for the host. For normal HA mode, please consult
  4013. the "Configuration Details" section of the HDFS High Availability documentation.
  4014. For observer reading mode, please choose a custom class--ObserverReadProxyProvider.
  4015. </description>
  4016. </property>
  4017. <property>
  4018. <name>dfs.client.failover.random.order</name>
  4019. <value>true</value>
  4020. <description>
  4021. Determines if the failover proxies are picked in random order instead of the
  4022. configured order. Random order may be enabled for better load balancing
  4023. or to avoid always hitting failed ones first if the failed ones appear in the
  4024. beginning of the configured or resolved list.
  4025. For example, In the case of multiple RBF routers or ObserverNameNodes,
  4026. it is recommended to be turned on for load balancing.
  4027. The config name can be extended with an optional nameservice ID
  4028. (of form dfs.client.failover.random.order[.nameservice]) in case multiple
  4029. nameservices exist and random order should be enabled for specific
  4030. nameservices.
  4031. </description>
  4032. </property>
  4033. <property>
  4034. <name>dfs.client.failover.resolve-needed</name>
  4035. <value>false</value>
  4036. <description>
  4037. Determines if the given nameservice address is a domain name which needs to
  4038. be resolved (using the resolver configured by dfs.client.failover.resolver-impl).
  4039. This adds a transparency layer in the client so physical server address
  4040. can change without changing the client. The config name can be extended with
  4041. an optional nameservice ID (of form dfs.client.failover.resolve-needed[.nameservice])
  4042. to configure specific nameservices when multiple nameservices exist.
  4043. </description>
  4044. </property>
  4045. <property>
  4046. <name>dfs.client.failover.resolver.impl</name>
  4047. <value>org.apache.hadoop.net.DNSDomainNameResolver</value>
  4048. <description>
  4049. Determines what class to use to resolve nameservice name to specific machine
  4050. address(es). The config name can be extended with an optional nameservice ID
  4051. (of form dfs.client.failover.resolver.impl[.nameservice]) to configure
  4052. specific nameservices when multiple nameservices exist.
  4053. </description>
  4054. </property>
  4055. <property>
  4056. <name>dfs.client.failover.resolver.useFQDN</name>
  4057. <value>true</value>
  4058. <description>
  4059. Determines whether the resolved result is fully qualified domain name instead
  4060. of pure IP address(es). The config name can be extended with an optional
  4061. nameservice ID (of form dfs.client.failover.resolver.impl[.nameservice]) to
  4062. configure specific nameservices when multiple nameservices exist.
  4063. In secure environment, this has to be enabled since Kerberos is using fqdn
  4064. in machine's principal therefore accessing servers by IP won't be recognized
  4065. by the KDC.
  4066. </description>
  4067. </property>
  4068. <property>
  4069. <name>dfs.client.failover.lazy.resolved</name>
  4070. <value>false</value>
  4071. <description>
  4072. Used to enable lazy resolution of host->ip. If the value is true,
  4073. the host will only be resolved only before Dfsclient needs to request the host.
  4074. </description>
  4075. </property>
  4076. <property>
  4077. <name>dfs.client.key.provider.cache.expiry</name>
  4078. <value>864000000</value>
  4079. <description>
  4080. DFS client security key cache expiration in milliseconds.
  4081. </description>
  4082. </property>
  4083. <property>
  4084. <name>dfs.client.max.block.acquire.failures</name>
  4085. <value>3</value>
  4086. <description>
  4087. Maximum failures allowed when trying to get block information from a specific datanode.
  4088. </description>
  4089. </property>
  4090. <property>
  4091. <name>dfs.client.read.prefetch.size</name>
  4092. <value></value>
  4093. <description>
  4094. The number of bytes for the DFSClient will fetch from the Namenode
  4095. during a read operation. Defaults to 10 * ${dfs.blocksize}.
  4096. </description>
  4097. </property>
  4098. <property>
  4099. <name>dfs.client.read.uri.cache.enabled</name>
  4100. <value>false</value>
  4101. <description>
  4102. If true, dfs client will use cache when creating URI based on host:port
  4103. to reduce the frequency of URI object creation.
  4104. </description>
  4105. </property>
  4106. <property>
  4107. <name>dfs.client.read.short.circuit.replica.stale.threshold.ms</name>
  4108. <value>1800000</value>
  4109. <description>
  4110. Threshold in milliseconds for read entries during short-circuit local reads.
  4111. </description>
  4112. </property>
  4113. <property>
  4114. <name>dfs.client.read.shortcircuit.buffer.size</name>
  4115. <value>1048576</value>
  4116. <description>
  4117. Buffer size in bytes for short-circuit local reads.
  4118. </description>
  4119. </property>
  4120. <property>
  4121. <name>dfs.client.short.circuit.num</name>
  4122. <value>1</value>
  4123. <description>
  4124. Number of short-circuit caches. This setting should
  4125. be in the range 1 - 5. Lower values will result in lower CPU consumption; higher
  4126. values may speed up massive parallel reading files.
  4127. </description>
  4128. </property>
  4129. <property>
  4130. <name>dfs.client.read.striped.threadpool.size</name>
  4131. <value>18</value>
  4132. <description>
  4133. The maximum number of threads used for parallel reading
  4134. in striped layout.
  4135. </description>
  4136. </property>
  4137. <property>
  4138. <name>dfs.client.replica.accessor.builder.classes</name>
  4139. <value></value>
  4140. <description>
  4141. Comma-separated classes for building ReplicaAccessor. If the classes
  4142. are specified, client will use external BlockReader that uses the
  4143. ReplicaAccessor built by the builder.
  4144. </description>
  4145. </property>
  4146. <property>
  4147. <name>dfs.client.retry.interval-ms.get-last-block-length</name>
  4148. <value>4000</value>
  4149. <description>
  4150. Retry interval in milliseconds to wait between retries in getting
  4151. block lengths from the datanodes.
  4152. </description>
  4153. </property>
  4154. <property>
  4155. <name>dfs.client.retry.max.attempts</name>
  4156. <value>10</value>
  4157. <description>
  4158. Max retry attempts for DFSClient talking to namenodes.
  4159. </description>
  4160. </property>
  4161. <property>
  4162. <name>dfs.client.retry.policy.enabled</name>
  4163. <value>false</value>
  4164. <description>
  4165. If true, turns on DFSClient retry policy.
  4166. </description>
  4167. </property>
  4168. <property>
  4169. <name>dfs.client.retry.policy.spec</name>
  4170. <value>10000,6,60000,10</value>
  4171. <description>
  4172. Specify a policy of multiple linear random retry for the DFS client,
  4173. e.g. given pairs of sleep time and number of retries (t0, n0), (t1, n1),
  4174. ..., the first n0 retries sleep t0 milliseconds on average,
  4175. the following n1 retries sleep t1 milliseconds on average, and so on.
  4176. </description>
  4177. </property>
  4178. <property>
  4179. <name>dfs.client.retry.times.get-last-block-length</name>
  4180. <value>3</value>
  4181. <description>
  4182. Number of retries for calls to fetchLocatedBlocksAndGetLastBlockLength().
  4183. </description>
  4184. </property>
  4185. <property>
  4186. <name>dfs.client.retry.window.base</name>
  4187. <value>3000</value>
  4188. <description>
  4189. Base time window in ms for DFSClient retries. For each retry attempt,
  4190. this value is extended linearly (e.g. 3000 ms for first attempt and
  4191. first retry, 6000 ms for second retry, 9000 ms for third retry, etc.).
  4192. </description>
  4193. </property>
  4194. <property>
  4195. <name>dfs.client.pipeline.recovery.max-retries</name>
  4196. <value>5</value>
  4197. <description>
  4198. if the DFS client encounters errors in write pipeline,
  4199. retry up to the number defined by this property before giving up.
  4200. </description>
  4201. </property>
  4202. <property>
  4203. <name>dfs.client.socket-timeout</name>
  4204. <value>60000</value>
  4205. <description>
  4206. Default timeout value in milliseconds for all sockets.
  4207. </description>
  4208. </property>
  4209. <property>
  4210. <name>dfs.client.socketcache.capacity</name>
  4211. <value>16</value>
  4212. <description>
  4213. Socket cache capacity (in entries) for short-circuit reads.
  4214. If this value is set to 0, the client socket cache is disabled.
  4215. </description>
  4216. </property>
  4217. <property>
  4218. <name>dfs.client.socketcache.expiryMsec</name>
  4219. <value>3000</value>
  4220. <description>
  4221. Socket cache expiration for short-circuit reads in msec.
  4222. </description>
  4223. </property>
  4224. <property>
  4225. <name>dfs.client.test.drop.namenode.response.number</name>
  4226. <value>0</value>
  4227. <description>
  4228. The number of Namenode responses dropped by DFSClient for each RPC call. Used
  4229. for testing the NN retry cache.
  4230. </description>
  4231. </property>
  4232. <property>
  4233. <name>dfs.client.hedged.read.threadpool.size</name>
  4234. <value>0</value>
  4235. <description>
  4236. Support 'hedged' reads in DFSClient. To enable this feature, set the parameter
  4237. to a positive number. The threadpool size is how many threads to dedicate
  4238. to the running of these 'hedged', concurrent reads in your client.
  4239. </description>
  4240. </property>
  4241. <property>
  4242. <name>dfs.client.hedged.read.threshold.millis</name>
  4243. <value>500</value>
  4244. <description>
  4245. Configure 'hedged' reads in DFSClient. This is the number of milliseconds
  4246. to wait before starting up a 'hedged' read.
  4247. </description>
  4248. </property>
  4249. <property>
  4250. <name>dfs.client.write.byte-array-manager.count-limit</name>
  4251. <value>2048</value>
  4252. <description>
  4253. The maximum number of arrays allowed for each array length.
  4254. </description>
  4255. </property>
  4256. <property>
  4257. <name>dfs.client.write.byte-array-manager.count-reset-time-period-ms</name>
  4258. <value>10000</value>
  4259. <description>
  4260. The time period in milliseconds that the allocation count for each array length is
  4261. reset to zero if there is no increment.
  4262. </description>
  4263. </property>
  4264. <property>
  4265. <name>dfs.client.write.byte-array-manager.count-threshold</name>
  4266. <value>128</value>
  4267. <description>
  4268. The count threshold for each array length so that a manager is created only after the
  4269. allocation count exceeds the threshold. In other words, the particular array length
  4270. is not managed until the allocation count exceeds the threshold.
  4271. </description>
  4272. </property>
  4273. <property>
  4274. <name>dfs.client.write.byte-array-manager.enabled</name>
  4275. <value>false</value>
  4276. <description>
  4277. If true, enables byte array manager used by DFSOutputStream.
  4278. </description>
  4279. </property>
  4280. <property>
  4281. <name>dfs.client.write.max-packets-in-flight</name>
  4282. <value>80</value>
  4283. <description>
  4284. The maximum number of DFSPackets allowed in flight.
  4285. </description>
  4286. </property>
  4287. <property>
  4288. <name>dfs.client.block.reader.remote.buffer.size</name>
  4289. <value>512</value>
  4290. <description>
  4291. The output stream buffer size of a DFSClient remote read. The buffer default value is 512B. The buffer includes
  4292. only some request parameters that are: block, blockToken, clientName, startOffset, len, verifyChecksum,
  4293. cachingStrategy.
  4294. </description>
  4295. </property>
  4296. <property>
  4297. <name>dfs.content-summary.limit</name>
  4298. <value>5000</value>
  4299. <description>
  4300. The maximum content summary counts allowed in one locking period. 0 or a negative number
  4301. means no limit (i.e. no yielding).
  4302. </description>
  4303. </property>
  4304. <property>
  4305. <name>dfs.content-summary.sleep-microsec</name>
  4306. <value>500</value>
  4307. <description>
  4308. The length of time in microseconds to put the thread to sleep, between reaquiring the locks
  4309. in content summary computation.
  4310. </description>
  4311. </property>
  4312. <property>
  4313. <name>dfs.data.transfer.client.tcpnodelay</name>
  4314. <value>true</value>
  4315. <description>
  4316. If true, set TCP_NODELAY to sockets for transferring data from DFS client.
  4317. </description>
  4318. </property>
  4319. <property>
  4320. <name>dfs.data.transfer.server.tcpnodelay</name>
  4321. <value>true</value>
  4322. <description>
  4323. If true, set TCP_NODELAY to sockets for transferring data between Datanodes.
  4324. </description>
  4325. </property>
  4326. <property>
  4327. <name>dfs.data.transfer.max.packet.size</name>
  4328. <value>16777216</value>
  4329. <description>
  4330. The max size of any single packet.
  4331. </description>
  4332. </property>
  4333. <property>
  4334. <name>dfs.datanode.balance.max.concurrent.moves</name>
  4335. <value>100</value>
  4336. <description>
  4337. Maximum number of threads for Datanode balancer pending moves. This
  4338. value is reconfigurable via the "dfsadmin -reconfig" command.
  4339. </description>
  4340. </property>
  4341. <property>
  4342. <name>dfs.datanode.data.transfer.bandwidthPerSec</name>
  4343. <value>0</value>
  4344. <description>
  4345. Specifies the maximum amount of bandwidth that the data transfering can utilize for transfering block when
  4346. BlockConstructionStage is
  4347. PIPELINE_SETUP_CREATE and clientName is empty.
  4348. When the bandwidth value is zero, there is no limit.
  4349. </description>
  4350. </property>
  4351. <property>
  4352. <name>dfs.datanode.data.write.bandwidthPerSec</name>
  4353. <value>0</value>
  4354. <description>
  4355. Specifies the maximum amount of bandwidth that the data transfering can utilize for writing block or pipeline
  4356. recovery when
  4357. BlockConstructionStage is PIPELINE_SETUP_APPEND_RECOVERY or PIPELINE_SETUP_STREAMING_RECOVERY.
  4358. When the bandwidth value is zero, there is no limit.
  4359. </description>
  4360. </property>
  4361. <property>
  4362. <name>dfs.datanode.data.read.bandwidthPerSec</name>
  4363. <value>0</value>
  4364. <description>
  4365. Specifies the maximum amount of bandwidth that can utilize for reading block.
  4366. When the bandwidth value is zero, there is no limit.
  4367. </description>
  4368. </property>
  4369. <property>
  4370. <name>dfs.datanode.ec.reconstruct.read.bandwidthPerSec</name>
  4371. <value>0</value>
  4372. <description>
  4373. Specifies the maximum amount of bandwidth that the EC reconstruction can utilize for reading.
  4374. When the bandwidth value is zero, there is no limit.
  4375. </description>
  4376. </property>
  4377. <property>
  4378. <name>dfs.datanode.ec.reconstruct.write.bandwidthPerSec</name>
  4379. <value>0</value>
  4380. <description>
  4381. Specifies the maximum amount of bandwidth that the EC reconstruction can utilize for writing.
  4382. When the bandwidth value is zero, there is no limit.
  4383. </description>
  4384. </property>
  4385. <property>
  4386. <name>dfs.datanode.fsdataset.factory</name>
  4387. <value></value>
  4388. <description>
  4389. The class name for the underlying storage that stores replicas for a
  4390. Datanode. Defaults to
  4391. org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetFactory.
  4392. </description>
  4393. </property>
  4394. <property>
  4395. <name>dfs.datanode.fsdataset.volume.choosing.policy</name>
  4396. <value></value>
  4397. <description>
  4398. The class name of the policy for choosing volumes in the list of
  4399. directories. Defaults to
  4400. org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy.
  4401. If you would like to take into account available disk space, set the
  4402. value to
  4403. "org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy".
  4404. </description>
  4405. </property>
  4406. <property>
  4407. <name>dfs.datanode.hostname</name>
  4408. <value></value>
  4409. <description>
  4410. Optional. The hostname for the Datanode containing this
  4411. configuration file. Will be different for each machine.
  4412. Defaults to current hostname.
  4413. </description>
  4414. </property>
  4415. <property>
  4416. <name>dfs.datanode.lazywriter.interval.sec</name>
  4417. <value>60</value>
  4418. <description>
  4419. Interval in seconds for Datanodes for lazy persist writes.
  4420. </description>
  4421. </property>
  4422. <property>
  4423. <name>dfs.datanode.network.counts.cache.max.size</name>
  4424. <value>2147483647</value>
  4425. <description>
  4426. The maximum number of entries the datanode per-host network error
  4427. count cache may contain.
  4428. </description>
  4429. </property>
  4430. <property>
  4431. <name>dfs.datanode.oob.timeout-ms</name>
  4432. <value>1500,0,0,0</value>
  4433. <description>
  4434. Timeout value when sending OOB response for each OOB type, which are
  4435. OOB_RESTART, OOB_RESERVED1, OOB_RESERVED2, and OOB_RESERVED3,
  4436. respectively. Currently, only OOB_RESTART is used.
  4437. </description>
  4438. </property>
  4439. <property>
  4440. <name>dfs.datanode.parallel.volumes.load.threads.num</name>
  4441. <value></value>
  4442. <description>
  4443. Maximum number of threads to use for upgrading data directories.
  4444. The default value is the number of storage directories in the
  4445. DataNode.
  4446. </description>
  4447. </property>
  4448. <property>
  4449. <name>dfs.datanode.ram.disk.replica.tracker</name>
  4450. <value></value>
  4451. <description>
  4452. Name of the class implementing the RamDiskReplicaTracker interface.
  4453. Defaults to
  4454. org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.RamDiskReplicaLruTracker.
  4455. </description>
  4456. </property>
  4457. <property>
  4458. <name>dfs.datanode.restart.replica.expiration</name>
  4459. <value>50</value>
  4460. <description>
  4461. During shutdown for restart, the amount of time in seconds budgeted for
  4462. datanode restart.
  4463. </description>
  4464. </property>
  4465. <property>
  4466. <name>dfs.datanode.socket.reuse.keepalive</name>
  4467. <value>4000</value>
  4468. <description>
  4469. The window of time in ms before the DataXceiver closes a socket for a
  4470. single request. If a second request occurs within that window, the
  4471. socket can be reused.
  4472. </description>
  4473. </property>
  4474. <property>
  4475. <name>dfs.datanode.socket.write.timeout</name>
  4476. <value>480000</value>
  4477. <description>
  4478. Timeout in ms for clients socket writes to DataNodes.
  4479. </description>
  4480. </property>
  4481. <property>
  4482. <name>dfs.datanode.sync.behind.writes.in.background</name>
  4483. <value>false</value>
  4484. <description>
  4485. If set to true, then sync_file_range() system call will occur
  4486. asynchronously. This property is only valid when the property
  4487. dfs.datanode.sync.behind.writes is true.
  4488. </description>
  4489. </property>
  4490. <property>
  4491. <name>dfs.datanode.transferTo.allowed</name>
  4492. <value>true</value>
  4493. <description>
  4494. If false, break block transfers on 32-bit machines greater than
  4495. or equal to 2GB into smaller chunks.
  4496. </description>
  4497. </property>
  4498. <property>
  4499. <name>dfs.datanode.fixed.volume.size</name>
  4500. <value>false</value>
  4501. <description>
  4502. If false, call function getTotalSpace of File to get capacity of volume
  4503. during every heartbeat.
  4504. If true, cache the capacity when when the first call, and reuse it later.
  4505. </description>
  4506. </property>
  4507. <property>
  4508. <name>dfs.datanode.replica.cache.root.dir</name>
  4509. <value></value>
  4510. <description>
  4511. Use this key to change root dir of replica cache.
  4512. The default root dir is currentDir.
  4513. </description>
  4514. </property>
  4515. <property>
  4516. <name>dfs.datanode.replica.cache.expiry.time</name>
  4517. <value>5m</value>
  4518. <description>
  4519. Living time of replica cached files in milliseconds.
  4520. </description>
  4521. </property>
  4522. <property>
  4523. <name>dfs.ha.fencing.methods</name>
  4524. <value></value>
  4525. <description>
  4526. A list of scripts or Java classes which will be used to fence
  4527. the Active NameNode during a failover. See the HDFS High
  4528. Availability documentation for details on automatic HA
  4529. configuration.
  4530. </description>
  4531. </property>
  4532. <property>
  4533. <name>dfs.ha.standby.checkpoints</name>
  4534. <value>true</value>
  4535. <description>
  4536. If true, a NameNode in Standby state periodically takes a checkpoint
  4537. of the namespace, saves it to its local storage and then upload to
  4538. the remote NameNode.
  4539. </description>
  4540. </property>
  4541. <property>
  4542. <name>dfs.ha.zkfc.port</name>
  4543. <value>8019</value>
  4544. <description>
  4545. The port number that the zookeeper failover controller RPC
  4546. server binds to.
  4547. </description>
  4548. </property>
  4549. <property>
  4550. <name>dfs.ha.allow.stale.reads</name>
  4551. <value>false</value>
  4552. <description>
  4553. If true, a NameNode in Standby state can process read request and the result
  4554. could be stale.
  4555. </description>
  4556. </property>
  4557. <property>
  4558. <name>dfs.journalnode.edits.dir</name>
  4559. <value>/tmp/hadoop/dfs/journalnode/</value>
  4560. <description>
  4561. The directory where the journal edit files are stored.
  4562. </description>
  4563. </property>
  4564. <property>
  4565. <name>dfs.journalnode.enable.sync</name>
  4566. <value>true</value>
  4567. <description>
  4568. If true, the journal nodes wil sync with each other. The journal nodes
  4569. will periodically gossip with other journal nodes to compare edit log
  4570. manifests and if they detect any missing log segment, they will download
  4571. it from the other journal nodes.
  4572. </description>
  4573. </property>
  4574. <property>
  4575. <name>dfs.journalnode.sync.interval</name>
  4576. <value>120000</value>
  4577. <description>
  4578. Time interval, in milliseconds, between two Journal Node syncs.
  4579. This configuration takes effect only if the journalnode sync is enabled
  4580. by setting the configuration parameter dfs.journalnode.enable.sync to true.
  4581. </description>
  4582. </property>
  4583. <property>
  4584. <name>dfs.journalnode.enable.sync.format</name>
  4585. <value>false</value>
  4586. <description>
  4587. If true, the journal node syncer daemon that tries to sync edit
  4588. logs between journal nodes will try to format its journal if it is not.
  4589. It will query the other journal nodes for the storage info required to format.
  4590. </description>
  4591. </property>
  4592. <property>
  4593. <name>dfs.journalnode.edit-cache-size.bytes</name>
  4594. <value></value>
  4595. <description>
  4596. The size, in bytes, of the in-memory cache of edits to keep on the
  4597. JournalNode. This cache is used to serve edits for tailing via the RPC-based
  4598. mechanism, and is only enabled when dfs.ha.tail-edits.in-progress is true.
  4599. Transactions range in size but are around 200 bytes on average, so the
  4600. default of 1MB can store around 5000 transactions.
  4601. </description>
  4602. </property>
  4603. <property>
  4604. <name>dfs.journalnode.edit-cache-size.fraction</name>
  4605. <value>0.5f</value>
  4606. <description>
  4607. This ratio refers to the proportion of the maximum memory of the JVM.
  4608. Used to calculate the size of the edits cache that is kept in the JournalNode's memory.
  4609. This config is an alternative to the dfs.journalnode.edit-cache-size.bytes.
  4610. And it is used to serve edits for tailing via the RPC-based mechanism, and is only
  4611. enabled when dfs.ha.tail-edits.in-progress is true. Transactions range in size but
  4612. are around 200 bytes on average, so the default of 1MB can store around 5000 transactions.
  4613. So we can configure a reasonable value based on the maximum memory. The recommended value
  4614. is less than 0.9. If we set dfs.journalnode.edit-cache-size.bytes, this parameter will
  4615. not take effect.
  4616. </description>
  4617. </property>
  4618. <property>
  4619. <name>dfs.journalnode.kerberos.internal.spnego.principal</name>
  4620. <value></value>
  4621. <description>
  4622. Kerberos SPNEGO principal name used by the journal node.
  4623. </description>
  4624. </property>
  4625. <property>
  4626. <name>dfs.journalnode.kerberos.principal</name>
  4627. <value></value>
  4628. <description>
  4629. Kerberos principal name for the journal node.
  4630. </description>
  4631. </property>
  4632. <property>
  4633. <name>dfs.journalnode.keytab.file</name>
  4634. <value></value>
  4635. <description>
  4636. Kerberos keytab file for the journal node.
  4637. </description>
  4638. </property>
  4639. <property>
  4640. <name>dfs.batched.ls.limit</name>
  4641. <value>100</value>
  4642. <description>
  4643. Limit the number of paths that can be listed in a single batched
  4644. listing call. printed by ls. If less or equal to
  4645. zero, at most DFS_LIST_LIMIT_DEFAULT (= 1000) will be printed.
  4646. </description>
  4647. </property>
  4648. <property>
  4649. <name>dfs.ls.limit</name>
  4650. <value>1000</value>
  4651. <description>
  4652. Limit the number of files printed by ls. If less or equal to
  4653. zero, at most DFS_LIST_LIMIT_DEFAULT (= 1000) will be printed.
  4654. </description>
  4655. </property>
  4656. <property>
  4657. <name>dfs.mover.movedWinWidth</name>
  4658. <value>5400000</value>
  4659. <description>
  4660. The minimum time interval, in milliseconds, that a block can be
  4661. moved to another location again.
  4662. </description>
  4663. </property>
  4664. <property>
  4665. <name>dfs.mover.moverThreads</name>
  4666. <value>1000</value>
  4667. <description>
  4668. Configure the balancer's mover thread pool size.
  4669. </description>
  4670. </property>
  4671. <property>
  4672. <name>dfs.mover.retry.max.attempts</name>
  4673. <value>10</value>
  4674. <description>
  4675. The maximum number of retries before the mover consider the
  4676. move failed.
  4677. </description>
  4678. </property>
  4679. <property>
  4680. <name>dfs.mover.keytab.enabled</name>
  4681. <value>false</value>
  4682. <description>
  4683. Set to true to enable login using a keytab for Kerberized Hadoop.
  4684. </description>
  4685. </property>
  4686. <property>
  4687. <name>dfs.mover.address</name>
  4688. <value>0.0.0.0:0</value>
  4689. <description>
  4690. The hostname used for a keytab based Kerberos login. Keytab based login
  4691. can be enabled with dfs.mover.keytab.enabled.
  4692. </description>
  4693. </property>
  4694. <property>
  4695. <name>dfs.mover.keytab.file</name>
  4696. <value></value>
  4697. <description>
  4698. The keytab file used by the Mover to login as its
  4699. service principal. The principal name is configured with
  4700. dfs.mover.kerberos.principal. Keytab based login can be
  4701. enabled with dfs.mover.keytab.enabled.
  4702. </description>
  4703. </property>
  4704. <property>
  4705. <name>dfs.mover.kerberos.principal</name>
  4706. <value></value>
  4707. <description>
  4708. The Mover principal. This is typically set to
  4709. mover/_HOST@REALM.TLD. The Mover will substitute _HOST with its
  4710. own fully qualified hostname at startup. The _HOST placeholder
  4711. allows using the same configuration setting on different servers.
  4712. Keytab based login can be enabled with dfs.mover.keytab.enabled.
  4713. </description>
  4714. </property>
  4715. <property>
  4716. <name>dfs.mover.max-no-move-interval</name>
  4717. <value>60000</value>
  4718. <description>
  4719. If this specified amount of time has elapsed and no block has been moved
  4720. out of a source DataNode, on more effort will be made to move blocks out of
  4721. this DataNode in the current Mover iteration.
  4722. </description>
  4723. </property>
  4724. <property>
  4725. <name>dfs.namenode.audit.log.token.tracking.id</name>
  4726. <value>false</value>
  4727. <description>
  4728. If true, adds a tracking ID for all audit log events.
  4729. </description>
  4730. </property>
  4731. <property>
  4732. <name>dfs.namenode.audit.log.with.remote.port</name>
  4733. <value>false</value>
  4734. <description>
  4735. If true, adds a port of RPC call to callerContext for all audit log events.
  4736. </description>
  4737. </property>
  4738. <property>
  4739. <name>dfs.namenode.available-space-block-placement-policy.balanced-space-preference-fraction</name>
  4740. <value>0.6</value>
  4741. <description>
  4742. Only used when the dfs.block.replicator.classname is set to
  4743. org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy.
  4744. Special value between 0 and 1, noninclusive. Increases chance of
  4745. placing blocks on Datanodes with less disk space used.
  4746. </description>
  4747. </property>
  4748. <property>
  4749. <name>dfs.namenode.available-space-block-placement-policy.balanced-space-tolerance</name>
  4750. <value>5</value>
  4751. <description>
  4752. Only used when the dfs.block.replicator.classname is set to
  4753. org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy.
  4754. Special value between 0 and 20, inclusive. if the value is set beyond the scope,
  4755. this value will be set as 5 by default, Increases tolerance of
  4756. placing blocks on Datanodes with similar disk space used.
  4757. </description>
  4758. </property>
  4759. <property>
  4760. <name>dfs.namenode.available-space-block-placement-policy.balanced-space-tolerance-limit</name>
  4761. <value>100</value>
  4762. <description>
  4763. Only used when the dfs.block.replicator.classname is set to
  4764. org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy.
  4765. Special value between 0 and 100, inclusive. if the value is set beyond the scope,
  4766. this value will be set as 100 by default.
  4767. </description>
  4768. </property>
  4769. <property>
  4770. <name>
  4771. dfs.namenode.available-space-block-placement-policy.balance-local-node
  4772. </name>
  4773. <value>false</value>
  4774. <description>
  4775. Only used when the dfs.block.replicator.classname is set to
  4776. org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy.
  4777. If true, balances the local node too.
  4778. </description>
  4779. </property>
  4780. <property>
  4781. <name>dfs.namenode.available-space-rack-fault-tolerant-block-placement-policy.balanced-space-preference-fraction</name>
  4782. <value>0.6</value>
  4783. <description>
  4784. Only used when the dfs.block.replicator.classname is set to
  4785. org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceRackFaultTolerantBlockPlacementPolicy.
  4786. Special value between 0 and 1, noninclusive. Increases chance of
  4787. placing blocks on Datanodes with less disk space used. More the value near 1
  4788. more are the chances of choosing the datanode with less percentage of data.
  4789. Similarly as the value moves near 0, the chances of choosing datanode with
  4790. high load increases as the value reaches near 0.
  4791. </description>
  4792. </property>
  4793. <property>
  4794. <name>dfs.namenode.available-space-rack-fault-tolerant-block-placement-policy.balanced-space-tolerance</name>
  4795. <value>5</value>
  4796. <description>
  4797. Only used when the dfs.block.replicator.classname is set to
  4798. org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceRackFaultTolerantBlockPlacementPolicy.
  4799. Special value between 0 and 20, inclusive. if the value is set beyond the scope,
  4800. this value will be set as 5 by default, Increases tolerance of
  4801. placing blocks on Datanodes with similar disk space used.
  4802. </description>
  4803. </property>
  4804. <property>
  4805. <name>dfs.namenode.backup.dnrpc-address</name>
  4806. <value></value>
  4807. <description>
  4808. Service RPC address for the backup Namenode.
  4809. </description>
  4810. </property>
  4811. <property>
  4812. <name>dfs.namenode.delegation.token.always-use</name>
  4813. <value>false</value>
  4814. <description>
  4815. For testing. Setting to true always allows the DT secret manager
  4816. to be used, even if security is disabled.
  4817. </description>
  4818. </property>
  4819. <property>
  4820. <name>dfs.namenode.edits.asynclogging</name>
  4821. <value>true</value>
  4822. <description>
  4823. If set to true, enables asynchronous edit logs in the Namenode. If set
  4824. to false, the Namenode uses the traditional synchronous edit logs.
  4825. </description>
  4826. </property>
  4827. <property>
  4828. <name>dfs.namenode.edits.asynclogging.pending.queue.size</name>
  4829. <value>4096</value>
  4830. <description>
  4831. The queue size of edit pending queue for FSEditLogAsync.
  4832. </description>
  4833. </property>
  4834. <property>
  4835. <name>dfs.namenode.edits.dir.minimum</name>
  4836. <value>1</value>
  4837. <description>
  4838. dfs.namenode.edits.dir includes both required directories
  4839. (specified by dfs.namenode.edits.dir.required) and optional directories.
  4840. The number of usable optional directories must be greater than or equal
  4841. to this property. If the number of usable optional directories falls
  4842. below dfs.namenode.edits.dir.minimum, HDFS will issue an error.
  4843. This property defaults to 1.
  4844. </description>
  4845. </property>
  4846. <property>
  4847. <name>dfs.namenode.edits.journal-plugin</name>
  4848. <value></value>
  4849. <description>
  4850. When FSEditLog is creating JournalManagers from dfs.namenode.edits.dir,
  4851. and it encounters a URI with a schema different to "file" it loads the
  4852. name of the implementing class from
  4853. "dfs.namenode.edits.journal-plugin.[schema]". This class must implement
  4854. JournalManager and have a constructor which takes (Configuration, URI).
  4855. </description>
  4856. </property>
  4857. <property>
  4858. <name>dfs.namenode.file.close.num-committed-allowed</name>
  4859. <value>0</value>
  4860. <description>
  4861. Normally a file can only be closed with all its blocks are complete.
  4862. When this value is set to a positive integer N, a file can be closed
  4863. when N blocks are committed and the rest complete. In case of Erasure Coded
  4864. blocks, the committed block shall be allowed only when the block group is
  4865. complete. i.e no missing/lost block in the blockgroup.
  4866. </description>
  4867. </property>
  4868. <property>
  4869. <name>dfs.namenode.inode.attributes.provider.class</name>
  4870. <value></value>
  4871. <description>
  4872. Name of class to use for delegating HDFS authorization.
  4873. </description>
  4874. </property>
  4875. <property>
  4876. <name>dfs.namenode.inode.attributes.provider.bypass.users</name>
  4877. <value></value>
  4878. <description>
  4879. A list of user principals (in secure cluster) or user names (in insecure
  4880. cluster) for whom the external attributes provider will be bypassed for all
  4881. operations. This means file attributes stored in HDFS instead of the
  4882. external provider will be used for permission checking and be returned when
  4883. requested.
  4884. </description>
  4885. </property>
  4886. <property>
  4887. <name>dfs.namenode.max-num-blocks-to-log</name>
  4888. <value>1000</value>
  4889. <description>
  4890. Puts a limit on the number of blocks printed to the log by the Namenode
  4891. after a block report.
  4892. </description>
  4893. </property>
  4894. <property>
  4895. <name>dfs.namenode.max.op.size</name>
  4896. <value>52428800</value>
  4897. <description>
  4898. Maximum opcode size in bytes.
  4899. </description>
  4900. </property>
  4901. <property>
  4902. <name>dfs.namenode.missing.checkpoint.periods.before.shutdown</name>
  4903. <value>3</value>
  4904. <description>
  4905. The number of checkpoint period windows (as defined by the property
  4906. dfs.namenode.checkpoint.period) allowed by the Namenode to perform
  4907. saving the namespace before shutdown.
  4908. </description>
  4909. </property>
  4910. <property>
  4911. <name>dfs.namenode.name.cache.threshold</name>
  4912. <value>10</value>
  4913. <description>
  4914. Frequently accessed files that are accessed more times than this
  4915. threshold are cached in the FSDirectory nameCache.
  4916. </description>
  4917. </property>
  4918. <property>
  4919. <name>dfs.namenode.replication.max-streams</name>
  4920. <value>2</value>
  4921. <description>
  4922. Hard limit for the number of replication streams other than those with highest-priority.
  4923. </description>
  4924. </property>
  4925. <property>
  4926. <name>dfs.namenode.replication.max-streams-hard-limit</name>
  4927. <value>4</value>
  4928. <description>
  4929. Hard limit for all replication streams.
  4930. </description>
  4931. </property>
  4932. <property>
  4933. <name>dfs.namenode.reconstruction.pending.timeout-sec</name>
  4934. <value>300</value>
  4935. <description>
  4936. Timeout in seconds for block reconstruction. If this value is 0 or less,
  4937. then it will default to 5 minutes.
  4938. </description>
  4939. </property>
  4940. <property>
  4941. <name>dfs.namenode.excess.redundancy.timeout-sec</name>
  4942. <value>3600</value>
  4943. <description>
  4944. Timeout in seconds for excess redundancy block. If this value is 0 or less,
  4945. then it will default to 3600 minutes.
  4946. </description>
  4947. </property>
  4948. <property>
  4949. <name>dfs.namenode.excess.redundancy.timeout.check.limit</name>
  4950. <value>1000</value>
  4951. <description>
  4952. Limits number of blocks used to check for excess redundancy timeout.
  4953. If this value is 0 or less, then it will default to 1000.
  4954. </description>
  4955. </property>
  4956. <property>
  4957. <name>dfs.namenode.stale.datanode.minimum.interval</name>
  4958. <value>3</value>
  4959. <description>
  4960. Minimum number of missed heartbeats intervals for a datanode to
  4961. be marked stale by the Namenode. The actual interval is calculated as
  4962. (dfs.namenode.stale.datanode.minimum.interval * dfs.heartbeat.interval)
  4963. in seconds. If this value is greater than the property
  4964. dfs.namenode.stale.datanode.interval, then the calculated value above
  4965. is used.
  4966. </description>
  4967. </property>
  4968. <property>
  4969. <name>dfs.namenode.remove.dead.datanode.batchnum</name>
  4970. <value>10</value>
  4971. <description>
  4972. Maximum number of datanodes removed by HeartbeatManager per scan.
  4973. </description>
  4974. </property>
  4975. <property>
  4976. <name>dfs.namenode.snapshot.capture.openfiles</name>
  4977. <value>false</value>
  4978. <description>
  4979. If true, snapshots taken will have an immutable shared copy of
  4980. the open files that have valid leases. Even after the open files
  4981. grow or shrink in size, snapshot will always have the previous
  4982. point-in-time version of the open files, just like all other
  4983. closed files. Default is false.
  4984. Note: The file length captured for open files in snapshot is
  4985. whats recorded in NameNode at the time of snapshot and it may
  4986. be shorter than what the client has written till then. In order
  4987. to capture the latest length, the client can call hflush/hsync
  4988. with the flag SyncFlag.UPDATE_LENGTH on the open files handles.
  4989. </description>
  4990. </property>
  4991. <property>
  4992. <name>dfs.namenode.snapshot.skip.capture.accesstime-only-change</name>
  4993. <value>false</value>
  4994. <description>
  4995. If accessTime of a file/directory changed but there is no other
  4996. modification made to the file/directory, the changed accesstime will
  4997. not be captured in next snapshot. However, if there is other modification
  4998. made to the file/directory, the latest access time will be captured
  4999. together with the modification in next snapshot.
  5000. </description>
  5001. </property>
  5002. <property>
  5003. <name>dfs.namenode.snapshotdiff.allow.snap-root-descendant</name>
  5004. <value>true</value>
  5005. <description>
  5006. If enabled, snapshotDiff command can be run for any descendant directory
  5007. under a snapshot root directory and the diff calculation will be scoped
  5008. to the given descendant directory. Otherwise, snapshot diff command can
  5009. only be run for a snapshot root directory.
  5010. </description>
  5011. </property>
  5012. <property>
  5013. <name>dfs.namenode.snapshotdiff.listing.limit</name>
  5014. <value>1000</value>
  5015. <description>
  5016. Limit the number of entries generated by getSnapshotDiffReportListing within
  5017. one rpc call to the namenode.If less or equal to zero, at most
  5018. DFS_NAMENODE_SNAPSHOT_DIFF_LISTING_LIMIT_DEFAULT (= 1000) will be sent
  5019. across to the client within one rpc call.
  5020. </description>
  5021. </property>
  5022. <property>
  5023. <name>dfs.namenode.snapshot.max.limit</name>
  5024. <value>65536</value>
  5025. <description>
  5026. Limits the maximum number of snapshots allowed per snapshottable
  5027. directory.If the configuration is not set, the default limit
  5028. for maximum no of snapshots allowed is 65536.
  5029. </description>
  5030. </property>
  5031. <property>
  5032. <name>dfs.namenode.snapshot.filesystem.limit</name>
  5033. <value>65536</value>
  5034. <description>
  5035. Limits the maximum number of snapshots allowed on the entire filesystem.
  5036. If the configuration is not set, the default limit
  5037. for maximum no of snapshots allowed is 65536.
  5038. </description>
  5039. </property>
  5040. <property>
  5041. <name>dfs.namenode.snapshot.skiplist.max.levels</name>
  5042. <value>0</value>
  5043. <description>
  5044. Maximum no of the skip levels to be maintained in the skip list for
  5045. storing directory snapshot diffs. By default, it is set to 0 and a linear
  5046. list will be used to store the directory snapshot diffs.
  5047. </description>
  5048. </property>
  5049. <property>
  5050. <name>dfs.namenode.snapshot.skiplist.interval</name>
  5051. <value>10</value>
  5052. <description>
  5053. The interval after which the skip levels will be formed in the skip list
  5054. for storing directory snapshot diffs. By default, value is set to 10.
  5055. </description>
  5056. </property>
  5057. <property>
  5058. <name>dfs.storage.policy.satisfier.mode</name>
  5059. <value>none</value>
  5060. <description>
  5061. Following values are supported - external, none.
  5062. If external, StoragePolicySatisfier will be enabled and started as an independent service outside namenode.
  5063. If none, StoragePolicySatisfier is disabled.
  5064. By default, StoragePolicySatisfier is disabled.
  5065. Administrator can dynamically change StoragePolicySatisfier mode by using reconfiguration option.
  5066. Dynamic mode change can be achieved in the following way.
  5067. 1. Edit/update this configuration property values in hdfs-site.xml
  5068. 2. Execute the reconfig command on hadoop command line prompt.
  5069. For example:$hdfs -reconfig namenode nn_host:port start
  5070. </description>
  5071. </property>
  5072. <property>
  5073. <name>dfs.storage.policy.satisfier.queue.limit</name>
  5074. <value>1000</value>
  5075. <description>
  5076. Storage policy satisfier queue size. This queue contains the currently
  5077. scheduled file's inode ID for statisfy the policy.
  5078. Default value is 1000.
  5079. </description>
  5080. </property>
  5081. <property>
  5082. <name>dfs.storage.policy.satisfier.work.multiplier.per.iteration</name>
  5083. <value>1</value>
  5084. <description>
  5085. *Note*: Advanced property. Change with caution.
  5086. This determines the total amount of block transfers to begin in
  5087. one iteration, for satisfy the policy. The actual number is obtained by
  5088. multiplying this multiplier with the total number of live nodes in the
  5089. cluster. The result number is the number of blocks to begin transfers
  5090. immediately. This number can be any positive, non-zero integer.
  5091. </description>
  5092. </property>
  5093. <property>
  5094. <name>dfs.storage.policy.satisfier.recheck.timeout.millis</name>
  5095. <value>60000</value>
  5096. <description>
  5097. Blocks storage movements monitor re-check interval in milliseconds.
  5098. This check will verify whether any blocks storage movement results arrived from DN
  5099. and also verify if any of file blocks movements not at all reported to DN
  5100. since dfs.storage.policy.satisfier.self.retry.timeout.
  5101. The default value is 1 * 60 * 1000 (1 mins)
  5102. </description>
  5103. </property>
  5104. <property>
  5105. <name>dfs.storage.policy.satisfier.self.retry.timeout.millis</name>
  5106. <value>300000</value>
  5107. <description>
  5108. If any of file related block movements not at all reported by datanode,
  5109. then after this timeout(in milliseconds), the item will be added back to movement needed list
  5110. at namenode which will be retried for block movements.
  5111. The default value is 5 * 60 * 1000 (5 mins)
  5112. </description>
  5113. </property>
  5114. <property>
  5115. <name>dfs.storage.policy.satisfier.retry.max.attempts</name>
  5116. <value>3</value>
  5117. <description>
  5118. Max retry to satisfy the block storage policy. After this retry block will be removed
  5119. from the movement needed queue.
  5120. </description>
  5121. </property>
  5122. <property>
  5123. <name>dfs.storage.policy.satisfier.move.task.retry.max.attempts</name>
  5124. <value>3</value>
  5125. <description>
  5126. Max retries for moving task to satisfy the block storage policy.
  5127. </description>
  5128. </property>
  5129. <property>
  5130. <name>dfs.storage.policy.satisfier.datanode.cache.refresh.interval.ms</name>
  5131. <value>300000</value>
  5132. <description>
  5133. How often to refresh the datanode storages cache in milliseconds. This cache
  5134. keeps live datanode storage reports fetched from namenode. After elapsed time,
  5135. it will again fetch latest datanodes from namenode.
  5136. By default, this parameter is set to 5 minutes.
  5137. </description>
  5138. </property>
  5139. <property>
  5140. <name>dfs.storage.policy.satisfier.max.outstanding.paths</name>
  5141. <value>10000</value>
  5142. <description>
  5143. Defines the maximum number of paths to satisfy that can be queued up in the
  5144. Satisfier call queue in a period of time. Default value is 10000.
  5145. </description>
  5146. </property>
  5147. <property>
  5148. <name>dfs.storage.policy.satisfier.address</name>
  5149. <value>0.0.0.0:0</value>
  5150. <description>
  5151. The hostname used for a keytab based Kerberos login. Keytab based login
  5152. is required when dfs.storage.policy.satisfier.mode is external.
  5153. </description>
  5154. </property>
  5155. <property>
  5156. <name>dfs.storage.policy.satisfier.keytab.file</name>
  5157. <value></value>
  5158. <description>
  5159. The keytab file used by external StoragePolicySatisfier to login as its
  5160. service principal. The principal name is configured with
  5161. dfs.storage.policy.satisfier.kerberos.principal. Keytab based login
  5162. is required when dfs.storage.policy.satisfier.mode is external.
  5163. </description>
  5164. </property>
  5165. <property>
  5166. <name>dfs.storage.policy.satisfier.kerberos.principal</name>
  5167. <value></value>
  5168. <description>
  5169. The StoragePolicySatisfier principal. This is typically set to
  5170. satisfier/_HOST@REALM.TLD. The StoragePolicySatisfier will substitute
  5171. _HOST with its own fully qualified hostname at startup. The _HOST placeholder
  5172. allows using the same configuration setting on different servers. Keytab
  5173. based login is required when dfs.storage.policy.satisfier.mode is external.
  5174. </description>
  5175. </property>
  5176. <property>
  5177. <name>dfs.pipeline.ecn</name>
  5178. <value>false</value>
  5179. <description>
  5180. If true, allows ECN (explicit congestion notification) from the
  5181. Datanode.
  5182. </description>
  5183. </property>
  5184. <property>
  5185. <name>dfs.pipeline.slownode</name>
  5186. <value>false</value>
  5187. <description>
  5188. If true, allows slownode information to be replied to Client via PipelineAck.
  5189. </description>
  5190. </property>
  5191. <property>
  5192. <name>dfs.pipeline.congestion.ratio</name>
  5193. <value>1.5</value>
  5194. <description>
  5195. The ratio which is used to compute congestion load.
  5196. </description>
  5197. </property>
  5198. <property>
  5199. <name>dfs.qjournal.accept-recovery.timeout.ms</name>
  5200. <value>120000</value>
  5201. <description>
  5202. Quorum timeout in milliseconds during accept phase of
  5203. recovery/synchronization for a specific segment.
  5204. </description>
  5205. </property>
  5206. <property>
  5207. <name>dfs.qjournal.finalize-segment.timeout.ms</name>
  5208. <value>120000</value>
  5209. <description>
  5210. Quorum timeout in milliseconds during finalizing for a specific
  5211. segment.
  5212. </description>
  5213. </property>
  5214. <property>
  5215. <name>dfs.qjournal.get-journal-state.timeout.ms</name>
  5216. <value>120000</value>
  5217. <description>
  5218. Timeout in milliseconds when calling getJournalState().
  5219. JournalNodes.
  5220. </description>
  5221. </property>
  5222. <property>
  5223. <name>dfs.qjournal.new-epoch.timeout.ms</name>
  5224. <value>120000</value>
  5225. <description>
  5226. Timeout in milliseconds when getting an epoch number for write
  5227. access to JournalNodes.
  5228. </description>
  5229. </property>
  5230. <property>
  5231. <name>dfs.qjournal.prepare-recovery.timeout.ms</name>
  5232. <value>120000</value>
  5233. <description>
  5234. Quorum timeout in milliseconds during preparation phase of
  5235. recovery/synchronization for a specific segment.
  5236. </description>
  5237. </property>
  5238. <property>
  5239. <name>dfs.qjournal.queued-edits.limit.mb</name>
  5240. <value>10</value>
  5241. <description>
  5242. Queue size in MB for quorum journal edits.
  5243. </description>
  5244. </property>
  5245. <property>
  5246. <name>dfs.qjournal.select-input-streams.timeout.ms</name>
  5247. <value>20000</value>
  5248. <description>
  5249. Timeout in milliseconds for accepting streams from JournalManagers.
  5250. </description>
  5251. </property>
  5252. <property>
  5253. <name>dfs.qjournal.start-segment.timeout.ms</name>
  5254. <value>20000</value>
  5255. <description>
  5256. Quorum timeout in milliseconds for starting a log segment.
  5257. </description>
  5258. </property>
  5259. <property>
  5260. <name>dfs.qjournal.write-txns.timeout.ms</name>
  5261. <value>20000</value>
  5262. <description>
  5263. Write timeout in milliseconds when writing to a quorum of remote
  5264. journals.
  5265. </description>
  5266. </property>
  5267. <property>
  5268. <name>dfs.qjournal.http.open.timeout.ms</name>
  5269. <value>60000</value>
  5270. <description>
  5271. Timeout in milliseconds when open a new HTTP connection to remote
  5272. journals.
  5273. </description>
  5274. </property>
  5275. <property>
  5276. <name>dfs.qjournal.http.read.timeout.ms</name>
  5277. <value>60000</value>
  5278. <description>
  5279. Timeout in milliseconds when reading from a HTTP connection from remote
  5280. journals.
  5281. </description>
  5282. </property>
  5283. <property>
  5284. <name>dfs.qjournal.parallel-read.num-threads</name>
  5285. <value>5</value>
  5286. <description>
  5287. Number of threads per JN to be used for tailing edits.
  5288. </description>
  5289. </property>
  5290. <property>
  5291. <name>dfs.quota.by.storage.type.enabled</name>
  5292. <value>true</value>
  5293. <description>
  5294. If true, enables quotas based on storage type.
  5295. </description>
  5296. </property>
  5297. <property>
  5298. <name>dfs.secondary.namenode.kerberos.principal</name>
  5299. <value></value>
  5300. <description>
  5301. Kerberos principal name for the Secondary NameNode.
  5302. </description>
  5303. </property>
  5304. <property>
  5305. <name>dfs.secondary.namenode.keytab.file</name>
  5306. <value></value>
  5307. <description>
  5308. Kerberos keytab file for the Secondary NameNode.
  5309. </description>
  5310. </property>
  5311. <property>
  5312. <name>dfs.web.authentication.simple.anonymous.allowed</name>
  5313. <value></value>
  5314. <description>
  5315. If true, allow anonymous user to access WebHDFS. Set to
  5316. false to disable anonymous authentication.
  5317. </description>
  5318. </property>
  5319. <property>
  5320. <name>dfs.web.ugi</name>
  5321. <value></value>
  5322. <description>
  5323. dfs.web.ugi is deprecated. Use hadoop.http.staticuser.user instead.
  5324. </description>
  5325. </property>
  5326. <property>
  5327. <name>dfs.webhdfs.netty.high.watermark</name>
  5328. <value>65535</value>
  5329. <description>
  5330. High watermark configuration to Netty for Datanode WebHdfs.
  5331. </description>
  5332. </property>
  5333. <property>
  5334. <name>dfs.webhdfs.netty.low.watermark</name>
  5335. <value>32768</value>
  5336. <description>
  5337. Low watermark configuration to Netty for Datanode WebHdfs.
  5338. </description>
  5339. </property>
  5340. <property>
  5341. <name>dfs.webhdfs.oauth2.access.token.provider</name>
  5342. <value></value>
  5343. <description>
  5344. Access token provider class for WebHDFS using OAuth2.
  5345. Defaults to org.apache.hadoop.hdfs.web.oauth2.ConfCredentialBasedAccessTokenProvider.
  5346. </description>
  5347. </property>
  5348. <property>
  5349. <name>dfs.webhdfs.oauth2.client.id</name>
  5350. <value></value>
  5351. <description>
  5352. Client id used to obtain access token with either credential or
  5353. refresh token.
  5354. </description>
  5355. </property>
  5356. <property>
  5357. <name>dfs.webhdfs.oauth2.enabled</name>
  5358. <value>false</value>
  5359. <description>
  5360. If true, enables OAuth2 in WebHDFS
  5361. </description>
  5362. </property>
  5363. <property>
  5364. <name>dfs.webhdfs.oauth2.refresh.url</name>
  5365. <value></value>
  5366. <description>
  5367. URL against which to post for obtaining bearer token with
  5368. either credential or refresh token.
  5369. </description>
  5370. </property>
  5371. <property>
  5372. <name>ssl.server.keystore.keypassword</name>
  5373. <value></value>
  5374. <description>
  5375. Keystore key password for HTTPS SSL configuration
  5376. </description>
  5377. </property>
  5378. <property>
  5379. <name>ssl.server.keystore.location</name>
  5380. <value></value>
  5381. <description>
  5382. Keystore location for HTTPS SSL configuration
  5383. </description>
  5384. </property>
  5385. <property>
  5386. <name>ssl.server.keystore.password</name>
  5387. <value></value>
  5388. <description>
  5389. Keystore password for HTTPS SSL configuration
  5390. </description>
  5391. </property>
  5392. <property>
  5393. <name>ssl.server.truststore.location</name>
  5394. <value></value>
  5395. <description>
  5396. Truststore location for HTTPS SSL configuration
  5397. </description>
  5398. </property>
  5399. <property>
  5400. <name>ssl.server.truststore.password</name>
  5401. <value></value>
  5402. <description>
  5403. Truststore password for HTTPS SSL configuration
  5404. </description>
  5405. </property>
  5406. <!--Disk baalncer properties-->
  5407. <property>
  5408. <name>dfs.disk.balancer.max.disk.throughputInMBperSec</name>
  5409. <value>10</value>
  5410. <description>Maximum disk bandwidth used by diskbalancer
  5411. during read from a source disk. The unit is MB/sec.
  5412. </description>
  5413. </property>
  5414. <property>
  5415. <name>dfs.disk.balancer.block.tolerance.percent</name>
  5416. <value>10</value>
  5417. <description>
  5418. When a disk balancer copy operation is proceeding, the datanode is still
  5419. active. So it might not be possible to move the exactly specified
  5420. amount of data. So tolerance allows us to define a percentage which
  5421. defines a good enough move.
  5422. </description>
  5423. </property>
  5424. <property>
  5425. <name>dfs.disk.balancer.max.disk.errors</name>
  5426. <value>5</value>
  5427. <description>
  5428. During a block move from a source to destination disk, we might
  5429. encounter various errors. This defines how many errors we can tolerate
  5430. before we declare a move between 2 disks (or a step) has failed.
  5431. </description>
  5432. </property>
  5433. <property>
  5434. <name>dfs.disk.balancer.plan.valid.interval</name>
  5435. <value>1d</value>
  5436. <description>
  5437. Maximum amount of time disk balancer plan is valid. This setting
  5438. supports multiple time unit suffixes as described in
  5439. dfs.heartbeat.interval. If no suffix is specified then milliseconds
  5440. is assumed.
  5441. </description>
  5442. </property>
  5443. <property>
  5444. <name>dfs.disk.balancer.enabled</name>
  5445. <value>true</value>
  5446. <description>
  5447. This enables the diskbalancer feature on a cluster. By default, disk
  5448. balancer is enabled.
  5449. </description>
  5450. </property>
  5451. <property>
  5452. <name>dfs.disk.balancer.plan.threshold.percent</name>
  5453. <value>10</value>
  5454. <description>
  5455. The percentage threshold value for volume Data Density in a plan.
  5456. If the absolute value of volume Data Density which is out of
  5457. threshold value in a node, it means that the volumes corresponding to
  5458. the disks should do the balancing in the plan. The default value is 10.
  5459. </description>
  5460. </property>
  5461. <property>
  5462. <name>dfs.namenode.provided.enabled</name>
  5463. <value>false</value>
  5464. <description>
  5465. Enables the Namenode to handle provided storages.
  5466. </description>
  5467. </property>
  5468. <property>
  5469. <name>dfs.provided.storage.id</name>
  5470. <value>DS-PROVIDED</value>
  5471. <description>
  5472. The storage ID used for provided stores.
  5473. </description>
  5474. </property>
  5475. <property>
  5476. <name>dfs.provided.aliasmap.class</name>
  5477. <value>org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.TextFileRegionAliasMap</value>
  5478. <description>
  5479. The class that is used to specify the input format of the blocks on
  5480. provided storages. The default is
  5481. org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.TextFileRegionAliasMap which uses
  5482. file regions to describe blocks. The file regions are specified as a
  5483. delimited text file. Each file region is a 6-tuple containing the
  5484. block id, remote file path, offset into file, length of block, the
  5485. block pool id containing the block, and the generation stamp of the
  5486. block.
  5487. </description>
  5488. </property>
  5489. <property>
  5490. <name>dfs.provided.aliasmap.inmemory.batch-size</name>
  5491. <value>500</value>
  5492. <description>
  5493. The batch size when iterating over the database backing the aliasmap
  5494. </description>
  5495. </property>
  5496. <property>
  5497. <name>dfs.provided.aliasmap.inmemory.dnrpc-address</name>
  5498. <value></value>
  5499. <description>
  5500. The address where the aliasmap server will be running. In the case of
  5501. HA/Federation where multiple namenodes exist, and if the Namenode is
  5502. configured to run the aliasmap server
  5503. (dfs.provided.aliasmap.inmemory.enabled is set to true),
  5504. the name service id is added to the name, e.g.,
  5505. dfs.provided.aliasmap.inmemory.rpc.address.EXAMPLENAMESERVICE.
  5506. The value of this property will take the form of host:rpc-port.
  5507. </description>
  5508. </property>
  5509. <property>
  5510. <name>dfs.provided.aliasmap.inmemory.rpc.bind-host</name>
  5511. <value></value>
  5512. <description>
  5513. The actual address the in-memory aliasmap server will bind to.
  5514. If this optional address is set, it overrides the hostname portion of
  5515. dfs.provided.aliasmap.inmemory.rpc.address.
  5516. This is useful for making the name node listen on all interfaces by
  5517. setting it to 0.0.0.0.
  5518. </description>
  5519. </property>
  5520. <property>
  5521. <name>dfs.provided.aliasmap.inmemory.leveldb.dir</name>
  5522. <value>/tmp</value>
  5523. <description>
  5524. The directory where the leveldb files will be kept
  5525. </description>
  5526. </property>
  5527. <property>
  5528. <name>dfs.provided.aliasmap.inmemory.enabled</name>
  5529. <value>false</value>
  5530. <description>
  5531. Don't use the aliasmap by default. Some tests will fail
  5532. because they try to start the namenode twice with the
  5533. same parameters if you turn it on.
  5534. </description>
  5535. </property>
  5536. <property>
  5537. <name>dfs.provided.aliasmap.inmemory.server.log</name>
  5538. <value>false</value>
  5539. <description>
  5540. Ensures that InMemoryAliasMap server logs every call to it.
  5541. Set to false by default.
  5542. </description>
  5543. </property>
  5544. <property>
  5545. <name>dfs.provided.aliasmap.text.delimiter</name>
  5546. <value>,</value>
  5547. <description>
  5548. The delimiter used when the provided block map is specified as
  5549. a text file.
  5550. </description>
  5551. </property>
  5552. <property>
  5553. <name>dfs.provided.aliasmap.text.read.file</name>
  5554. <value></value>
  5555. <description>
  5556. The path specifying the provided block map as a text file, specified as
  5557. a URI.
  5558. </description>
  5559. </property>
  5560. <property>
  5561. <name>dfs.provided.aliasmap.text.codec</name>
  5562. <value></value>
  5563. <description>
  5564. The codec used to de-compress the provided block map.
  5565. </description>
  5566. </property>
  5567. <property>
  5568. <name>dfs.provided.aliasmap.text.write.dir</name>
  5569. <value></value>
  5570. <description>
  5571. The path to which the provided block map should be written as a text
  5572. file, specified as a URI.
  5573. </description>
  5574. </property>
  5575. <property>
  5576. <name>dfs.provided.aliasmap.leveldb.path</name>
  5577. <value></value>
  5578. <description>
  5579. The read/write path for the leveldb-based alias map
  5580. (org.apache.hadoop.hdfs.server.common.blockaliasmap.impl.LevelDBFileRegionAliasMap).
  5581. The path has to be explicitly configured when this alias map is used.
  5582. </description>
  5583. </property>
  5584. <property>
  5585. <name>dfs.provided.acls.import.enabled</name>
  5586. <value>false</value>
  5587. <description>
  5588. Set to true to inherit ACLs (Access Control Lists) from remote stores
  5589. during mount. Disabled by default, i.e., ACLs are not inherited from
  5590. remote stores. Note had HDFS ACLs have to be enabled
  5591. (dfs.namenode.acls.enabled must be set to true) for this to take effect.
  5592. </description>
  5593. </property>
  5594. <property>
  5595. <name>dfs.provided.aliasmap.load.retries</name>
  5596. <value>0</value>
  5597. <description>
  5598. The number of retries on the Datanode to load the provided aliasmap;
  5599. defaults to 0.
  5600. </description>
  5601. </property>
  5602. <property>
  5603. <name>dfs.lock.suppress.warning.interval</name>
  5604. <value>10s</value>
  5605. <description>Instrumentation reporting long critical sections will suppress
  5606. consecutive warnings within this interval.</description>
  5607. </property>
  5608. <property>
  5609. <name>httpfs.buffer.size</name>
  5610. <value>4096</value>
  5611. <description>
  5612. The size buffer to be used when creating or opening httpfs filesystem IO stream.
  5613. </description>
  5614. </property>
  5615. <property>
  5616. <name>dfs.webhdfs.use.ipc.callq</name>
  5617. <value>true</value>
  5618. <description>Enables routing of webhdfs calls through rpc
  5619. call queue</description>
  5620. </property>
  5621. <property>
  5622. <name>dfs.datanode.disk.check.min.gap</name>
  5623. <value>15m</value>
  5624. <description>
  5625. The minimum gap between two successive checks of the same DataNode
  5626. volume. This setting supports multiple time unit suffixes as described
  5627. in dfs.heartbeat.interval. If no suffix is specified then milliseconds
  5628. is assumed.
  5629. </description>
  5630. </property>
  5631. <property>
  5632. <name>dfs.datanode.disk.check.timeout</name>
  5633. <value>10m</value>
  5634. <description>
  5635. Maximum allowed time for a disk check to complete. If the check does not
  5636. complete within this time interval then the disk is declared as failed.
  5637. This setting supports multiple time unit suffixes as described in
  5638. dfs.heartbeat.interval. If no suffix is specified then milliseconds is assumed.
  5639. </description>
  5640. </property>
  5641. <property>
  5642. <name>dfs.use.dfs.network.topology</name>
  5643. <value>true</value>
  5644. <description>
  5645. Enables DFSNetworkTopology to choose nodes for placing replicas.
  5646. When enabled, NetworkTopology will be instantiated as class defined in
  5647. property dfs.net.topology.impl, otherwise NetworkTopology will be
  5648. instantiated as class defined in property net.topology.impl.
  5649. </description>
  5650. </property>
  5651. <property>
  5652. <name>dfs.net.topology.impl</name>
  5653. <value>org.apache.hadoop.hdfs.net.DFSNetworkTopology</value>
  5654. <description>
  5655. The implementation class of NetworkTopology used in HDFS. By default,
  5656. the class org.apache.hadoop.hdfs.net.DFSNetworkTopology is specified and
  5657. used in block placement.
  5658. This property only works when dfs.use.dfs.network.topology is true.
  5659. </description>
  5660. </property>
  5661. <property>
  5662. <name>dfs.qjm.operations.timeout</name>
  5663. <value>60s</value>
  5664. <description>
  5665. Common key to set timeout for related operations in
  5666. QuorumJournalManager. This setting supports multiple time unit suffixes
  5667. as described in dfs.heartbeat.interval.
  5668. If no suffix is specified then milliseconds is assumed.
  5669. </description>
  5670. </property>
  5671. <property>
  5672. <name>dfs.reformat.disabled</name>
  5673. <value>false</value>
  5674. <description>
  5675. Disable reformat of NameNode. If it's value is set to "true"
  5676. and metadata directories already exist then attempt to format NameNode
  5677. will throw NameNodeFormatException.
  5678. </description>
  5679. </property>
  5680. <property>
  5681. <name>dfs.namenode.block.deletion.lock.threshold.ms</name>
  5682. <value>50</value>
  5683. <description>
  5684. The limit of single time lock holding duration for the block asynchronous
  5685. deletion thread.
  5686. </description>
  5687. </property>
  5688. <property>
  5689. <name>dfs.namenode.block.deletion.unlock.interval.ms</name>
  5690. <value>10</value>
  5691. <description>
  5692. The sleep interval for yield lock.
  5693. When the single time lock holding duration of the block asynchronous deletion
  5694. thread exceeds limit, sleeping to yield lock.
  5695. </description>
  5696. </property>
  5697. <property>
  5698. <name>dfs.namenode.rpc-address.auxiliary-ports</name>
  5699. <value></value>
  5700. <description>
  5701. A comma separated list of auxiliary ports for the NameNode to listen on.
  5702. This allows exposing multiple NN addresses to clients.
  5703. Particularly, it is used to enforce different SASL levels on different ports.
  5704. Empty list indicates that auxiliary ports are disabled.
  5705. </description>
  5706. </property>
  5707. <property>
  5708. <name>dfs.namenode.send.qop.enabled</name>
  5709. <value>false</value>
  5710. <description>
  5711. A boolean specifies whether NameNode should encrypt the established QOP
  5712. and include it in block token. The encrypted QOP will be used by DataNode
  5713. as target QOP, overwriting DataNode configuration. This ensures DataNode
  5714. will use exactly the same QOP NameNode and client has already agreed on.
  5715. </description>
  5716. </property>
  5717. <property>
  5718. <name>dfs.encrypt.data.overwrite.downstream.derived.qop</name>
  5719. <value>false</value>
  5720. <description>
  5721. A boolean specifies whether DN should overwrite the downstream
  5722. QOP in a write pipeline. This is used in the case where client
  5723. talks to first DN with a QOP, but inter-DN communication needs to be
  5724. using a different QOP. If set to false, the default behaviour is that
  5725. inter-DN communication will use the same QOP as client-DN connection.
  5726. </description>
  5727. </property>
  5728. <property>
  5729. <name>dfs.encrypt.data.overwrite.downstream.new.qop</name>
  5730. <value></value>
  5731. <description>
  5732. When dfs.datanode.overwrite.downstream.derived.qop is set to true,
  5733. this configuration specifies the new QOP to be used to overwrite
  5734. inter-DN QOP.
  5735. </description>
  5736. </property>
  5737. <property>
  5738. <name>dfs.namenode.blockreport.queue.size</name>
  5739. <value>1024</value>
  5740. <description>
  5741. The queue size of BlockReportProcessingThread in BlockManager.
  5742. </description>
  5743. </property>
  5744. <property>
  5745. <name>dfs.namenode.storage.dir.perm</name>
  5746. <value>700</value>
  5747. <description>
  5748. Permissions for the directories on on the local filesystem where
  5749. the DFS namenode stores the fsImage. The permissions can either be
  5750. octal or symbolic.
  5751. </description>
  5752. </property>
  5753. <property>
  5754. <name>dfs.namenode.blockreport.max.lock.hold.time</name>
  5755. <value>4</value>
  5756. <description>
  5757. The BlockReportProcessingThread max write lock hold time in ms.
  5758. </description>
  5759. </property>
  5760. <property>
  5761. <name>dfs.namenode.corrupt.block.delete.immediately.enabled</name>
  5762. <value>true</value>
  5763. <description>
  5764. Whether the corrupt replicas should be deleted immediately, irrespective
  5765. of other replicas on stale storages..
  5766. </description>
  5767. </property>
  5768. <property>
  5769. <name>dfs.namenode.random.node.order.enabled</name>
  5770. <value>false</value>
  5771. <description>
  5772. Whether to randomized the order of data nodes of a block or sort by network
  5773. distance (default behavior) before returning to clients.
  5774. </description>
  5775. </property>
  5776. <property>
  5777. <name>dfs.journalnode.edits.dir.perm</name>
  5778. <value>700</value>
  5779. <description>
  5780. Permissions for the directories on on the local filesystem where
  5781. the DFS journal node stores the edits. The permissions can either be
  5782. octal or symbolic.
  5783. </description>
  5784. </property>
  5785. <property>
  5786. <name>dfs.journalnode.handler.count</name>
  5787. <value>5</value>
  5788. <description>
  5789. The number of JournalNode RPC server threads that listen to
  5790. requests from clients.
  5791. </description>
  5792. </property>
  5793. <property>
  5794. <name>dfs.namenode.lease-hard-limit-sec</name>
  5795. <value>1200</value>
  5796. <description>
  5797. Determines the namenode automatic lease recovery interval in seconds.
  5798. </description>
  5799. </property>
  5800. <property>
  5801. <name>dfs.namenode.gc.time.monitor.enable</name>
  5802. <value>true</value>
  5803. <description>
  5804. Enable the GcTimePercentage metrics in NameNode's JvmMetrics. It will
  5805. start a thread(GcTimeMonitor) computing the metric.
  5806. </description>
  5807. </property>
  5808. <property>
  5809. <name>dfs.namenode.gc.time.monitor.observation.window.ms</name>
  5810. <value>1m</value>
  5811. <description>
  5812. Determines the windows size of GcTimeMonitor. A window is a period of time
  5813. starts at now-windowSize and ends at now. The GcTimePercentage is the gc
  5814. time proportion of the window.
  5815. </description>
  5816. </property>
  5817. <property>
  5818. <name>dfs.namenode.gc.time.monitor.sleep.interval.ms</name>
  5819. <value>5s</value>
  5820. <description>
  5821. Determines the sleep interval in the window. The GcTimeMonitor wakes up in
  5822. the sleep interval periodically to compute the gc time proportion. The
  5823. shorter the interval the preciser the GcTimePercentage. The sleep interval
  5824. must be shorter than the window size.
  5825. </description>
  5826. </property>
  5827. <property>
  5828. <name>dfs.permissions.allow.owner.set.quota</name>
  5829. <value>false</value>
  5830. <description>
  5831. Whether the owner(not superuser) of a directory can set quota of his sub
  5832. directories when permissions is enabled. Default value is false;
  5833. </description>
  5834. </property>
  5835. <property>
  5836. <name>dfs.protected.subdirectories.enable</name>
  5837. <value>false</value>
  5838. <description>whether to protect the subdirectories of directories which
  5839. set on fs.protected.directories.
  5840. </description>
  5841. </property>
  5842. <property>
  5843. <name>dfs.storage.default.policy</name>
  5844. <value>HOT</value>
  5845. <description>
  5846. Set the default Storage Policy name with following value,
  5847. LAZY_PERSIST: memory storage policy.
  5848. ALL_SSD : all SSD storage policy.
  5849. ONE_SSD : one SSD_storage policy.
  5850. HOT : hot storage policy.
  5851. WARM : warm policy.
  5852. COLD : cold_storage policy.
  5853. PROVIDED : provided storage policy.
  5854. </description>
  5855. </property>
  5856. <property>
  5857. <name>dfs.datanode.same-disk-tiering.enabled</name>
  5858. <value>false</value>
  5859. <description>
  5860. HDFS-15548 to allow DISK/ARCHIVE to be
  5861. configured on the same disk mount to manage disk IO.
  5862. When this is enabled, datanode will control the capacity
  5863. of DISK/ARCHIVE based on reserve-for-archive.percentage.
  5864. </description>
  5865. </property>
  5866. <property>
  5867. <name>dfs.datanode.reserve-for-archive.default.percentage</name>
  5868. <value>0.0</value>
  5869. <description>
  5870. Default disk capacity ratio of ARCHIVE volume,
  5871. expected the value to be between 0 to 1.
  5872. This will be applied when DISK/ARCHIVE volumes are configured
  5873. on the same mount, which is detected by datanode.
  5874. Beware that capacity usage might be >100% if there are already
  5875. data blocks exist and the configured ratio is small, which will
  5876. prevent the volume from taking new blocks
  5877. until capacity is balanced out.
  5878. </description>
  5879. </property>
  5880. <property>
  5881. <name>dfs.datanode.same-disk-tiering.capacity-ratio.percentage</name>
  5882. <value></value>
  5883. <description>
  5884. Disk capacity ratio of DISK or ARCHIVE volume
  5885. when dfs.datanode.same-disk-tiering is turned on
  5886. This will override the value of
  5887. dfs.datanode.reserve-for-archive.default.percentage .
  5888. Example value:
  5889. [0.3]/disk1/archive,[0.7]/disk1/disk,[0.4]/disk2/archive,[0.6]/disk2/disk
  5890. This is only effective for configured
  5891. DISK/ARCHIVE volumes in dfs.datanode.data.dir.
  5892. </description>
  5893. </property>
  5894. <property>
  5895. <name>dfs.balancer.getBlocks.hot-time-interval</name>
  5896. <value>0</value>
  5897. <description>
  5898. Balancer prefer moving cold blocks i.e blocks associated with files
  5899. accessed or modified before the specified time interval.
  5900. </description>
  5901. </property>
  5902. <property>
  5903. <name>dfs.datanode.directoryscan.max.notify.count</name>
  5904. <value>5</value>
  5905. <description>
  5906. Defines the maximum number of blocks that the DirectoryScanner may notify
  5907. namenode right way for received or deleted blocks after one round.
  5908. </description>
  5909. </property>
  5910. <property>
  5911. <name>dfs.datanode.nameservices.resolution-enabled</name>
  5912. <value>false</value>
  5913. <description>
  5914. Determines if the given nameservice address is a domain name which needs to
  5915. be resolved (using the resolver configured by dfs.nameservices.resolver.impl).
  5916. This is used by datanode to resolve namenodes.
  5917. </description>
  5918. </property>
  5919. <property>
  5920. <name>dfs.datanode.nameservices.resolver.impl</name>
  5921. <value></value>
  5922. <description>
  5923. Nameservice resolver implementation used by datanode.
  5924. Effective with dfs.nameservices.resolution-enabled on.
  5925. </description>
  5926. </property>
  5927. <property>
  5928. <name>dfs.client.mark.slownode.as.badnode.threshold</name>
  5929. <value>10</value>
  5930. <description>
  5931. The threshold to mark a slownode as a badnode. If we get PipelineAck from
  5932. a slownode continuously for ${dfs.client.treat.slownode.as.badnode.threshold}
  5933. times, we should mark it as a badnode.
  5934. </description>
  5935. </property>
  5936. <property>
  5937. <name>dfs.datanode.lockmanager.trace</name>
  5938. <value>false</value>
  5939. <description>
  5940. If this is true, after shut down datanode lock Manager will print all leak
  5941. thread that not release by lock Manager. Only used for test or trace dead lock
  5942. problem. In produce default set false, because it's have little performance loss.
  5943. </description>
  5944. </property>
  5945. <property>
  5946. <name>dfs.client.fsck.connect.timeout</name>
  5947. <value>60000ms</value>
  5948. <description>
  5949. The amount of time the fsck client will wait to connect to the namenode
  5950. before timing out.
  5951. </description>
  5952. </property>
  5953. <property>
  5954. <name>dfs.client.fsck.read.timeout</name>
  5955. <value>60000ms</value>
  5956. <description>
  5957. The amount of time the fsck client will wait to read from the namenode
  5958. before timing out. If the namenode does not report progress more
  5959. frequently than this time, the client will give up waiting.
  5960. </description>
  5961. </property>
  5962. <property>
  5963. <name>dfs.client.output.stream.uniq.default.key</name>
  5964. <value>DEFAULT</value>
  5965. <description>
  5966. The default prefix key to construct the uniqKey for one DFSOutputStream.
  5967. If the namespace is DEFAULT, it's best to change this conf to other value.
  5968. </description>
  5969. </property>
  5970. <property>
  5971. <name>dfs.client.congestion.backoff.mean.time</name>
  5972. <value>5000</value>
  5973. <description>
  5974. The mean time in milliseconds which is used to compute
  5975. client congestion backoff sleep time.
  5976. </description>
  5977. </property>
  5978. <property>
  5979. <name>dfs.client.congestion.backoff.max.time</name>
  5980. <value>50000</value>
  5981. <description>
  5982. The max time in milliseconds which is used to restrict
  5983. the upper limit backoff sleep time for client.
  5984. </description>
  5985. </property>
  5986. <property>
  5987. <name>dfs.client.rbf.observer.read.enable</name>
  5988. <value>false</value>
  5989. <description>
  5990. Enables observer reads for clients. This should only be enabled when clients are using routers.
  5991. </description>
  5992. </property>
  5993. </configuration>