續上篇整理一下hdfs相關的配置項
name
value
Description
dfs.default.chunk.view.size
32768
namenode的http通路頁面中針對每個檔案的内容顯示大小,通常無需設定。
dfs.datanode.du.reserved
1073741824
每塊磁盤所保留的空間大小,需要設定一些,主要是給非hdfs檔案使用,預設是不保留,0位元組
dfs.name.dir
/opt/data1/hdfs/name,
/opt/data2/hdfs/name,
/nfs/data/hdfs/name
NN所使用的中繼資料儲存,一般建議在nfs上保留一份,作為1.0的HA方案使用,也可以在一台伺服器的多塊硬碟上使用
dfs.web.ugi
nobody,nobody
NN,JT等所使用的web tracker頁面伺服器所使用的使用者群組
dfs.permissions
true | false
dfs權限是否打開,我一般設定false,通過開發工具教育訓練别人界面操作避免誤操作,設定為true有時候會遇到資料因為權限通路不了。
dfs.permissions.supergroup
supergroup
設定hdfs超級權限的組,預設是supergroup,啟動hadoop所使用的使用者通常是superuser。
dfs.data.dir
/opt/data1/hdfs/data,
/opt/data2/hdfs/data,
/opt/data3/hdfs/data,
...
真正的datanode資料儲存路徑,可以寫多塊硬碟,逗号分隔
dfs.datanode.data.dir.perm
755
datanode所使用的本地檔案夾的路徑權限,預設755
dfs.replication
3
hdfs資料塊的複制份數,預設3,理論上份數越多跑數速度越快,但是需要的存儲空間也更多。有錢人可以調5或者6
dfs.replication.max
512
有時dn臨時故障恢複後會導緻資料超過預設備份數。複制份數的最多數,通常沒什麼用,不用寫配置檔案裡。
dfs.replication.min
1
最小份數,作用同上。
dfs.block.size
134217728
每個檔案塊的大小,我們用128M,預設是64M。這個計算需要128*1024^2,我碰上過有人直接寫128000000,十分浪漫。
dfs.df.interval
60000
磁盤用量統計自動重新整理時間,機關是毫秒。
dfs.client.block.write.retries
資料塊寫入的最多重試次數,在此次數之前不會捕獲失敗。
dfs.heartbeat.interval
DN的心跳檢測時間間隔。秒
dfs.namenode.handler.count
10
NN啟動後展開的線程數。
dfs.balance.bandwidthPerSec
1048576
做balance時所使用的每秒最大帶寬,使用位元組作為機關,而不是bit
dfs.hosts
/opt/hadoop/conf/hosts.allow
一個主機名清單檔案,這裡的主機是允許連接配接NN的,必須寫絕對路徑,檔案内容為空則認為全都可以。
dfs.hosts.exclude
/opt/hadoop/conf/hosts.deny
基本原理同上,隻不過這裡放的是禁止通路NN的主機名稱清單。這在從叢集中摘除DN會比較有用。
dfs.max.objects
dfs最大并發對象數,HDFS中的檔案,目錄塊都會被認為是一個對象。0表示不限制
dfs.replication.interval
NN計算複制塊的内部間隔時間,通常不需寫入配置檔案。預設就好
dfs.support.append
新的hadoop支援了檔案的APPEND操作,這個就是控制是否允許檔案APPEND的,但是預設是false,理由是追加還有bug。
dfs.datanode.failed.volumes.tolerated
能夠導緻DN挂掉的壞硬碟最大數,預設0就是隻要有1個硬碟壞了,DN就會shutdown。
dfs.secondary.http.address
0.0.0.0:50090
SNN的tracker頁面監聽位址和端口
dfs.datanode.address
0.0.0.0:50010
DN的服務監聽端口,端口為0的話會随機監聽端口,通過心跳通知NN
dfs.datanode.http.address
0.0.0.0:50075
DN的tracker頁面監聽位址和端口
dfs.datanode.ipc.address
0.0.0.0:50020
DN的IPC監聽端口,寫0的話監聽在随機端口通過心跳傳輸給NN
dfs.datanode.handler.count
DN啟動的服務線程數
dfs.http.address
0.0.0.0:50070
NN的tracker頁面監聽位址和端口
dfs.https.enable
NN的tracker是否監聽在HTTPS協定,預設false
dfs.datanode.https.address
0.0.0.0:50475
DN的HTTPS的tracker頁面監聽位址和端口
dfs.https.address
0.0.0.0:50470
NN的HTTPS的tracker頁面監聽位址和端口
dfs.datanode.max.xcievers
2048
相當于linux下的打開檔案最大數量,文檔中無此參數,當出現DataXceiver報錯的時候,需要調大。預設256
主要配置裡會用到的大概就是這些了,還有一些https certfile和一些internal時間配置的,不常用的就不寫了。