一、dfs.hosts 記錄即將做爲datanode加入集羣的機器列表
二、mapred.hosts 記錄即將做爲tasktracker加入集羣的機器列表
三、dfs.hosts.exclude mapred.hosts.exclude 分別包含待移除的機器列表
四、master 記錄運行輔助namenode的機器列表
五、slave 記錄運行datanode和tasktracker的機器列表
六、hadoop-env.sh 記錄腳本要用的環境變量,以運行hadoop
七、core-site.xml hadoop core的配置項,例如hdfs和mapreduce經常使用的i/o設置等
八、hdfs-site.xml hadoop守護進程的配置項,包括namenode、輔助namenode和datanode等
九、mapred-site.xml mapreduce守護進程的配置項,包括jobtracker和tasktracker
十、hadoop-metrics.properties 控制metrics在hadoop上如何發佈的屬性
十一、log4j.properties 系統日誌文件、namenode審計日誌、tasktracker子進程的任務日誌的屬性java
hadoop的集羣配置中,大部分都用的默認設置,若是想要提升整個集羣的性能,能夠考慮經過修改配置的方法實現,配置項大部分都配置在這三個文件裏:core_site.xml, hdfs_site.xml, mapred_site.xml, 下面將常常會用到的配置項總結以下:(待補充)node
fs.default.nameweb
說明: Name Node的URI
app
value: hdfs://hostname:port/jvm
備註:hostname要用主機名或域名,不能使用ipoop
fs.trash.interval性能
說明:hadoop垃圾回收機制,每隔多長時間清理一次垃圾測試
value:1440spa
備註:默認值是0,不打開垃圾收回機制。刪除掉的文件將直接清除,不保存。若是設置了,則將保存到本地的.crash文件夾下。線程
fs.checkpoint.dir
說明:本地文件系統DFS secondaryname節點存儲臨時圖像目錄
value:/disk2/cloudera/hadoop/dfs/namesecondary
備註:用於:hadoop namenode -importCheckpoint,從檢查點目錄裝載鏡像並保存到當前檢查點目錄,檢查點目錄由fs.checkpoint.dir指定。
hadoop.tmp.dir
說明:Hadoop的默認臨時文件存放路徑
value:/home/hadoop/hadoop/tmp
備註:這個最好配置,若是在新增節點或者其餘狀況下莫名其妙的DataNode啓動不了,就刪除此文件中的tmp目錄便可。
不過若是刪除了NameNode機器的此目錄,那麼就須要從新執行NameNode格式化的命令
io.file.buffer.size
說明:讀寫序列文件緩衝區大小
value:16384
備註:值應該設置爲硬件頁面大小的倍數,默認設置爲4096,請設置爲4096的倍數
io.bytes.per.checksum
說明:
value:
備註:
io.skip.checksum.errors
說明:
value:
備註:
io.compression.codecs
說明:
value:
備註:
io.serializations
說明:
value:
備註:
dfs.name.dir
說明:設定DFS Name節點中的命名空間表格文件,在本地系統中的保存位置。 能夠設置多個,經過","分隔,fsimage文件,會被複制到多個路徑中,用於備份。
value:/home/hadoop/hadoop/name
備註:其中的一個路徑,能夠利用nfs映射到咱們的共享文件夾下,造成異地備份
dfs.data.dir
說明:設定DFS Data節點中的數據塊在本地系統中的保存位置。能夠設置多個,經過 "," 分隔。設置的文件夾若是不存在,將被忽略。
value:/home/hadoop/data1, /home/hadoop/data2
備註:
dfs.replication
說明:缺省的文件塊被複制的次數。在文件被建立的時候能夠指定複製的塊數,若是在建立的時候沒有指定,則使用該缺省值。
value:3
備註:
dfs.block.size
說明:新文件被分隔的缺省塊容量。
value:268435456
備註:必須是512的倍數
dfs.datanode.max.xcievers
說明:datanode所容許同時執行的發送和接受任務的數量
value:10240
備註:默認是256.該值過小。能夠修改成10240
dfs.web.ugi
說明:hadoop的web界面訪問權限設置。
value:hadoop,hadoop
備註:value語法:用戶名,用戶組
如何設置:
hadoop fs -chmod (修改文件全部者,文件所屬組,其餘用戶的讀、寫、執行權限)
haddop fs -chown (修改文件全部者)
hadoop fs -chgrp (修改文件所屬組)
dfs.permissions
說明:對HDFS是否啓用認證。
value:true
備註:默認爲true
dfs.permissions.supergroup
說明:超級用戶組名稱
value:supergroup
備註:
dfs.safemode.threshold.pct
說明:啓動的時候,NameNode會等待全部的datanode報告block狀態,查看全部的block的副本是否達到最低要求,當報告合格的數量達到設置的值,則退出safemode。
value:0.95f
備註:默認爲0.999f
dfs.safemode.extension
說明:Namenode在合格的datanode數目達到要求的時候,並非立刻離開safemode狀態,會有一個擴展時間,讓剩餘的 datanode來報告block信息,這個擴展時間默認是30秒,單位是毫秒。
value:30000
備註:時間默認是30秒,單位是毫秒
dfs.balance.bandwidthPerSec
說明:用於平衡數據。每秒平衡數據量最大帶寬。能夠放大。
value:10485760
備註:默認是10485760
dfs.replication.min
說明:建立文件時的最小複製數。主要用於dfs.safemode.threshold.pct
value:1
備註:默認爲1
dfs.datanode.handler.count
說明:datanode上用於處理RPC的線程數。
value:3
備註:默認爲3,較大集羣,可適當調大些,好比8。須要注意的是,每添加一個線程,須要的內存增長。
dfs.datanode.du.reserved
說明:表示在datanode對磁盤寫時候,保留多少非dfs的磁盤空間, 從而避免dfs將所在的磁盤寫滿
value:10737418240
備註:默認爲0,單位是字節
dfs.df.interval
說明:磁盤使用統計刷新時間間隔,單位毫秒
value:60000
備註:默認是60000,單位是毫秒
dfs.namenode.handler.count
說明:namenode的rpc調用線程數。
value:10
備註:默認是10
dfs.namenode.plugins
說明:
value:
備註:
dfs.datanode.plugins
說明:
value:
備註:
dfs.thrift.address
說明:
value:
備註:
dfs.hosts/dfs.hosts.exclude
說明:Data Node白名單/黑名單文件
value:
備註:
mapred.job.tracker
說明:JobTracker的地址
value:
備註:格式爲 hostname:port
mapred.local.dir
說明:運行 mapreduce 中間結果存儲處,保存MapReduce臨時文件的本地目錄
value:
備註:可設置多個,用逗號分隔
mapred.system.dir
說明:HDFS上MapReduce保存系統文件的目錄
value:
備註:
mapred.job.tracker.handler.count
說明: jobtracker同時與tasktracker通訊的線程數
value:
備註:
mapreduce.jobtracker.staging.root.dir
說明:
value:
備註:
mapred.temp.dir
說明:
value:
備註:
mapred.child.java.opts
說明:設置JVM堆的最大可用內存,需從應用程序角度進行配置。
value:
備註:
mapred.tasktracker.map.tasks.maximum
說明:tasktracker上同時運行的map的最大數量
value:2
備註:默認爲2
mapred.tasktracker.reduce.tasks.maximum
說明:tasktracker上同時運行的task的最大數量
value:2
備註:默認爲2
mapred.hosts/mapred.host.exclude
說明:MapReduce白名單/黑名單文件
value:
備註:
mapred.queue.names
說明: 隊列名
value:
備註: hadoop MapReduce系統默認有一個"default"的Job隊列(pool).
mapred.map.tasks.speculative.execution
說明:
value:
備註:
mapred.reduce.tasks.speculative.execution
說明:
value:
備註:
io.sort.mb
說明:排序使用的最大內存
value:
備註:
io.sort.factor
說明: 排序因子。同時合併的數據流的數量
value:
備註:當一個map task執行完以後,本地磁盤上(mapred.local.dir)有若干個spill文件,merge sort 把這些文件合成一個。執行merge sort的時候,每次同時打開多少個spill文件由該參數決定。 打開的文件越多,不必定merge sort就越快,因此要根據數據狀況適當的調整。
keep.failed.task.files
說明:
value:
備註:
mapred.job.reuse.jvm.num.tasks
說明:
value:
備註:
mapred.child.env
說明:
value:
備註:
mapred.child.ulimit
說明:
value:
備註:
mapred.output.compress/mapred.compress.map.output
說明:中間結果和最終結果是否要進行壓縮,若是是,指定壓縮方式(Mapred.compress.map.output.codec/ Mapred.output.compress.codec)。 推薦使用LZO壓縮。Intel內部測試代表,相比未壓縮,使用LZO壓縮的 TeraSort做業,運行時間減小60%,且明顯快於Zlib壓縮。
value
備註:
tasktracker.http.threads
說明:HTTP server上的線程數。運行在每一個TaskTracker上, 用於處理map task輸出。
value:8
備註:tasktracker開http服務的線程數。用於reduce拉取map輸出數據,大集羣能夠將其設爲40~50。
fs.inmemory.size.mb
說明:reducer在合併map輸出數據使用的內存空間
value:
備註: 默認使用200M
mapred.reduce.parallel.copies
說明:reducer同時從mapper上拉取的文件數
value:
備註:
mapred.output.compression.codec
說明:
value:
備註:
mapred.map.output.compression.codec
說明:
value:
備註:
jobtracker.thrift.address
說明:
value:
備註:
mapred.jobtracker.plugins
說明:
value:
備註: