- 上一篇介紹了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。 |
