hadoop 大數據開發4---hadoop 配置文件(轉載)

1       獲取默認配置

配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三個配置文件,默認下來,這些配置文件都是空的,所以很難知道這些配置文件有哪些配置可以生效,上網找的配置可能因爲各個hadoop版本不同,導致無法生效。瀏覽更多的配置,有兩個方法:

1.選擇相應版本的hadoop,下載解壓後,搜索*.xml,找到core-default.xml,hdfs-default.xml,mapred-default.xml,這些就是默認配置,可以參考這些配置的說明和key,配置hadoop集羣。

2.瀏覽apache官網,三個配置文件鏈接如下:

http://hadoop.apache.org/common/docs/current/core-default.html

http://hadoop.apache.org/common/docs/current/hdfs-default.html

http://hadoop.apache.org/common/docs/current/mapred-default.html

這裏是瀏覽hadoop當前版本號的默認配置文件,其他版本號,要另外去官網找。其中第一個方法找到默認的配置是最好的,因爲每個屬性都有說明,可以直接使用。另外,core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分別是hdfs和mapred的局部配置。

2       常用的端口配置

2.1  HDFS端口

 

參數 描述 默認 配置文件 例子值
fs.default.name namenode namenode RPC交互端口 8020 core-site.xml hdfs://master:8020/
dfs.http.address NameNode web管理端口 50070 hdfs- site.xml 0.0.0.0:50070
dfs.datanode.address datanode 控制端口 50010 hdfs -site.xml 0.0.0.0:50010
dfs.datanode.ipc.address datanode的RPC服務器地址和端口 50020 hdfs-site.xml 0.0.0.0:50020
dfs.datanode.http.address datanode的HTTP服務器和端口 50075 hdfs-site.xml 0.0.0.0:50075

 

2.2  MR端口

參數 描述 默認 配置文件 例子值
mapred.job.tracker job-tracker交互端口 8021 mapred-site.xml hdfs://master:8021/
job tracker的web管理端口 50030 mapred-site.xml 0.0.0.0:50030
mapred.task.tracker.http.address task-tracker的HTTP端口 50060 mapred-site.xml 0.0.0.0:50060

 

 

2.3  其它端口

參數 描述 默認 配置文件 例子值
dfs.secondary.http.address secondary NameNode web管理端口 50090 hdfs-site.xml 0.0.0.0:50090
         
         

 

3       三個缺省配置參考文件說明

3.1  core-default.html

 

序號 參數名 參數值 參數說明
1 hadoop.tmp.dir /tmp/hadoop-${user.name} 臨時目錄設定
2 hadoop.native.lib true 使用本地hadoop庫標識。
3 hadoop.http.filter.initializers   http服務器過濾鏈設置
4 hadoop.security.group.mapping org.apache.hadoop.security.ShellBasedUnixGroupsMapping 組內用戶的列表的類設定
5 hadoop.security.authorization false 服務端認證開啓
6 hadoop.security.authentication simple 無認證或認證設置
7 hadoop.security.token.service.use_ip true 是否開啓使用IP地址作爲連接的開關
8 hadoop.logfile.size 10000000 日誌文件最大爲10M
9 hadoop.logfile.count 10 日誌文件數量爲10個
10 io.file.buffer.size 4096 流文件的緩衝區爲4K
11 io.bytes.per.checksum 512 校驗位數爲512字節
12 io.skip.checksum.errors false 校驗出錯後是拋出異常還是略過標識。True則略過。
13 io.compression.codecs org.apache.hadoop.io.compress.DefaultCodec,

org.apache.hadoop.io.compress.GzipCodec,

org.apache.hadoop.io.compress.BZip2Codec,

org.apache.hadoop.io.compress.SnappyCodec

