記錄一下Hadoop的配置和說明,用到新的配置項會補充進來,不定期更新。以配置檔案名劃分
以hadoop 1.x配置為例
core-site.xml
name
value
Description
fs.default.name
hdfs://hadoopmaster:9000
定義HadoopMaster的URI和端口
fs.checkpoint.dir
/opt/data/hadoop1/hdfs/namesecondary1
定義hadoop的name備份的路徑,官方文檔說是讀取這個,寫入dfs.name.dir
fs.checkpoint.period
1800
定義name備份的備份間隔時間,秒為機關,隻對snn生效,預設一小時
fs.checkpoint.size
33554432
以日志大小間隔做備份間隔,隻對snn生效,預設64M
io.compression.codecs
org.apache.hadoop.io.compress.DefaultCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec,
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.BZip2Codec
(排版調整,實際配置不要回車)
Hadoop所使用的編×××,gzip和bzip2為自帶,lzo需安裝hadoopgpl或者kevinweil,逗号分隔,snappy也需要單獨安裝
io.compression.codec.lzo.class
com.hadoop.compression.lzo.LzoCodec
LZO所使用的壓縮編碼器
topology.script.file.name
/hadoop/bin/RackAware.py
機架感覺腳本位置
topology.script.number.args
1000
機架感覺腳本管理的主機數,IP位址
fs.trash.interval
10800
HDFS垃圾箱設定,可以恢複誤删除,分鐘數,0為禁用,添加該項無需重新開機hadoop
hadoop.http.filter.initializers
org.apache.hadoop.security.
AuthenticationFilterInitializer
需要jobtracker,tasktracker
namenode,datanode等http通路端口使用者驗證使用,需配置所有節點
hadoop.http.authentication.type
simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#
驗證方式,預設為簡單,也可自己定義class,需配置所有節點
hadoop.http.authentication.
token.validity
36000
驗證令牌的有效時間,需配置所有節點
signature.secret
預設可不寫參數
預設不寫在hadoop啟動時自動生成私密簽名,需配置所有節點
hadoop.http.authentication.cookie.domain
domian.tld
http驗證所使用的cookie的域名,IP位址通路則該項無效,必須給所有節點都配置域名才可以。
simple.anonymous.allowed
true | false
簡單驗證專用,預設允許匿名通路,true
kerberos.principal
HTTP/localhost@$LOCALHOST
Kerberos驗證專用,參加認證的實體機必須使用HTTP作為K的Name
kerberos.keytab
/home/xianglei/hadoop.keytab
Kerberos驗證專用,密鑰檔案存放位置
hadoop.security.authorization
true|false
Hadoop服務層級驗證安全驗證,需配合hadoop-policy.xml使用,配置好以後用dfsadmin,mradmin -refreshServiceAcl重新整理生效
io.file.buffer.size
131072
用作序列化檔案處理時讀寫buffer的大小
hadoop.security.authentication
simple | kerberos
hadoop本身的權限驗證,非http通路,simple或者kerberos
hadoop.logfile.size
1000000000
設定日志檔案大小,超過則滾動新日志
hadoop.logfile.count
20
最大日志數
io.bytes.per.checksum
1024
每校驗碼所校驗的位元組數,不要大于io.file.buffer.size
io.skip.checksum.errors
處理序列化檔案時跳過校驗碼錯誤,不抛異常。預設false
io.serializations
org.apache.hadoop.io.
serializer.WritableSerialization
(排版需要。實際配置不要回車)
序列化的編×××
io.seqfile.compress.blocksize
1024000
塊壓縮的序列化檔案的最小塊大小,位元組
webinterface.private.actions
設為true,則JT和NN的tracker網頁會出現殺任務删檔案等操作連接配接,預設是false
結合Apache手冊和公司裡用的實際配置編寫,實際根據硬體配置的不同,參數大小需做調整,目前參數基于namenode 96G記憶體,datanode 32G記憶體。有些har,s3,local這樣的fs的implement因為不太會用到,是以沒寫。
水準有限,參數描述了解或翻譯有誤見諒。