天天看點

Hadoop配置項整理(core-site.xml)

記錄一下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因為不太會用到,是以沒寫。

水準有限,參數描述了解或翻譯有誤見諒。

繼續閱讀