壓縮和解壓的方式設置
14 io.serializations org.apache.hadoop.io.serializer.WritableSerialization 序例化和反序列化的類設定
15 fs.default.name file:/// 缺省的文件URI標識設定。
16 fs.trash.interval 0 文件廢棄標識設定,0爲禁止此功能
17 fs.file.impl org.apache.hadoop.fs.LocalFileSystem 本地文件操作類設置
18 fs.hdfs.impl org.apache.hadoop.hdfs.DistributedFileSystem HDFS文件操作類設置
19 fs.s3.impl org.apache.hadoop.fs.s3.S3FileSystem S3文件操作類設置
20 fs.s3n.impl org.apache.hadoop.fs.s3native.NativeS3FileSystem S3文件本地操作類設置
21 fs.kfs.impl org.apache.hadoop.fs.kfs.KosmosFileSystem KFS文件操作類設置.
22 fs.hftp.impl org.apache.hadoop.hdfs.HftpFileSystem HTTP方式操作文件設置
23 fs.hsftp.impl org.apache.hadoop.hdfs.HsftpFileSystem HTTPS方式操作文件設置
24 fs.webhdfs.impl org.apache.hadoop.hdfs.web.WebHdfsFileSystem WEB方式操作文件類設置
25 fs.ftp.impl org.apache.hadoop.fs.ftp.FTPFileSystem FTP文件操作類設置
26 fs.ramfs.impl org.apache.hadoop.fs.InMemoryFileSystem 內存文件操作類設置
27 fs.har.impl org.apache.hadoop.fs.HarFileSystem 壓縮文件操作類設置.
28 fs.har.impl.disable.cache true 是否緩存har文件的標識設定
29 fs.checkpoint.dir ${hadoop.tmp.dir}/dfs/namesecondary 備份名稱節點的存放目前錄設置
30 fs.checkpoint.edits.dir ${fs.checkpoint.dir} 備份名稱節點日誌文件的存放目前錄設置
31 fs.checkpoint.period 3600 動態檢查的間隔時間設置
32 fs.checkpoint.size 67108864 日誌文件大小爲64M
33 fs.s3.block.size 67108864 寫S3文件系統的塊的大小爲64M
34 fs.s3.buffer.dir ${hadoop.tmp.dir}/s3 S3文件數據的本地存放目錄
35 fs.s3.maxRetries 4 S3文件數據的償試讀寫次數
36 fs.s3.sleepTimeSeconds 10 S3文件償試的間隔
37 local.cache.size 10737418240 緩存大小設置爲10GB
38 io.seqfile.compress.blocksize 1000000 壓縮流式文件中的最小塊數爲100萬
39 io.seqfile.lazydecompress true 塊是否需要壓縮標識設定
40 io.seqfile.sorter.recordlimit 1000000 內存中排序記錄塊類最小爲100萬
41 io.mapfile.bloom.size 1048576 BloomMapFiler過濾量爲1M
42 io.mapfile.bloom.error.rate 0.005  
43 hadoop.util.hash.type murmur 缺少hash方法爲murmur
44 ipc.client.idlethreshold 4000 連接數據最小閥值爲4000
45 ipc.client.kill.max 10 一個客戶端連接數最大值爲10
46 ipc.client.connection.maxidletime 10000 斷開與服務器連接的時間最大爲10秒
47 ipc.client.connect.max.retries 10 建立與服務器連接的重試次數爲10次
48 ipc.server.listen.queue.size 128 接收客戶連接的監聽隊例的長度爲128
49 ipc.server.tcpnodelay false 開啓或關閉服務器端TCP連接算法
50 ipc.client.tcpnodelay false 開啓或關閉客戶端TCP連接算法
51 webinterface.private.actions false Web交互的行爲設定

 

52 hadoop.rpc.socket.factory.class.default org.apache.hadoop.net.StandardSocketFactory 缺省的socket工廠類設置
53 hadoop.rpc.socket.factory.class.ClientProtocol   與dfs連接時的缺省socket工廠類
54 hadoop.socks.server   服務端的工廠類缺省設置爲SocksSocketFactory.
55 topology.node.switch.mapping.impl org.apache.hadoop.net.ScriptBasedMapping  
56 topology.script.file.name    
57 topology.script.number.args 100 參數數量最多爲100
58 hadoop.security.uid.cache.secs 14400  

 

 

 

 

 

 

3.2  hdfs-default.html

 

序號 參數名 參數值 參數說明
1 dfs.namenode.logging.level info 輸出日誌類型
2 dfs.secondary.http.address 0.0.0.0:50090 備份名稱節點的http協議訪問地址與端口
3 dfs.datanode.address 0.0.0.0:50010 數據節點的TCP管理服務地址和端口
4 dfs.datanode.http.address 0.0.0.0:50075 數據節點的HTTP協議訪問地址和端口
5 dfs.datanode.ipc.address 0.0.0.0:50020 數據節點的IPC服務訪問地址和端口
6 dfs.datanode.handler.count 3 數據節點的服務連接處理線程數
7 dfs.http.address 0.0.0.0:50070 名稱節點的http協議訪問地址與端口
8 dfs.https.enable false 支持https訪問方式標識
9 dfs.https.need.client.auth false 客戶端指定https訪問標識
10 dfs.https.server.keystore.resource ssl-server.xml Ssl密鑰服務端的配置文件
11 dfs.https.client.keystore.resource ssl-client.xml Ssl密鑰客戶端的配置文件
12 dfs.datanode.https.address 0.0.0.0:50475 數據節點的HTTPS協議訪問地址和端口
13 dfs.https.address 0.0.0.0:50470 名稱節點的HTTPS協議訪問地址和端口
14 dfs.datanode.dns.interface default 數據節點採用IP地址標識
15 dfs.datanode.dns.nameserver default 指定DNS的IP地址
16 dfs.replication.considerLoad true 加載目標或不加載的標識
17 dfs.default.chunk.view.size 32768 瀏覽時的文件塊大小設置爲32K
18 dfs.datanode.du.reserved 0 每個卷預留的空閒空間數量
19 dfs.name.dir ${hadoop.tmp.dir}/dfs/name 存貯在本地的名字節點數據鏡象的目錄,作爲名字節點的冗餘備份
20 dfs.name.edits.dir ${dfs.name.dir} 存貯文件操作過程信息的存貯目錄
21 dfs.web.ugi webuser,webgroup Web接口訪問的用戶名和組的帳戶設定
22 dfs.permissions true 文件操作時的權限檢查標識。
23 dfs.permissions.supergroup supergroup 超級用戶的組名定義
24 dfs.block.access.token.enable false 數據節點訪問令牌標識
25 dfs.block.access.key.update.interval 600 升級訪問鑰時的間隔時間
26 dfs.block.access.token.lifetime 600 訪問令牌的有效時間
27 dfs.data.dir ${hadoop.tmp.dir}/dfs/data 數據節點的塊本地存放目錄
28 dfs.datanode.data.dir.perm 755 數據節點的存貯塊的目錄訪問權限設置
29 dfs.replication 3 缺省的塊複製數量
30 dfs.replication.max 512 塊複製的最大數量
31 dfs.replication.min 1 塊複製的最小數量
32 dfs.block.size 67108864 缺省的文件塊大小爲64M
33 dfs.df.interval 60000 磁盤空間統計間隔爲6秒
34 dfs.client.block.write.retries 3 塊寫入出錯時的重試次數
35 dfs.blockreport.intervalMsec 3600000 塊的報告間隔時爲1小時
36 dfs.blockreport.initialDelay 0 塊順序報告的間隔時間
37 dfs.heartbeat.interval 3 數據節點的心跳檢測間隔時間
38 dfs.namenode.handler.count 10 名稱節點的連接處理的線程數量
39 dfs.safemode.threshold.pct 0.999f 啓動安全模式的閥值設定

 

40 dfs.safemode.extension 30000 當閥值達到量值後擴展的時限
41 dfs.balance.bandwidthPerSec 1048576 啓動負載均衡的數據節點可利用帶寬最大值爲1M
42 dfs.hosts   可與名稱節點連接的主機地址文件指定。
43 dfs.hosts.exclude   不充計與名稱節點連接的主機地址文件設定
44 dfs.max.objects 0 文件數、目錄數、塊數的最大數量
45 dfs.namenode.decommission.interval 30 名稱節點解除命令執行時的監測時間週期
46 dfs.namenode.decommission.nodes.per.interval 5 名稱節點解除命令執行是否完檢測次數
47 dfs.replication.interval 3 名稱節點計算數據節點的複製工作的週期數.
48 dfs.access.time.precision 3600000 充許訪問文件的時間精確到1小時
49 dfs.support.append false 是否充許鏈接文件指定
50 dfs.namenode.delegation.key.update-interval 86400000 名稱節點上的代理令牌的主key的更新間隔時間爲24小時
51 dfs.namenode.delegation.token.max-lifetime 604800000 代理令牌的有效時間最大值爲7天
52 dfs.namenode.delegation.token.renew-interval 86400000 代理令牌的更新時間爲24小時
53 dfs.datanode.failed.volumes.tolerated 0 決定停止數據節點提供服務充許卷的出錯次數。0次則任何卷出錯都要停止數據節點

 

 

 

