hadoop配置文件詳解系列(二)-hdfs-site.xml篇


上一篇介紹了core-site.xml的配置,本篇繼續介紹hdfs-site.xml的配置。
屬性名稱
屬性值
描述
hadoop.hdfs.configuration.version 1 配置文件的版本
dfs.namenode.rpc-address   處理所有客戶端請求的RPC地址,若在HA場景中,可能有多個namenode,就把名稱ID添加到進來。該屬性的格式為nn-host1:rpc-port。
dfs.namenode.rpc-bind-host   RPC服務器的真實地址,如果為空,則使用dfs.namenode.rpc-address屬性中配置的主機名。該屬性如果在HA場景中,可以在每個namenode中都指定。如果設置為0.0.0.0,則會在此namenode中監聽所有的接口。
dfs.namenode.servicerpc-address   用於HDFS服務通信的RPC地址,所有的backupnode,datanode和其它服務都應該連接到這個地址。如果該屬性未設置,則使用dfs.namenode.rpc-address屬性的值。
dfs.namenode.servicerpc-bind-host   RPC服務器中服務的真實地址,如果為空,則使用dfs.namenode.servicerpc-bind-host屬性中配置的主機名。該屬性如果在HA場景中,可以在每個namenode中都指定。如果設置為
dfs.namenode.lifeline.rpc-address   namenode rpc 生命線地址。用於將實現輕量級的心跳檢測,如果該屬性為空,則不啟用lifeline服務器。默認情況下,該屬性是空的。
dfs.namenode.lifeline.rpc-bind-host   生命線RPC服務器的真實地址。
dfs.namenode.secondary.http-address 0.0.0.0:50090 secondary namenode HTTP服務器地址和端口。
dfs.namenode.secondary.https-address 0.0.0.0:50091 secondary namenode HTTPS服務器地址和端口。
dfs.datanode.address 0.0.0.0:50010 datanode服務器地址和端口。
dfs.datanode.http.address 0.0.0.0:50075 datanode HTTP服務器地址和端口。
dfs.datanode.ipc.address 0.0.0.0:50020 datanode IPC服務器地址和端口。
dfs.datanode.handler.count 10 datanode的服務器線程數。
dfs.namenode.http-address 0.0.0.0:50070 namenode web UI監聽的地址和端口。
dfs.namenode.http-bind-host   HTTP服務器綁定的真實地址。
dfs.namenode.heartbeat.recheck-interval 300000 心跳檢測的時間間隔,單位是毫秒。
dfs.http.policy HTTP_ONLY 用於配置是否在HDFS上支持HTTPS(SSL)。選項有HTTP_ONLY:只支持HHTPS; HTTPS_ONLY:只支持HTTPS; HTTPS_AND_HTTPS:同時支持HTTP和HTTPS。
dfs.client.https.need-auth FALSE 是否需要SSL客戶端證書身份驗證。
dfs.client.cached.conn.retry 3 HDFS客戶端從緩存中提取套接字的次數。一旦超過這個數量,客戶端將嘗試創建一個新的套接字。
dfs.https.server.keystore.resource ssl-server.xml 用於提取SSL服務器密鑰存儲信息的資源文件。
dfs.client.https.keystore.resource ssl-client.xml 用於提取SSL客戶端密鑰存儲信息的資源文件。
dfs.datanode.https.address 0.0.0.0:50475 datanode安全http服務器地址和端口。
dfs.namenode.https-address 0.0.0.0:50470 namenode安全http服務器地址和端口。
dfs.namenode.https-bind-host   HTTPS的真實地址。
dfs.datanode.dns.interface default datanode的網絡接口名稱,例如eth2。建議使用hadoop.security.dns.interface代替dfs.datanode.dns.interface。
dfs.datanode.dns.nameserver default DNS服務器的主機名或IP地址。建議使用hadoop.security.dns.nameserver代替dfs.datanode.dns.nameserver。
dfs.namenode.backup.address 0.0.0.0:50100 backup節點服務器地址和端口。如果端口為0,那么服務器將在自由端口啟動。
dfs.namenode.backup.http-address 0.0.0.0:50105 backup節點http服務器地址和端口。如果端口為0,那么服務器將在自由端口啟動。
dfs.namenode.replication.considerLoad TRUE 在選擇目標的時候,是否考慮目標的負載情況。
dfs.namenode.replication.considerLoad.factor 2 在dfs.namenode.replication.considerLoad屬性設置為true的情況下,當節點的負載超過平均值時,則拒絕寫入。
dfs.default.chunk.view.size 32768 在瀏覽器上能查看文件的字節數。
dfs.datanode.du.reserved 0 每卷保留字節的空間。
dfs.namenode.name.dir file://${hadoop.tmp.dir}/dfs/name 存放namenode的名稱表(fsimage)的目錄,如果這是一個逗號分隔的目錄列表,那么在所有目錄中復制名稱表,用於冗余。
dfs.namenode.name.dir.restore FALSE 如果為true,則允許namenode嘗試恢復之前失敗的dfs.namenode.name.dir目錄。當啟用時,在檢查點期間會嘗試恢復任何失敗的目錄。
dfs.namenode.fs-limits.max-component-length 255 定義路徑中每個組件中UTF-8編碼的最大字節數。0的值將禁用檢查。 
dfs.namenode.fs-limits.max-directory-items 1048576 定義目錄可能包含的最大項目數。無法將屬性設置為小於1或大於6400000的值。 
dfs.namenode.fs-limits.min-block-size 1048576 最小的塊大小,單位為字節。
dfs.namenode.fs-limits.max-blocks-per-file 1048576 每個文件的最大塊數。
dfs.namenode.edits.dir ${dfs.namenode.name.dir} 存放namenode的事務文件(edits)的目錄,如果這是一個逗號分隔的目錄列表,那么事務文件在所有目錄中被復制,用於冗余。默認與dfs.namenode.name.dir屬性目錄一樣。
dfs.namenode.edits.dir.required   是dfs.namenode.edits.dir屬性目錄的子集,用於確保這些edits文件目錄是最新的。
dfs.namenode.shared.edits.dir   用於HA場景中,多個namenode共享的目錄。
dfs.namenode.edits.journal-plugin.qjournal org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager  
dfs.permissions.enabled TRUE 當為true時,則允許HDFS的檢測,當為false時,則關閉HDFS的檢測,但不影響其它HDFS的其它功能。
dfs.permissions.superusergroup supergroup 超級用戶組的名稱。該值應該是單個組名。 
dfs.cluster.administrators   管理員ACL列表,用於控制誰可以訪問namenode的servlet,這個屬性由逗號分隔,例如"user1,user2 group1,group2"。用戶和組都可以為空,所以 "user1", " group1", "", "user1 group1", "user1,user2 group1,group2" 都是有效的。 '*' 表示授予所有用戶和組的訪問權限。
dfs.namenode.acls.enabled FALSE 當為false時,拒絕所有與設置或獲取ACL相關的RPC,默認情況下是false。
dfs.namenode.lazypersist.file.scrub.interval.sec 300 namenode掃描lazypersist文件的時間間隔,當設置為負值時,則禁用此屬性。
dfs.block.access.token.enable FALSE 當為true時,允許訪問令牌訪問datanode。
dfs.block.access.key.update.interval 600 namenode更新其訪問密鑰的時間間隔,單位為分鍾。
dfs.block.access.token.lifetime 600 訪問令牌的生命周期,單位為分鍾。
dfs.datanode.data.dir file://${hadoop.tmp.dir}/dfs/data 存放datanode塊的目錄。如果這是一個逗號分隔的目錄列表,那么數據將存儲在所有命名的目錄中,通常存儲在不同的設備上。
dfs.datanode.data.dir.perm 700 datanode目錄權限,可以為八進制,也可以為符號。
dfs.replication 3 副本數量。可以在創建文件時指定副本的實際數目。如果在創建時未指定復制,則使用默認值。
dfs.replication.max 512 最大副本數量。
dfs.namenode.replication.min 1 最小副本數量。
dfs.namenode.maintenance.replication.min 1 在維護模式時的最小活躍副本數量。
dfs.namenode.safemode.replication.min   用於計算安全塊數量的最小副本數,當沒有被設置時,則使用dfs.namenode.replication.min屬性的值。
dfs.blocksize 134217728 新文件的塊大小,單位為字節。可以使用如下后綴:k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) ,例如128k, 512m, 1g等。
dfs.client.block.write.retries 3 datanode寫入失敗時,嘗試重新寫入的次數。
dfs.client.block.write.replace-datanode-on-failure.enable TRUE 當為true時,如果datanode寫入失敗,則重新寫入新的datanode。
dfs.client.block.write.replace-datanode-on-failure.policy DEFAULT 當dfs.client.block.write.replace-datanode-on-failure.enable屬性為true時,該屬性有效。選項有以下幾種:ALWAYS,NEVER,DEFAULT。
dfs.client.block.write.replace-datanode-on-failure.best-effort FALSE 當dfs.client.block.write.replace-datanode-on-failure.enable屬性為true時使用。Best effort表示在繼續寫入新datanode時,如果仍然寫入失敗時采取的策略。當該屬性為true時,如果新datanode寫入失敗,則繼續找新的datanode寫入;當該屬性為false時,如果新datanode寫入失敗,則不再嘗試寫入新datanode,而是拋出異常。
dfs.client.block.write.replace-datanode-on-failure.min-replication 0 如果剩余datanode的數量小於該屬性的值,則會拋出異常。詳細要參考dfs.client.block.write.replace-datanode-on-failure.policy屬性。
dfs.blockreport.intervalMsec 21600000 塊報告的時間間隔,以毫秒為單位。
dfs.blockreport.initialDelay 0 第一次塊報告的時間延遲,以秒為單位。
dfs.blockreport.split.threshold 1000000 當datanode的塊數量小於該屬性的值時,將用一條消息發送所有目錄的塊報告,如果datanode的塊數量大於該屬性的值,則每個目錄用單獨的消息發送塊報告。
dfs.namenode.max.full.block.report.leases 6 所有塊報告的最大數量。這個數字不應該超過RPC處理器線程數或小於1。
dfs.namenode.full.block.report.lease.length.ms 300000 namenode等待塊報告的超時時間,單位為毫秒。
dfs.datanode.directoryscan.interval 21600 datanode以秒為單位掃描數據目錄,並協調內存塊和磁盤上的塊之間的差異。
dfs.datanode.directoryscan.threads 1 線程池中用於編制卷報告的線程數。
dfs.datanode.directoryscan.throttle.limit.ms.per.sec 1000 每秒鍾用於報告編譯的線程的運行時間,當有多個線程時,該屬性的時間是多個線程的累計時間。
dfs.heartbeat.interval 3 datanode的心跳時間間隔,單位為秒。
dfs.datanode.lifeline.interval.seconds   從datanode向namenode發送lifeline的時間間隔,單位為秒。該屬性的值必須大於dfs.heartbeat.interval屬性的值。
dfs.namenode.handler.count 10 RPC服務器的監聽client線程數,如果dfs.namenode.servicerpc-address屬性沒有配置,則線程會監聽所有節點的請求。
dfs.namenode.service.handler.count 10 只有當dfs.namenode.servicerpc-address屬性配置后,該屬性才有效。用於配置datanode和其它非client節點的監聽線程數。
dfs.namenode.lifeline.handler.ratio 0.1 dfs.namenode.handler.count屬性中,用於處理lifeline RPC服務的線程比例。例如dfs.namenode.handler.count屬性值為100,並且dfs.namenode.lifeline.handler.ratio屬性的值設置為0.10,則有10個線程用於處理lifeline rpc服務。
dfs.namenode.lifeline.handler.count   用於處理datanode lifeline協議的RPC服務器線程數量 。
dfs.namenode.safemode.threshold-pct 0.999f dfs.namenode.replication.min屬性中副本需要滿足的塊的百分比。
dfs.namenode.safemode.min.datanodes 0 在退出安全模式前,需要滿足活躍的datanode的數量。
dfs.namenode.safemode.extension 30000 在達到閾值后,經過多長時間后會退出安全模式,單位為毫秒。
dfs.namenode.resource.check.interval 5000 namenode resource checker運行的時間間隔,單位為毫秒。
dfs.namenode.resource.du.reserved 104857600 存儲或請求namenode存儲目錄的空間大小,單位為字節。
dfs.namenode.resource.checked.volumes   本地目錄列表。
dfs.namenode.resource.checked.volumes.minimum 1 所需的冗余namenode存儲卷的最小數量。 
dfs.datanode.balance.bandwidthPerSec 10m datanode的最大帶寬,可以使用如下后綴k(kilo), m(mega), g(giga), t(tera),p(peta), e(exa),例如128k, 512m, 1g等。或者提供完整的字節數,如134217728。
dfs.hosts   命名一個文件,該文件包含允許連接到namenode的主機列表。必須指定文件的完整路徑名。如果值為空,則允許所有主機。
dfs.hosts.exclude   命名一個文件,該文件包含不允許連接到namenode的主機列表。必須指定文件的完整路徑名。如果值為空,則不排除任何主機。 
dfs.namenode.max.objects 0 DFS支持的文件、目錄和塊的最大數量。0的值指示DFS支持的對象數目沒有限制。
dfs.namenode.datanode.registration.ip-hostname-check TRUE 當為true時,namenode連接datanode的地址必須解析成主機名。
dfs.namenode.decommission.interval 30 namenode定期檢查維護是否結束的時間間隔,單位是秒。
dfs.namenode.decommission.blocks.per.interval 500000 在每次維護期間,處理塊的近似數量。
dfs.namenode.decommission.max.concurrent.tracked.nodes 100 同時進入decommisson或maintenance的datanode的數量。
dfs.namenode.replication.interval 3 namenode定期計算datanode副本數量的時間間隔,單位為秒。
dfs.namenode.accesstime.precision 3600000 HDFS文件訪問時間的精確值,默認為1小時。當為0時,表示禁用。
dfs.datanode.plugins   逗號分隔的datanode插件列表。
dfs.namenode.plugins   逗號分隔的namenode插件列表。
dfs.namenode.block-placement-policy.default.prefer-local-node TRUE 控制默認塊放置策略如何放置塊的第一個副本。當TRUE時,它將更喜歡客戶端正在運行的節點。當FALSE時,它將首選與客戶端相同的機架中的節點。設置為FALSE避免了大文件的整個副本終止在單個節點上的情況,從而創建熱點。
dfs.stream-buffer-size 4096 流文件的緩沖區大小。
dfs.bytes-per-checksum 512 每個校驗和的字節數,不能大於dfs.stream-buffer-size屬性的值。
dfs.client-write-packet-size 65536 客戶端寫入的數據包大小。
dfs.client.write.exclude.nodes.cache.expiry.interval.millis 600000 在客戶機中排除DN列表中的DN的最大周期。在此階段之后,以毫秒為單位,先前排除的節點將自動從緩存中移除,並且將再次被認為適合於塊分配。在保持文件打開很長時間(如寫前日志(WAL)文件)的情況下,可以使其降低或提高,從而使作者能夠容忍集群維護重新啟動。默認為10分鍾。 
dfs.namenode.checkpoint.dir file://${hadoop.tmp.dir}/dfs/namesecondary DFS secondary name node存放臨時鏡像的目錄。如果這是一個逗號分隔的目錄列表,則在所有目錄中復制該圖像以進行冗余。
dfs.namenode.checkpoint.edits.dir ${dfs.namenode.checkpoint.dir} DFS secondary name node存放臨時edits的目錄。如果這是一個逗號分隔的目錄列表,則在所有目錄中復制該圖像以進行冗余。
dfs.namenode.checkpoint.period 3600 兩個周期檢查點之間的秒數。 
dfs.namenode.checkpoint.txns 1000000 創建檢查點的時間間隔。
dfs.namenode.checkpoint.check.period 60 查詢未檢查的檢查點事務的執行時間間隔,單位為秒。
dfs.namenode.checkpoint.max-retries 3 當加載fsimage或重演edits失敗時,重試的次數。
dfs.namenode.num.checkpoints.retained 2 在namenode和seccondary namenode中保留image檢查點(fsimage_*)的數量。
dfs.namenode.num.extra.edits.retained 1000000 namenode的需要保留的額外的事務。
dfs.namenode.max.extra.edits.segments.retained 10000 額外的edit日志段的最大數量。
dfs.namenode.delegation.key.update-interval 86400000 namenode中更新委托令牌主密鑰的時間間隔,單位為毫秒。
dfs.namenode.delegation.token.max-lifetime 604800000 令牌的最大生命周期,單位為毫秒。
dfs.namenode.delegation.token.renew-interval 86400000 授權令牌的更新間隔以毫秒為單位。 
dfs.datanode.failed.volumes.tolerated 0 在數據陽極停止服務之前允許失敗的卷的數量。默認情況下,任何卷故障都會導致datanode關閉。
dfs.image.compress FALSE dfs image是否應該補充壓縮。
dfs.image.compression.codec org.apache.hadoop.io.compress.DefaultCodec 如果DFS圖像被壓縮,它們應該如何壓縮?必須是 io.compression.codecs屬性中定義的編解碼器。
dfs.image.transfer.timeout 60000 image傳輸超時時間,單位為毫秒。
dfs.image.transfer.bandwidthPerSec 0 用於常規image傳輸的最大帶寬,即每秒的字節數。
dfs.image.transfer-bootstrap-standby.bandwidthPerSec 0 從image傳輸到bootstrap的最大帶寬。
dfs.image.transfer.chunksize 65536 上傳檢查點的塊大小,以字節為單位。
dfs.namenode.support.allow.format TRUE 是否允許namenode將自身進行格式化。建議設置為false。
dfs.datanode.max.transfer.threads 4096 datanode進行傳輸數據的最大線程數。
dfs.datanode.scan.period.hours 504 當為正值時,datanode將按照設定時間間隔進行塊掃描。當為負值時,則禁止塊掃描。當為0時,則使用默認的504小時(3周)進行定期掃描。
dfs.block.scanner.volume.bytes.per.second 1048576 當為0時,datanode的塊掃描會被禁用,當為正數時,該屬性為datanode每秒掃描的字節數。I
dfs.datanode.readahead.bytes 4194304 在讀取塊文件時,如果Hadoop本地庫可用,datanode可以使用posix_fadvise系統調用來在當前閱讀器位置之前將數據顯式地寫入操作系統緩沖區緩存中。這可以提高性能,尤其是當磁盤高度競爭時。此配置指定當前數據讀取位置前面的字節數,datanode將嘗試提前讀取。通過將此屬性配置為0,可以禁用此特性。如果本地庫不可用,此配置沒有效果。
dfs.datanode.drop.cache.behind.reads FALSE 在一些工作負載中,從HDFS讀取的數據被認為足夠大以至於在操作系統緩沖區高速緩存中不太有用。在這種情況下,datanode可以被配置為在傳送到客戶端之后從緩存高速緩存中自動清除所有數據。對於只讀取短塊(例如Hbase random IO工作負載)的工作負載,此行為被自動禁用。這可以通過釋放緩存緩存空間使用更多可緩存數據來改善某些工作負載的性能。如果Hadoop本機庫不可用,此配置沒有效果。
dfs.datanode.drop.cache.behind.writes FALSE 在一些工作負載中,已知寫入HDFS的數據足夠大,以至於在操作系統緩沖區高速緩存中不太有用。在這種情況下,datanode可以被配置為在寫入到磁盤之后從緩存高速緩存中自動清除所有數據。這可以通過釋放緩存緩存空間使用更多可緩存數據來改善某些工作負載的性能。如果Hadoop本機庫不可用,此配置沒有效果。 
dfs.datanode.sync.behind.writes FALSE 當為true時,datanode將指示操作系統在寫入后立即將所有寫入的數據排隊到磁盤。這與通常的OS策略不同,它可能在觸發寫回之前等待30秒。這可以通過平滑寫入磁盤的數據的IO配置文件來改善某些工作負載的性能。如果Hadoop本機庫不可用,此配置沒有效果。 
dfs.client.failover.max.attempts 15 client最多嘗試次數,如果超過,則認為client失敗。
dfs.client.failover.sleep.base.millis 500 錯誤重試的時間間隔,這是一個這是迄今為止嘗試的數目的函數,具有+/- 50%的隨機因子。此選項指定在故障轉移計算中使用的基值。第一次故障轉移將立即重試。第二次故障轉移嘗試將至少延遲dfs.client.failover.sleep.base.millis milliseconds,等等。
dfs.client.failover.sleep.max.millis 15000 錯誤重試的時間間隔,這是一個這是迄今為止嘗試的數目的函數,具有+/- 50%的隨機因子。此選項指定在故障轉移之間等待的最大值dfs.client.failover.sleep.max.millis milliseconds屬性值的+/- 50%。
dfs.client.failover.connection.retries 0 指示故障轉移IPC客戶端將建立服務器連接的重試次數。 
dfs.client.failover.connection.retries.on.timeouts 0 在建立服務器連接時,故障轉移IPC客戶端將在套接字超時上進行重試次數。 
dfs.client.datanode-restart.timeout 30 datanode重啟等待時間,單位為秒。
dfs.nameservices   逗號分隔的名稱服務器列表。
dfs.nameservice.id   nameservice的ID。
dfs.internal.nameservices   逗號分隔的屬於集群的nameservice列表。
dfs.ha.namenodes.EXAMPLENAMESERVICE   給定nameservicce的前綴列表,可以用逗號分隔。這將被用於確定集群中中的namenode。
dfs.ha.namenode.id   namenode的ID。
dfs.ha.log-roll.period 120 standby節點向active節點詢問edits的時間間隔,以秒為單位。
dfs.ha.tail-edits.period 60 standby節點檢查log段的時間間隔,以秒為單位。
dfs.ha.tail-edits.rolledits.timeout 60 在active namenode上調用rollEdits RPC的超時時間,單位為秒。
dfs.ha.automatic-failover.enabled FALSE 是否啟用自動故障轉移。
dfs.client.use.datanode.hostname FALSE client連接datanode時,是否應該使用datanode的主機名。
dfs.datanode.use.datanode.hostname FALSE datanode連接其它datanode進行數據傳輸時,是否應該使用datanode的主機名。
dfs.client.local.interfaces   一個逗號分隔的網絡接口名稱列表,用於client和datanode之間的數據傳輸。
dfs.datanode.shared.file.descriptor.paths /dev/shm,/tmp 一個逗號分隔的路徑列表,用於創建將在datanode和client之間共享的文件描述符。
dfs.short.circuit.shared.memory.watcher.interrupt.check.ms 60000 為單元測試使用的一個屬性。
dfs.namenode.kerberos.principal   namenode服務主體。這通常設置為nn/_HOST@REALM.TLD。每個namenode將在啟動時用它自己的完全限定主機名替換宿主。 _HOST占位符允許在HA設置中使用兩個namenode上相同的配置設置。
dfs.namenode.keytab.file   namenode服務主體的keytab文件,主體參數由dfs.namenode.kerberos.principal屬性配置。
dfs.datanode.kerberos.principal   datanode服務主體。
dfs.datanode.keytab.file   datanode服務主體的keytab文件,主體參數由dfs.datanode.kerberos.principal屬性配置。
dfs.journalnode.kerberos.principal   JournalNode服務主體。這通常設置為jn/_HOST@REALM.TLD。每個journalnode將在啟動時用它自己的完全限定主機名替換宿主。 _HOST占位符允許使用與其它journalnode相同的配置設置。
dfs.journalnode.keytab.file   journalnode服務主體的keytab文件,主體參數由dfs.journalnode.kerberos.principal屬性配置。
dfs.namenode.kerberos.internal.spnego.principal ${dfs.web.authentication.kerberos.principal} 當kerberos啟用時,namenode用於web UI SPNEGO驗證的服務主體。
dfs.journalnode.kerberos.internal.spnego.principal   當kerberos啟用時,journalnode http server用於SPNEGO驗證的服務主體。
dfs.secondary.namenode.kerberos.internal.spnego.principal ${dfs.web.authentication.kerberos.principal} 當kerberos啟用時,secondary namenode用於web UI SPNEGO驗證的服務主體。
dfs.web.authentication.kerberos.principal   namenode用於WebHDFS SPNEGO驗證的服務主體,需要WebHDFS和安全性都啟用。 
dfs.web.authentication.kerberos.keytab   和dfs.web.authentication.kerberos.principal屬性的主體相關的keytab文件。 
dfs.namenode.kerberos.principal.pattern * 在跨域環境中使用。
dfs.namenode.avoid.read.stale.datanode FALSE 是否允許讀取“陳舊”datanode(也就是在設定時間間隔內沒有向namenode發送心跳消息的節點)。
dfs.namenode.avoid.write.stale.datanode FALSE 是否允許寫入“陳舊”datanode(也就是在設定時間間隔內沒有向namenode發送心跳消息的節點)。
dfs.namenode.stale.datanode.interval 30000 在設定的這個時間里,如果namenode沒有收到datanode的心跳消息,則將datanode置為“陳舊”datanode,單位為毫秒。
dfs.namenode.write.stale.datanode.ratio 0.5f 當陳舊datanode的數量占比超過設置的值時,會停止寫入陳舊的datanode。
dfs.namenode.invalidate.work.pct.per.iteration 0.32f 注意:高級屬性。謹慎改變。該屬性決定了單條datanode心跳刪除命令進行塊無效(刪除)的百分比。0.32f表示100%。
dfs.namenode.replication.work.multiplier.per.iteration 2 注意:高級屬性。謹慎改變。Datanode並行傳輸時的塊數量。這個數字可以是任何正、非零整數。
nfs.server.port 2049 nft的端口號。
nfs.mountd.port 4242 hadoop安裝守護進程的端口號。
nfs.dump.dir /tmp/.hdfs-nfs 該目錄用於在寫入HDFS之前臨時保存無序的寫入。對於每一個文件,無序的寫入在累積到超過一定的閾值(例如1MB)之后被丟棄,因此需要確保目錄有足夠的空間。
nfs.rtmax 1048576 這是NFS網關支持的讀取請求的最大字節大小。
nfs.wtmax 1048576  這是NFS網關支持的寫入請求的最大字節大小。
nfs.keytab.file   注意:高級屬性。謹慎改變。這是HDFS NFS網關的keytab文件的路徑。
nfs.kerberos.principal   注意:高級屬性。謹慎改變。這是Kerberos主體的名稱。格式為nfs-gateway-user/nfs-gateway-host@kerberos-realm
nfs.allow.insecure.ports TRUE 當為false時,會拒絕來自無特權端口(高於1023的端口)的客戶端連接。
dfs.webhdfs.enabled TRUE 是否允許在namenode和datanode中啟用WebHDFS (REST API)。
hadoop.fuse.connection.timeout 300 在fuse_dfs中緩存libhdfs連接對象的最小秒數。較低的值將導致較低的內存消耗;較高的值可以通過避免創建新連接對象的開銷來加快訪問速度。 
hadoop.fuse.timer.period 5 fuse_dfs中緩存過期檢查之間的秒數。
dfs.namenode.metrics.logger.period.seconds 600 namenode記錄其度量的頻率。
dfs.datanode.metrics.logger.period.seconds 600 datanode記錄其度量的頻率。
dfs.metrics.percentiles.intervals   默認情況下被禁用。
dfs.datanode.peer.stats.enabled FALSE 是否開啟datanode的跟蹤統計。
dfs.datanode.outliers.report.interval 1800000 控制datanode報告對等延遲的頻率。
dfs.datanode.fileio.profiling.sampling.percentage 0 設置控制文件I/O事件的百分比。默認值為0禁用磁盤統計。設置為1和100之間的整數值,以啟用磁盤統計。
hadoop.user.group.metrics.percentiles.intervals   默認情況下被禁用。
dfs.encrypt.data.transfer FALSE 是否啟用塊數據的加密。
dfs.encrypt.data.transfer.algorithm   選項有3des和rc4兩種。
dfs.encrypt.data.transfer.cipher.suites   選項有AES/CTR/NoPadding及未定義四種。
dfs.encrypt.data.transfer.cipher.key.bitlength 128 client和datanode之間的密鑰位長度,值有128,192和256三種。
dfs.trustedchannel.resolver.class   TrustedChannelResolver用於確定通道是否受信任以用於普通數據傳輸。
dfs.data.transfer.protection   一個逗號分隔的SASL保護值列表,用於讀取或寫入塊數據時與datanode的安全連接。選項有authentication, integrity and privacy三種。
dfs.data.transfer.saslproperties.resolver.class   用於連接datanode的QOP的SaslPropertiesResolver,默認是hadoop.security.saslproperties.resolver.class。
dfs.datanode.hdfs-blocks-metadata.enabled FALSE 是否啟用后面datanode支持DistributedFileSystem#getFileVBlockStorageLocations API。
dfs.client.file-block-storage-locations.num-threads 10 DistributedFileSystem#getFileBlockStorageLocations()中進行並行RPC的線程數。
dfs.client.file-block-storage-locations.timeout.millis 1000 DistributedFileSystem#getFileBlockStorageLocations()中進行RPC的超時時間,單位為毫秒。
dfs.journalnode.rpc-address 0.0.0.0:8485 JournalNode RPC服務器地址和端口。
dfs.journalnode.http-address 0.0.0.0:8480 JournalNode HTTP服務器監聽的地址和端口。如果端口為0,那么服務器將在自由端口啟動。
dfs.journalnode.https-address 0.0.0.0:8481 JournalNode HTTPS服務器監聽的地址和端口。如果端口為0,那么服務器將在自由端口啟動。
dfs.namenode.audit.loggers default org.apache.hadoop.hdfs.server.namenode.AuditLogger的實現類。
dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold 10737418240 當dfs.datanode.fsdataset.volume.choosing.policy屬性設置為org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy時使用。該屬性控制datanode卷在被認為不平衡之前允許在空閑磁盤空間上有多少不同字節。如果所有卷的自由空間都在這一范圍內,則卷將被認為是平衡的,並且塊分配將在純循環的基礎上完成。
dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction 0.75f 當dfs.datanode.fsdataset.volume.choosing.policy屬性設置為org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy時使用。此屬性控制新的塊分配百分比將被發送給具有比其他磁盤更可用的磁盤空間的卷。這個設置應該在0.0到1.0的范圍內。
dfs.namenode.edits.noeditlogchannelflush FALSE 是否刷新edit log文件通道。
dfs.client.cache.drop.behind.writes   與dfs.datanode.drop.cache.behind.writes屬性類似,該屬性導致頁面緩存被丟棄在HDFS寫之后,可能釋放更多的內存用於其他用途。
dfs.client.cache.drop.behind.reads   與dfs.datanode.drop.cache.behind.reads屬性類似,該屬性導致頁面緩存被丟棄在HDFS讀取之后,可能釋放更多的內存用於其他用途。
dfs.client.cache.readahead   當使用遠程讀取時,此設置會導致datanode使用posix_fadvise在塊文件中提前讀取,可能會降低I/O等待時間。
dfs.namenode.enable.retrycache TRUE 當為true時,允許在namenode上重試緩存。
dfs.namenode.retrycache.expirytime.millis 600000 重試緩存條目被保留的時間。
dfs.namenode.retrycache.heap.percent 0.03f 此參數配置為重試緩存分配的堆大小(不包括響應緩存)。
dfs.client.mmap.enabled TRUE 如果將此設置為false,客戶端將不會嘗試內存映射讀取。
dfs.client.mmap.cache.size 256 當使用0拷貝讀取時,DFS client保持最近使用的內存映射區域的緩存。此參數控制將在該緩存中保留的最大條目數。這個數字越大,我們可能會使用更多的內存描述符文件描述符。注意,當這個大小設置為0時,仍然可以進行零拷貝讀取。 Wh
dfs.client.mmap.cache.timeout.ms 3600000 在使用時,我們將在緩存中保持MMAP條目的最小時間長度。如果一個條目在緩存中比這個長,並且沒有人使用它,它將被后台線程移除。
dfs.client.mmap.retry.timeout.ms 300000 在重試失敗的MMAP操作之前,我們將等待的最小時間量。
dfs.client.short.circuit.replica.stale.threshold.ms 1800000 如果沒有datanode的通信,我們將考慮短路副本的有效時間是最大的。經過這段時間后,即使在緩存中,我們也會重新獲取短路副本。
dfs.namenode.path.based.cache.block.map.allocation.percent 0.25 分配給緩存塊地圖的java堆的百分比。
dfs.datanode.max.locked.memory 0 用於在datanode上緩存塊副本的字節內存量。
dfs.namenode.list.cache.directives.num.responses 100 設置NAMENODE將響應於listDirectives RPC發送的高速緩存指令的數量。.
dfs.namenode.list.cache.pools.num.responses 100 設置NAMENODE將響應於listPools RPC發送的高速緩存池的數量。
dfs.namenode.path.based.cache.refresh.interval.ms 30000 后續路徑高速緩存之間的毫秒數。
dfs.namenode.path.based.cache.retry.interval.ms 30000 當NAMENODE需要取消緩存的東西,或者緩存未緩存的東西時,它必須通過發送 DNA_CACHE或DNA_UNCACHE命令來響應數據陽極心跳來引導數據。
dfs.datanode.fsdatasetcache.max.threads.per.volume 4 用於緩存datanode上新數據的每卷的最大線程數。這些線程同時消耗I/O和CPU。這會影響正常的datanode操作。
dfs.cachereport.intervalMsec 10000 以毫秒為單位確定緩存報告間隔。在這段時間之后,datanode將其緩存狀態的完整報告發送到namenode。
dfs.namenode.edit.log.autoroll.multiplier.threshold 2 確定active namenode何時滾動自己的edit log。
dfs.namenode.edit.log.autoroll.check.interval.ms 300000 active namenode以毫秒為單位檢查它是否需要滾動自己的edit log。
dfs.webhdfs.user.provider.user.pattern ^[A-Za-z_][A-Za-z0-9._-]*[$]?$ webhdfs用戶名和組的有效模式,它必須是一個有效的java正則表達式。 
dfs.webhdfs.acl.provider.permission.pattern ^(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})?)*$ 在webhdfs ACL操作的用戶和組名的有效模式,它必須是一個有效的java正則表達式。
dfs.webhdfs.socket.connect-timeout 60s 連接到WebHDFS服務器的Socket超時時間。
dfs.webhdfs.socket.read-timeout 60s 從WebHDFS服務器讀取數據的套接字超時時間。單位可以為 ns, us, ms, s, m, h, d for nanoseconds, microseconds, milliseconds, seconds, minutes, hours, days 等。
dfs.client.context default 我們應該使用的DFSClient上下文的名稱。
dfs.client.read.shortcircuit FALSE 此配置參數開啟短路本地讀取。 
dfs.client.socket.send.buffer.size 0 DFSClient的套接字發送緩沖區大小。這可能影響TCP連接吞吐量。如果設置為零或負值,則不顯式設置緩沖區大小,從而使TCP自動調整到某些系統上。默認值為0。.
dfs.domain.socket.path   可選項。DataNode 本地文件系統到 UNIX 域套接字的路徑,用於 DataNode 和本地 HDFS 客戶端之間的通信。該套接字用於 Short Circuit Read。只有 HDFS 系統用戶和“root”擁有父目錄及其所有上級的寫入權限。
dfs.client.read.shortcircuit.skip.checksum FALSE 如果設置了此配置參數,則短路本地讀取將跳過校驗和。這通常是不推薦的,但它可能對特殊設置有用。如果正在HDFS之外進行自己的校驗求和,則可以考慮使用此方法。 
dfs.client.read.shortcircuit.streams.cache.size 256 DFS客戶端維護了一個最近打開的文件描述符的緩存,這個參數控制緩存中文件描述符的最大數量。
dfs.client.read.shortcircuit.streams.cache.expiry.ms 300000 控制文件描述符在client緩存中的最小時間。
dfs.datanode.shared.file.descriptor.paths /dev/shm,/tmp 創建共享內存段的目錄,用逗號分隔。Client和datanode通過這個共享內存段交換信息。
dfs.namenode.audit.log.debug.cmdlist   當audit log級別是debug時,寫入到namenode audit log的命令列表,用逗號分隔。
dfs.client.use.legacy.blockreader.local FALSE 當為true時,使用基於HDFS-2246的 Legacy short-circuit reader實現方式。
dfs.block.local-path-access.user   允許在legacy short-circuit本地讀取時打開塊文件的用戶列表,用逗號分隔。
dfs.client.domain.socket.data.traffic FALSE 控制是否會嘗試通過UNIX域套接字傳遞正常的數據流量,而不是通過TCP套接字在節點本地數據傳輸上傳遞數據。
dfs.namenode.reject-unresolved-dn-topology-mapping FALSE 當為true時,如果datanode的拓撲映射未被解析並且返回null,則namenode將拒絕此datanode的注冊。
dfs.client.slow.io.warning.threshold.ms 30000 在dfsclient中記錄慢io警告的閾值。
dfs.datanode.slow.io.warning.threshold.ms 300 在datanode中記錄慢io警告的閾值。
dfs.namenode.xattrs.enabled TRUE 是否支持擴展namenode的屬性。
dfs.namenode.fs-limits.max-xattrs-per-inode 32 每個索引節點的擴展屬性的最大數目。
dfs.namenode.fs-limits.max-xattr-size 16384 以字節為單位的擴展屬性的名稱和值的最大組合大小。它應該大於0,小於或等於32768。
dfs.namenode.lease-recheck-interval-ms 2000  
dfs.namenode.max-lock-hold-to-release-lease-ms 25 在釋放lease期間,鎖會使NAMENODE上的任何操作卡住。
dfs.namenode.write-lock-reporting-threshold-ms 5000 當一個寫鎖在NAMENODE上被保存很長時間時,當鎖被釋放時,這將被記錄下來。這設置了日志記錄發生時必須持有鎖的時間。
dfs.namenode.read-lock-reporting-threshold-ms 5000 當讀鎖在NAMENODE上保存很長時間時,當鎖被釋放時將記錄該日志。這設置了日志記錄發生時必須持有鎖的時間。
dfs.namenode.lock.detailed-metrics.enabled FALSE 如果為true,NAMENODE將跟蹤各種操作保存命名空間鎖的時間,並將其作為度量。
dfs.namenode.fslock.fair TRUE 如果為true,FS namesystem鎖將在公平模式下使用,這將有助於防止編寫器線程被餓死,但可以提供更低的鎖定吞吐量。
dfs.namenode.startup.delay.block.deletion.sec 0 在NAMENODE啟動后,延遲設定時間后,我們將暫停塊刪除。默認情況下,它已被禁用。
dfs.namenode.list.encryption.zones.num.responses 100 當列出加密區域時,將在批處理中返回的最大區域數。
dfs.namenode.list.openfiles.num.responses 1000 當列出打開的文件時,將在單個批處理中返回的最大打開文件數。
dfs.namenode.edekcacheloader.interval.ms 1000 當KeyProvider配置后,namenode被啟動或變成active時,進行edek 緩存預熱的時間間隔。
dfs.namenode.edekcacheloader.initial.delay.ms 3000 當KeyProvider配置后, namenode被啟動或變成active時,第一次嘗試edit cache緩存預熱的延遲時間。
dfs.namenode.inotify.max.events.per.rpc 1000 將在單個RPC響應中發送給客戶端的最大事件數。
dfs.user.home.dir.prefix /user 該目錄用於添加用戶名以獲得用戶的home目錄。
dfs.datanode.cache.revocation.timeout.ms 900000 當dfsclient讀取緩存中的datanode塊文件時,將跳過校驗。datanode將保持塊文件在緩存中,直到客戶端完成。但是,如果客戶端占用非常長的時間,那么datanode可能需要從緩存中逐出塊文件。此屬性數值控制datanode等待客戶端釋放其沒有校驗和讀取的副本的時間。
dfs.datanode.cache.revocation.polling.ms 500 datanode應該多久輪詢一次,看看客戶端是否停止使用datanode想要取消的副本。
dfs.datanode.block.id.layout.upgrade.threads 12 創建硬鏈接的最大線程數。
dfs.storage.policy.enabled TRUE 允許用戶更改文件和目錄的存儲策略。
dfs.namenode.legacy-oiv-image.dir   在standby namenode和secondary namenode的檢查點期間,保存fsimage的命名空間的位置。
dfs.namenode.top.enabled TRUE 啟用nntop
dfs.namenode.top.window.num.buckets 10 nntop的桶數。
dfs.namenode.top.num.users 10 頂部工具返回的頂級用戶數。
dfs.namenode.top.windows.minutes 1,5,25 nntop在分鍾內的報告周期,用逗號分隔。
dfs.webhdfs.ugi.expire.after.access 600000 在最后一次訪問之后,緩存的UGI將在多長時間內過期。0表示永不過期。
dfs.namenode.blocks.per.postponedblocks.rescan 10000 在postponedMisreplicatedBlocks每個迭代中掃描的塊數。
dfs.datanode.block-pinning.enabled FALSE PIN塊是否在受歡迎的datanode上。
dfs.client.block.write.locateFollowingBlock.initial.delay.ms 400 locateFollowingBlock的初始延遲,每個重試的延遲時間將成倍增加。
dfs.ha.zkfc.nn.http.timeout.ms 20000 當DFS ZKFC在本地namenode成為服務不正常后,嘗試獲得本地namenode線程轉儲時,HTTP連接和讀取超時值(單位為MS)。
dfs.namenode.quota.init-threads 4 quota初始化並發線程的數量。
dfs.datanode.transfer.socket.send.buffer.size 0 DataXceiver Socket發送緩沖區大小。
dfs.datanode.transfer.socket.recv.buffer.size 0 DataXceiver Socket接收緩沖區大小。
dfs.namenode.upgrade.domain.factor ${dfs.replication} 只有當將塊放置策略設置為BlockPlacementPolicyWithUpgradeDomain時,才有效。它定義了任何塊的副本應該具有的唯一升級域的數量。當副本的數量小於或等於該值時,策略確保每個副本具有唯一的升級域。當副本的數量大於該值時,策略確保唯一域的數量至少為該值。 
dfs.ha.zkfc.port 8019 ZKFC的RPC端口。
dfs.datanode.bp-ready.timeout 20 在接收到的請求失敗之前,datanode的最大等待時間准備就緒。
dfs.datanode.cached-dfsused.check.interval.ms 600000 在每個卷中加載DU_CACHE_FILE的間隔檢查時間。
dfs.webhdfs.rest-csrf.enabled FALSE 如果為真,則允許WebHDFS對跨站點請求偽造(CSRF)進行保護。
dfs.webhdfs.rest-csrf.custom-header X-XSRF-HEADER 當 dfs.webhdfs.rest-csrf.enabled屬性為true時,發送的HTTP請求的custom header。
dfs.webhdfs.rest-csrf.methods-to-ignore GET,OPTIONS,HEAD,TRACE 當dfs.webhdfs.rest-csrf.enabled屬性為true時,HTTP請求中不需要custom header的列表,用逗號分隔。
dfs.webhdfs.rest-csrf.browser-useragents-regex ^Mozilla.*,^Opera.* 當dfs.webhdfs.reset-csrf.enabled屬性為true時,HTTP請求的用戶代理頭部需匹配的正則表達式。
dfs.xframe.enabled TRUE 當為true時,則通過將返回的X_FRAME_OPTIONS設置為SAMEORIGIN,來實現對點擊劫持的保護。
dfs.xframe.value SAMEORIGIN 選項有三個:DENY/SAMEORIGIN/ALLOW-FROM。
dfs.http.client.retry.policy.enabled FALSE 當為true時,允許WebHDFS客戶端的重試策略。當WebHDFS需要在集群間拷貝超大文件,此策略非常有用。
dfs.http.client.retry.policy.spec 10000,6,60000,10 指定WebHDFS客戶端的多線性隨機重試策略,例如給定重試次數和睡眠時間(N0,T0),(N1,T1),…,重試N0次后睡眠T0毫秒,重試N1次后睡眠T1毫秒,等等。
dfs.http.client.failover.max.attempts 15 指定WebHDFS客戶端在網絡異常情況下的故障轉移嘗試的最大數目。 
dfs.http.client.retry.max.attempts 10 指定WebHDFS客戶端重試嘗試的最大次數。
dfs.http.client.failover.sleep.base.millis 500 WebHDFS客戶端在重試或故障轉移之間的指數增加的睡眠時間,單位為毫秒。 
dfs.http.client.failover.sleep.max.millis 15000 在WebHDFS客戶端重試或故障轉移之間指定睡眠時間的上限,單位為毫秒。
dfs.namenode.hosts.provider.classname org.apache.hadoop.hdfs.server.blockmanagement.HostFileManager 提供主機文件訪問的類。
datanode.https.port 50475 datanode的HTTPS端口。
dfs.balancer.dispatcherThreads 200 用於HDFS均衡器塊移動器的線程池的大小。
dfs.balancer.movedWinWidth 5400000 HDFS平衡器跟蹤塊及其位置的時間窗口,單位是毫秒。
dfs.balancer.moverThreads 1000 用於執行塊移動的線程池大小。
dfs.balancer.max-size-to-move 10737418240 在單個線程中平衡器可以移動的最大字節數。
dfs.balancer.getBlocks.min-block-size 10485760 在獲取源塊列表時忽略字節的最小塊閾值大小。
dfs.balancer.getBlocks.size 2147483648 獲取源塊列表時獲得的datanode塊的總字節大小。
dfs.balancer.block-move.timeout 0 塊移動所需的最大毫秒時間。在典型的集群中,3到5分鍾的超時是合理的。如果大量的塊移動發生超時,這需要增加。
dfs.balancer.max-no-move-interval 60000 如果在指定的這個時間內,沒有將塊從datanode中移出,則在平衡器迭代中,將更大努力投入於datanode的塊移出中來。
dfs.block.invalidate.limit 1000 由NAMENODE發送到每個心跳刪除命令的datanode的無效塊的最大數目。
dfs.block.misreplication.processing.limit 10000 初始化復制隊列所需處理的最大塊數。
dfs.block.replicator.classname org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault 表示 non-striped的塊放置策略的類。選項有:BlockPlacementPolicyDefault、 BlockPlacementPolicyWithNodeGroup、BlockPlacementPolicyRackFaultTolerant、BlockPlacementPolicyWithUpgradeDomain.。
dfs.blockreport.incremental.intervalMsec 0 從datanode向namenode發送增量塊報告的等待時間,單位為毫秒。
dfs.checksum.type CRC32C 校驗和類型 。
dfs.client.block.write.locateFollowingBlock.retries 5 在HDFS中查找下一個塊時使用的重試次數。
dfs.client.failover.proxy.provider   為主機配置的故障轉移代理提供程序的類名的前綴(加上所需的名稱服務ID)。
dfs.client.key.provider.cache.expiry 864000000 DFS客戶端安全密鑰緩存過期時間,以毫秒為單位。
dfs.client.max.block.acquire.failures 3 試圖從指定的datanode獲取塊信息時允許出現的最多錯誤數。
dfs.client.read.prefetch.size   DFS客戶端在讀操作時每次從namenode讀取的字節數。默認值是dfs.blocksize屬性值的10倍。 
dfs.client.read.short.circuit.replica.stale.threshold.ms 1800000 在 short-circuit本地讀取期間,讀取entries的最大閾值,單位是毫秒。
dfs.client.read.shortcircuit.buffer.size 1048576 用於本地短路讀取的緩沖區大小。
dfs.client.replica.accessor.builder.classes   用於構建ReplicaAccessor的類,用逗號分隔。 
dfs.client.retry.interval-ms.get-last-block-length 4000 在從datanode獲取塊長度時,再次重試間的時間間隔,單位是毫秒。
dfs.client.retry.max.attempts 10 DFS客戶端嘗試與namenode會話的最大重試次數。
dfs.client.retry.policy.enabled FALSE 當為true時,則開啟DFS客戶端的重試策略。
dfs.client.retry.policy.spec 10000,6,60000,10 DFS客戶端的超時時間和重試次數的數值對。
dfs.client.retry.times.get-last-block-length 3 調用fetchLocatedBlocksAndGetLastBlockLength()的最大重試次數。
dfs.client.retry.window.base 3000 用於DFS客戶端重試的MS的基本時間窗口。對於每個重試嘗試,該值線性擴展(例如,第一次嘗試3000毫秒,第二次重試6000毫秒,第三次重試9000毫秒等)。
dfs.client.socket-timeout 60000 所有socket的默認超時時間,單位為毫秒。
dfs.client.socketcache.capacity 16 用於短路讀取的socket緩存容量。
dfs.client.socketcache.expiryMsec 3000 用於短路讀取的socket緩存過期時間,單位為毫秒。
dfs.client.test.drop.namenode.response.number 0 每個RPC調用由DFS客戶端刪除的namenode響應的數目。用於測試namenode重試緩存。
dfs.client.hedged.read.threadpool.size 0 支持DFS客戶端的hedged讀取。若要啟用此特性,需要將參數設置為正數。
dfs.client.hedged.read.threshold.millis 500 配置DFS客戶端的hedged讀取。屬性值為啟動hedged讀取前的等待時間。
dfs.client.use.legacy.blockreader FALSE 當為true時,則本地短路讀取使用RemoteBlockReader類,當為false時,則使用RemoteBlockReader2類。
dfs.client.write.byte-array-manager.count-limit 2048 每個數組長度允許的最大數組數。
dfs.client.write.byte-array-manager.count-reset-time-period-ms 10000 分配每個數組長度的時間間隔,如果沒有增量,則為0。
dfs.client.write.byte-array-manager.count-threshold 128 每個數組長度的計數閾值,使得只有在分配計數超過閾值后才創建管理器。
dfs.client.write.byte-array-manager.enabled FALSE 如果為true,則啟用DFSOutputStream流使用的字節數組管理器。
dfs.client.write.max-packets-in-flight 80 DFSPackets允許的最大間隔數。
dfs.content-summary.limit 5000 在一個鎖定周期中允許的最大內容摘要計數。0或負數意味着沒有限制。
dfs.content-summary.sleep-microsec 500 在內容匯總計算中,兩次請求鎖的時間。
dfs.data.transfer.client.tcpnodelay TRUE 當為true時,則從DFS客戶端傳輸時,設置socket為TCP_NODELAY。
dfs.datanode.balance.max.concurrent.moves 50 做balance時每個dn移動塊的最大並行線程數。
dfs.datanode.fsdataset.factory   為datanode存儲副本的基礎存儲的類名。默認為org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetFactory。
dfs.datanode.fsdataset.volume.choosing.policy   目錄列表中選擇卷的策略的類名。默認為org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy。
dfs.datanode.hostname   可選的。包含此配置文件的datanode的主機名。每個機器都會不同。默認為當前主機名。
dfs.datanode.lazywriter.interval.sec 60 惰性持久化寫入datanode的時間間隔。
dfs.datanode.network.counts.cache.max.size 2147483647 每個主機網絡錯誤計數緩存的datanode可能包含的條目的最大數量。
dfs.datanode.oob.timeout-ms 1500,0,0,0 為每個OOB類型發送OOB響應時的超時值,分別為OOB_RESTART、OOB_RESERVED1、OOB_RESERVED2、OOB_RESERVED3。目前只有OOB_RESTART被用到。
dfs.datanode.parallel.volumes.load.threads.num   用於升級數據目錄的最大線程數。默認值是datanode中存儲目錄的數量。
dfs.datanode.ram.disk.replica.tracker   實現RamDiskReplicaTracker接口的類的名稱。默認為org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.RamDiskReplicaLruTracker。
dfs.datanode.restart.replica.expiration 50 在重新啟動關機期間,為datanode重新啟動的預算時間,單位為秒。
dfs.datanode.socket.reuse.keepalive 4000 在DataXceiver關閉單個請求的套接字之間的時間窗口。如果在該窗口內出現第二個請求,則可以重新使用套接字。
dfs.datanode.socket.write.timeout 480000 寫入danode的客戶端socket超時時間,單位為毫秒。
dfs.datanode.sync.behind.writes.in.background FALSE 如果設置為true,那么sync_file_range()系統調用將異步發生。
dfs.datanode.transferTo.allowed TRUE 當為false時,則在32位機器上,將大於等於2GB的塊分成較小的塊。
dfs.ha.fencing.methods   在故障轉移期間,用於激活namenode的腳本或類名列表。
dfs.ha.standby.checkpoints TRUE 如果為true,則在待機狀態下的NAMENODE周期性地采取命名空間的檢查點,將其保存到本地存儲,然后上載到遠程NAMENODE。
dfs.ha.zkfc.port 8019 zookeeper故障轉移控制器RPC服務器綁定的端口號。
dfs.http.port   Hftp、HttpFS、WebHdfs的http端口。
dfs.https.port   Hftp、HttpFS、WebHdfs的https端口。
dfs.journalnode.edits.dir /tmp/hadoop/dfs/journalnode/ 存儲 journal edit文件的目錄。
dfs.journalnode.kerberos.internal.spnego.principal   journal節點使用的Kerberos SPNEGO主體名稱。
dfs.journalnode.kerberos.principal   journal節點使用的Kerberos主體名稱。
dfs.journalnode.keytab.file   journal節點keytab文件。
dfs.ls.limit 1000 限制ls打印的文件數。如果小於或等於零,最多將打印 DFS_LIST_LIMIT_DEFAULT (= 1000)。
dfs.mover.movedWinWidth 5400000 一個塊可以再次移動到另一個位置的最小時間間隔,以毫秒為單位。
dfs.mover.moverThreads 1000 配置均衡器的移動線程池大小。 
dfs.mover.retry.max.attempts 10 在移動者認為移動失敗之前重試的最大次數。 
dfs.mover.max-no-move-interval 60000 如果指定的時間量已經過去,並且沒有塊已經從源datanode中移出,則將更加努力地將塊移到當前MOVER迭代中的該datanode之外。
dfs.namenode.audit.log.async FALSE 如果為true,啟用異步審計日志。
dfs.namenode.audit.log.token.tracking.id FALSE 如果為true,則為所有審計日志事件添加跟蹤ID。 
dfs.namenode.available-space-block-placement-policy.balanced-space-preference-fraction 0.6 只有當dfs.block.replicator.classname設置為org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy時使用。值在0和1之間。
dfs.namenode.backup.dnrpc-address   用於備份NAMENODE的服務RPC地址。
dfs.namenode.delegation.token.always-use FALSE 用於測試。設置為TRUE時總是允許使用DT秘密管理器,即使安全被禁用。
dfs.namenode.edits.asynclogging TRUE 如果設置為true,則啟用NAMENODE中的異步編輯日志。如果設置為false,NAMENODE使用傳統的同步編輯日志。
dfs.namenode.edits.dir.minimum 1 dfs.namenode.edits.dir同時需要的目錄。
dfs.namenode.edits.journal-plugin   當FSEditLog正在從dfs.namenode.edits.dir創建日記管理器時,它遇到一個與“文件”不同的模式的URI,它從“dfs.namenode.edits.journal-plugin.[schema]”中加載實現類的名稱。這個類必須實現日志管理器,並有一個構造函數。
dfs.namenode.file.close.num-committed-allowed 0 通常,只能當所有塊都提交后,才能關閉文件。當該值設置為正整數N時,當N個塊被提交並且其余部分完成時,文件可以被關閉。 
dfs.namenode.inode.attributes.provider.class   用於委派HDFS授權的類的名稱。
dfs.namenode.inode.attributes.provider.bypass.users   將為所有操作繞過外部屬性提供程序的用戶主體或用戶名的列表。
dfs.namenode.max-num-blocks-to-log 1000 對塊報告后由NAMENODE打印到日志塊的數量進行限制。
dfs.namenode.max.op.size 52428800 最大操作碼大小,以字節為單位。
dfs.namenode.name.cache.threshold 10 經常訪問的文件訪問次數超過了這個閾值,緩存在FSDirectory nameCache中。
dfs.namenode.replication.max-streams 2 最高優先級復制流的數量的硬限制。 
dfs.namenode.replication.max-streams-hard-limit 4 所有復制流的硬限制。
dfs.namenode.replication.pending.timeout-sec -1 塊復制的超時秒數。如果這個值是0或更少,那么它將默認為5分鍾。
dfs.namenode.stale.datanode.minimum.interval 3 用NAMENODE標記datanode的數據丟失間隔的最小次數。
dfs.namenode.snapshot.capture.openfiles FALSE 如果為true,則獲取的快照將具有具有有效租約的打開文件的不可變共享副本。即使在打開的文件增長或縮小的大小,快照總是會有以前的時間點打開文件的版本,就像所有其他封閉的文件。默認為false。
dfs.namenode.snapshot.skip.capture.accesstime-only-change FALSE 如果文件/目錄的訪問時間發生了更改,但沒有對文件/目錄進行其他修改,則在下一個快照中不會捕獲更改后的訪問時間。但是,如果對文件/目錄進行了其他修改,則最新的訪問時間將與下一快照中的修改一起捕獲。
dfs.pipeline.ecn FALSE 如果為true,則允許來自datanode的ECN(顯式擁塞通知)。
dfs.qjournal.accept-recovery.timeout.ms 120000 在特定段的恢復/同步接受階段中的仲裁超時時間,以毫秒為單位。
dfs.qjournal.finalize-segment.timeout.ms 120000 在特定片段的最終確定過程中的仲裁超時時間,以毫秒為單位。
dfs.qjournal.get-journal-state.timeout.ms 120000 調用 getJournalState()的超時時間。
dfs.qjournal.new-epoch.timeout.ms 120000 獲得對日志節點的寫入訪問的opoch數時的超時時間,以毫秒為單位。
dfs.qjournal.prepare-recovery.timeout.ms 120000 在特定段的恢復/同步准備階段的仲裁超時時間,以毫秒為單位。
dfs.qjournal.queued-edits.limit.mb 10 quorum journal edits的隊列大小,單位是MB。
dfs.qjournal.select-input-streams.timeout.ms 20000 從日記管理器接受流時的超時時間,以毫秒為單位。
dfs.qjournal.start-segment.timeout.ms 20000 啟動日志段的超時時間,以毫秒為單位。
dfs.qjournal.write-txns.timeout.ms 20000 定稿遠程journal的超時時間,以毫秒為單位。
dfs.quota.by.storage.type.enabled TRUE 如果為true,則啟用基於存儲類型的配額。
dfs.secondary.namenode.kerberos.principal   Secondary NameNode的Kerberos主體名稱。
dfs.secondary.namenode.keytab.file   Secondary NameNode的Kerberos keytab文件。
dfs.support.append TRUE 啟用NAMENODE上的append支持。 
dfs.web.authentication.filter org.apache.hadoop.hdfs.web.AuthFilter 用於WebHDFS的身份驗證篩選器類。 
dfs.web.authentication.simple.anonymous.allowed   如果為true,允許匿名用戶訪問WebHDFS。設置為false以禁用匿名身份驗證。
dfs.web.ugi   dfs.web.ugi被棄用,建議用hadoop.http.staticuser.user代替。
dfs.webhdfs.netty.high.watermark 65535 Datanode WebHdfs的Netty高水印配置。
dfs.webhdfs.netty.low.watermark 32768 Datanode WebHdfs的Netty低水印配置。
dfs.webhdfs.oauth2.access.token.provider   使用OAuth2訪問WebHDFS的令牌提供者類。默認為org.apache.hadoop.hdfs.web.oauth2.ConfCredentialBasedAccessTokenProvider。
dfs.webhdfs.oauth2.client.id   客戶端ID,用於獲取憑據或刷新令牌的訪問令牌。
dfs.webhdfs.oauth2.enabled FALSE 如果為true,則啟用WebHDFS中的OAuth2 。
dfs.webhdfs.oauth2.refresh.url   用以獲得帶有憑證或刷新令牌的承載令牌的URL。
ssl.server.keystore.keypassword   HTTPS-SSL配置的密鑰存儲密鑰密碼。
ssl.server.keystore.location   HTTPS-SSL配置的密鑰存儲位置。
ssl.server.keystore.password   HTTPS-SSL配置的密鑰存儲密碼。
dfs.balancer.keytab.enabled FALSE 設置為true以啟用Kerberized Hadoop的keytab的登錄。
dfs.balancer.address 0.0.0.0:0 基於Kerberos登錄時,用於keytab的主機名。
dfs.balancer.keytab.file   平衡器使用的keytab文件作為其服務主體登錄。
dfs.balancer.kerberos.principal   平衡器主體,通常為balancer/_HOST@REALM.TLD。
ssl.server.truststore.location   HTTPS-SSL配置的信任存儲位置。
ssl.server.truststore.password   HTTPS-SSL配置的信任存儲密碼。
dfs.lock.suppress.warning.interval 10s 報告長臨界段的instrumentation在設置的時間間隔內,將掛起警告。
dfs.webhdfs.use.ipc.callq TRUE 通過通過rpc調用的webhdfs路由。
httpfs.buffer.size 4096 創建或打開HTTPFS文件系統IO流時使用的緩沖區大小。
dfs.datanode.disk.check.min.gap 15m 同一datanode卷的兩次連續檢查之間的最小間隔。
dfs.datanode.disk.check.timeout 10m 在DataNode啟動期間,磁盤檢查完成的最大允許時間。如果在該時間間隔內沒有完成檢查,則將磁盤聲明為失敗。此設置支持多個時間單位后綴,如 dfs.heartbeat.interval中所描述的。如果沒有指定后綴,則假設為毫秒。
dfs.use.dfs.network.topology TRUE 啟用DFSNetworkTopology選擇放置副本的節點。
dfs.qjm.operations.timeout 60s QuorumJournalManager為相關操作設置超時的公共密鑰。
dfs.reformat.disabled FALSE 禁用NAMENODE的重新格式化。
dfs.federation.router.default.nameserviceId   要監視的默認子集群的Nameservice標識符。
dfs.federation.router.rpc.enable TRUE 如果為true,則啟用在路由器中處理客戶端請求的RPC服務。 
dfs.federation.router.rpc-address 0.0.0.0:8888 處理所有客戶端請求的RPC地址。此屬性的值將采用 router-host1:rpc-port端口的形式。 
dfs.federation.router.rpc-bind-host   RPC服務器將綁定到的實際地址。如果設置了這個可選地址,它只覆蓋dfs.federation.router.rpc-address的主機名部分。
dfs.federation.router.handler.count 10 路由器用於處理來自客戶端的RPC請求的服務器線程數。
dfs.federation.router.handler.queue.size 100 處理RPC客戶端請求的處理數的隊列大小。
dfs.federation.router.reader.count 1 路由器處理RPC客戶端請求的讀數。 
dfs.federation.router.reader.queue.size 100 路由器處理RPC客戶端請求的讀數的隊列大小。
dfs.federation.router.connection.pool-size 1 從路由器到NAMENODE的連接池的大小。
dfs.federation.router.connection.clean.ms 10000 時間間隔,以毫秒為單位,檢查連接池是否應該刪除未使用的連接。 
dfs.federation.router.connection.pool.clean.ms 60000 時間間隔,以毫秒為單位,檢查連接管理器是否應該刪除未使用的連接池。 
dfs.federation.router.metrics.enable TRUE 是否啟用了路由器中的度量。 
dfs.federation.router.metrics.class org.apache.hadoop.hdfs.server.federation.metrics.FederationRPCPerformanceMonitor 類來監視路由器中的RPC系統。它必須實現RouterRpcMonitor接口。
dfs.federation.router.admin.enable TRUE 如果為true,則啟用在路由器中處理客戶端請求的RPC管理服務。
dfs.federation.router.admin-address 0.0.0.0:8111 處理管理請求的RPC地址。此屬性的值將采用router-host1:rpc-port的形式。
dfs.federation.router.admin-bind-host   RPC管理服務器將綁定到的實際地址。如果設置了這個可選地址,它只覆蓋 dfs.federation.router.admin-address地址的主機名部分。
dfs.federation.router.admin.handler.count 1 路由器的服務器線程數,以處理來自管理員的RPC請求。 
dfs.federation.router.http-address 0.0.0.0:50071 處理Web請求到路由器的HTTP地址。此屬性的值將采用router-host1:http-port端口的形式。
dfs.federation.router.http-bind-host   HTTP服務器將綁定到的實際地址。如果設置了這個可選地址,它只覆蓋dfs.federation.router.http-address地址的主機名部分。
dfs.federation.router.https-address 0.0.0.0:50072 處理Web請求到路由器的HTTPS地址。此屬性的值將采用router-host1:https-port端口的形式。
dfs.federation.router.https-bind-host   HTTPS服務器將綁定到的實際地址。如果設置了這個可選地址,它只覆蓋dfs.federation.router.https-address地址的主機名部分。
dfs.federation.router.http.enable TRUE 是否啟用了在路由器中處理客戶端請求的HTTP服務。
dfs.federation.router.metrics.enable TRUE 是否啟用了路由器中的度量服務。
dfs.federation.router.file.resolver.client.class org.apache.hadoop.hdfs.server.federation.MockResolver 文件解析為子集群的類。
dfs.federation.router.namenode.resolver.client.class org.apache.hadoop.hdfs.server.federation.resolver.MembershipNamenodeResolver 解析子集群的NAMENODE的類。
dfs.federation.router.store.enable TRUE 如果為TRUE,路由器連接到狀態存儲。
dfs.federation.router.store.serializer org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreSerializerPBImpl 序列化狀態存儲記錄的類。
dfs.federation.router.store.driver.class org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreFileImpl 實現狀態存儲的類。默認情況下,它使用本地磁盤。
dfs.federation.router.store.connection.test 60000 在毫秒內檢查連接到狀態存儲的頻率。
dfs.federation.router.cache.ttl 60000 在毫秒內刷新狀態存儲緩存的頻率。
dfs.federation.router.store.membership.expiration 300000 membership記錄的過期時間,單位為毫秒。
dfs.federation.router.heartbeat.enable TRUE 如果為true,路由器心跳進入狀態存儲。
dfs.federation.router.heartbeat.interval 5000 路由器進入狀態存儲的心跳頻率,單位為毫秒。
dfs.federation.router.monitor.namenode   NAMENODE的標識符以監視和心跳。
dfs.federation.router.monitor.localnamenode.enable TRUE 如果為true,路由器應監視本地機器中的NAMENODE。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM