hadoop配置文件說明

一、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

 

core_site.xml

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:

備註:

hdfs_site.xml

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_site.xml

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:

備註:

相關文章
相關標籤/搜索