3.3  mapred-default.html

 

序號 參數名 參數值 參數說明
1 hadoop.job.history.location   作業跟蹤管理器的靜態歷史文件的存放目錄。
2 hadoop.job.history.user.location   可以指定具體某個作業的跟蹤管理器的歷史文件存放目錄
3 mapred.job.tracker.history.completed.location   已完成作業的歷史文件的存放目錄
4 io.sort.factor  10 排完序的文件的合併時的打開文件句柄數
5 io.sort.mb  100 排序文件的內存緩存大小爲100M
6 io.sort.record.percent  0.05 排序線程阻塞的內存緩存剩餘比率
7 io.sort.spill.percent  0.80 當緩衝佔用量爲該值時,線程需要將內容先備份到磁盤中。
8 io.map.index.skip  0 索引條目的間隔設定
9 mapred.job.tracker  local 作業跟蹤管理器是否和MR任務在一個進程中
10 mapred.job.tracker.http.address 0.0.0.0:50030 作業跟蹤管理器的HTTP服務器訪問端口和地址
11 mapred.job.tracker.handler.count 10 作業跟蹤管理器的管理線程數,線程數比例是任務管理跟蹤器數量的0.04
12 mapred.task.tracker.report.address 127.0.0.1:0 任務管理跟蹤器的主機地址和端口地址

 

13 mapred.local.dir ${hadoop.tmp.dir}/mapred/local MR的中介數據文件存放目錄
14 mapred.system.dir ${hadoop.tmp.dir}/mapred/system MR的控制文件存放目錄
15 mapreduce.jobtracker.staging.root.dir ${hadoop.tmp.dir}/mapred/staging 每個正在運行作業文件的存放區
16 mapred.temp.dir ${hadoop.tmp.dir}/mapred/temp MR臨時共享文件存放區
17 mapred.local.dir.minspacestart 0 MR本地中介文件刪除時,不充許有任務執行的數量值。
18 mapred.local.dir.minspacekill 0 MR本地中介文件刪除時,除非所有任務都已完成的數量值。
19 mapred.tasktracker.expiry.interval 600000 任務管理跟蹤器不發送心跳的累計時間間隔超過600秒,則任務管理跟蹤器失效
20 mapred.tasktracker.resourcecalculatorplugin   指定的一個用戶訪問資源信息的類實例
21 mapred.tasktracker.taskmemorymanager.monitoring-interval 5000 監控任務管理跟蹤器任務內存使用率的時間間隔
22 mapred.tasktracker.tasks.sleeptime-before-sigkill 5000 發出進程終止後,間隔5秒後發出進程消亡信號

 

23 mapred.map.tasks 2 每個作業缺省的map任務數爲2
24 mapred.reduce.tasks 1 每個作業缺省的reduce任務數爲1
25 mapreduce.tasktracker.outofband.heartbeat false 讓在任務結束後發出一個額外的心跳信號
26 mapreduce.tasktracker.outofband.heartbeat.damper 1000000 當額外心跳信號發出量太多時,則適當阻止

 

27 mapred.jobtracker.restart.recover false 充許任務管理器恢復時採用的方式
28 mapred.jobtracker.job.history.block.size 3145728 作業歷史文件塊的大小爲3M
29 mapreduce.job.split.metainfo.maxsize 10000000 分隔元信息文件的最大值是10M以下

 

30 mapred.jobtracker.taskScheduler org.apache.hadoop.mapred.JobQueueTaskScheduler 設定任務的執行計劃實現類
31 mapred.jobtracker.taskScheduler.maxRunningTasksPerJob   作業同時運行的任務數的最大值
32 mapred.map.max.attempts 4 Map任務的重試次數
33 mapred.reduce.max.attempts 4 Reduce任務的重試次數
34 mapred.reduce.parallel.copies 5 在複製階段時reduce並行傳送的值。
35 mapreduce.reduce.shuffle.maxfetchfailures 10 取map輸出的最大重試次數
36 mapreduce.reduce.shuffle.connect.timeout 180000 REDUCE任務連接任務管理器獲得map輸出時的總耗時是3分鐘

 

37 mapreduce.reduce.shuffle.read.timeout 180000 REDUCE任務等待map輸出數據的總耗時是3分鐘
38 mapred.task.timeout 600000 如果任務無讀無寫時的時間耗時爲10分鐘,將被終止
39 mapred.tasktracker.map.tasks.maximum 2 任管管理器可同時運行map任務數爲2
40 mapred.tasktracker.reduce.tasks.maximum 2 任管管理器可同時運行reduce任務數爲2
41 mapred.jobtracker.completeuserjobs.maximum 100 當用戶的完成作業數達100個後,將其放入作業歷史文件中
42 mapreduce.reduce.input.limit -1 Reduce輸入量的限制。
43 mapred.job.tracker.retiredjobs.cache.size 1000 作業狀態爲已不在執行的保留在內存中的量爲1000
44 mapred.job.tracker.jobhistory.lru.cache.size 5 作業歷史文件裝載到內存的數量
45 mapred.child.java.opts -Xmx200m 啓動task管理的子進程時的內存設置
46 mapred.child.env   子進程的參數設置
47 mapred.child.ulimit   虛擬機所需內存的設定。
48 mapred.cluster.map.memory.mb -1  
49 mapred.cluster.reduce.memory.mb -1  
50 mapred.cluster.max.map.memory.mb -1  
51 mapred.cluster.max.reduce.memory.mb -1  
52 mapred.job.map.memory.mb -1  
53 mapred.job.reduce.memory.mb -1  
54 mapred.child.tmp /tmp Mr任務信息的存放目錄
55 mapred.inmem.merge.threshold 1000 內存中的合併文件數設置
56 mapred.job.shuffle.merge.percent 0.66  
57 mapred.job.shuffle.input.buffer.percent 0.70  
58 mapred.job.reduce.input.buffer.percent 0.0  
59 mapred.map.tasks.speculative.execution true Map任務的多實例並行運行標識
60 mapred.reduce.tasks.speculative.execution true Reduce任務的多實例並行運行標識
61 mapred.job.reuse.jvm.num.tasks 1 每虛擬機運行的任務數
62 mapred.min.split.size 0 Map的輸入數據被分解的塊數設置
63 mapred.jobtracker.maxtasks.per.job -1 一個單獨作業的任務數設置
64 mapred.submit.replication 10 提交作業文件的複製級別
65 mapred.tasktracker.dns.interface default 任務管理跟蹤器是否報告IP地址名的開關
66 mapred.tasktracker.dns.nameserver default 作業和任務管理跟蹤器之間通訊方式採用的DNS服務的主機名或IP地址
67 tasktracker.http.threads 40 http服務器的工作線程數量
68 mapred.task.tracker.http.address 0.0.0.0:50060 任務管理跟蹤器的http服務器的地址和端口
69 keep.failed.task.files false 失敗任務是否保存到文件中

 

70 mapred.output.compress false 作業的輸出是否壓縮
71 mapred.output.compression.type RECORD 作業輸出採用NONE, RECORD or BLOCK三種方式中一種壓縮的寫入到流式文件
72 mapred.output.compression.codec org.apache.hadoop.io.compress.DefaultCodec 壓縮類的設置
73 mapred.compress.map.output false Map的輸出是否壓縮
74 mapred.map.output.compression.codec org.apache.hadoop.io.compress.DefaultCodec Map的輸出壓縮的實現類指定
75 map.sort.class org.apache.hadoop.util.QuickSort 排序鍵的排序類指定
76 mapred.userlog.limit.kb 0 每個任務的用戶日誌文件大小
77 mapred.userlog.retain.hours 24 作業完成後的用戶日誌留存時間爲24小時
78 mapred.user.jobconf.limit 5242880 Jobconf的大小爲5M
79 mapred.hosts   可與作業管理跟蹤器連接的主機名
80 mapred.hosts.exclude   不可與作業管理跟蹤器連接的主機名
81 mapred.heartbeats.in.second 100 作業管理跟蹤器的每秒中到達的心跳數量爲100
82 mapred.max.tracker.blacklists 4 任務管理跟蹤器的黑名單列表的數量
83 mapred.jobtracker.blacklist.fault-timeout-window 180 任務管理跟蹤器超時180分鐘則訪任務將被重啓
84 mapred.jobtracker.blacklist.fault-bucket-width 15  
85 mapred.max.tracker.failures 4 任務管理跟蹤器的失敗任務數設定
86 jobclient.output.filter FAILED 控制任務的用戶日誌輸出到作業端時的過濾方式
87 mapred.job.tracker.persist.jobstatus.active false 是否持久化作業管理跟蹤器的信息
88 mapred.job.tracker.persist.jobstatus.hours 0 持久化作業管理跟蹤器的信息的保存時間
89 mapred.job.tracker.persist.jobstatus.dir /jobtracker/jobsInfo 作業管理跟蹤器的信息存放目錄
90 mapreduce.job.complete.cancel.delegation.tokens true 恢復時是否變更領牌
91 mapred.task.profile false 任務分析信息是否建設標誌
92 mapred.task.profile.maps 0-2 設置map任務的分析範圍
93 mapred.task.profile.reduces 0-2 設置reduce任務的分析範圍
94 mapred.line.input.format.linespermap 1 每次切分的行數設置
95 mapred.skip.attempts.to.start.skipping 2 在跳轉模式未被設定的情況下任務的重試次數
96 mapred.skip.map.auto.incr.proc.count true MapRunner在調用map功能後的增量處理方式設置
97 mapred.skip.reduce.auto.incr.proc.count true 在調用reduce功能後的增量處理方式設置
98 mapred.skip.out.dir   跳過記錄的輸出目錄
99 mapred.skip.map.max.skip.records 0  
100 mapred.skip.reduce.max.skip.groups 0  
101 job.end.retry.attempts 0 Hadoop償試連接通知器的次數
102 job.end.retry.interval 30000 通知償試迴應的間隔操作爲30秒
103 hadoop.rpc.socket.factory.class.JobSubmissionProtocol   指定與作業跟蹤管理器的通訊方式,缺省是採用rpc方式
104 mapred.task.cache.levels 2 任務緩存級別設置
105 mapred.queue.names default 分隔作業隊例的分隔符設定
106 mapred.acls.enabled false 指定ACL訪問控制列表
107 mapred.queue.default.state RUNNING 定義隊列的狀態
108 mapred.job.queue.name default 已提交作業的隊列設定
109 mapreduce.job.acl-modify-job   指定可修改作業的ACL列表
110 mapreduce.job.acl-view-job   指定可瀏臨作業的ACL列表
111 mapred.tasktracker.indexcache.mb 10 任務管理跟蹤器的索引內存的最大容器
112 mapred.combine.recordsBeforeProgress 10000 在聚合處理時的記錄塊數

 

113 mapred.merge.recordsBeforeProgress 10000 在彙總處理時的記錄塊數
114 mapred.reduce.slowstart.completed.maps 0.05  
115 mapred.task.tracker.task-controller org.apache.hadoop.mapred.DefaultTaskController 任務管理器的設定
116 mapreduce.tasktracker.group   任務管理器的組成員設定
117 mapred.healthChecker.script.path   腳本的絕對路徑指定,這些腳本是心跳服務的
118 mapred.healthChecker.interval 60000 節點心跳信息的間隔
119 mapred.healthChecker.script.timeout 600000  
120 mapred.healthChecker.script.args   參數列表

 

121 mapreduce.job.counters.limit 120 作業計數器的最小值
       
       

 

發佈了14 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章