天天看點

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

續上篇

name

value

Description

hadoop.job.history.location

job曆史檔案儲存路徑,無可配置參數,也不用寫在配置檔案裡,預設在logs的history檔案夾下。

hadoop.job.history.user.location

使用者曆史檔案存放位置

io.sort.factor

30

這裡處理流合并時的檔案排序數,我了解為排序時打開的檔案數

io.sort.mb

600

排序所使用的記憶體數量,機關兆,預設1,我記得是不能超過mapred.child.java.opt設定,否則會OOM

mapred.job.tracker

hadoopmaster:9001

連接配接jobtrack伺服器的配置項,預設不寫是local,map數1,reduce數1

mapred.job.tracker.http.address

0.0.0.0:50030

jobtracker的tracker頁面服務監聽位址

mapred.job.tracker.handler.count

15

jobtracker服務的線程數

mapred.task.tracker.report.address

127.0.0.1:0

tasktracker監聽的伺服器,無需配置,且官方不建議自行修改

mapred.local.dir

/data1/hdfs/mapred/local,

/data2/hdfs/mapred/local,

...

mapred做本地計算所使用的檔案夾,可以配置多塊硬碟,逗号分隔

mapred.system.dir

/data1/hdfs/mapred/system,

/data2/hdfs/mapred/system,

mapred存放控制檔案所使用的檔案夾,可配置多塊硬碟,逗号分隔。

mapred.temp.dir

/data1/hdfs/mapred/temp,

/data2/hdfs/mapred/temp,

mapred共享的臨時檔案夾路徑,解釋同上。

mapred.local.dir.minspacestart

1073741824

本地運算檔案夾剩餘空間低于該值則不在本地做計算。位元組配置,預設0

mapred.local.dir.minspacekill

本地計算檔案夾剩餘空間低于該值則不再申請新的任務,位元組數,預設0

mapred.tasktracker.expiry.interval

60000

TT在這個時間内沒有發送心跳,則認為TT已經挂了。機關毫秒

mapred.map.tasks

2

預設每個job所使用的map數,意思是假設設定dfs塊大小為64M,需要排序一個60M的檔案,也會開啟2個map線程,當jobtracker設定為本地是不起作用。

mapred.reduce.tasks

1

解釋同上

mapred.jobtracker.restart.recover

true | false

重新開機時開啟任務恢複,預設false

mapred.jobtracker.taskScheduler

org.apache.hadoop.mapred.

CapacityTaskScheduler

JobQueueTaskScheduler

FairScheduler

重要的東西,開啟任務管理器,不設定的話,hadoop預設是FIFO排程器,其他可以使用公平和計算能力排程器

mapred.reduce.parallel.copies

10

reduce在shuffle階段使用的并行複制數,預設5

mapred.child.java.opts

-Xmx2048m

-Djava.library.path=

/opt/hadoopgpl/native/

Linux-amd64-64

每個TT子程序所使用的虛拟機記憶體大小

tasktracker.http.threads

50

TT用來跟蹤task任務的http server的線程數

mapred.task.tracker.http.address

0.0.0.0:50060

TT預設監聽的httpIP和端口,預設可以不寫。端口寫0則随機使用。

mapred.output.compress

任務結果采用壓縮輸出,預設false,建議false

mapred.output.compression.codec

org.apache.hadoop.io.

compress.DefaultCodec

輸出結果所使用的編×××,也可以用gz或者bzip2或者lzo或者snappy等

mapred.compress.map.output

map輸出結果在進行網絡交換前是否以壓縮格式輸出,預設false,建議true,可以減小帶寬占用,代價是會慢一些。

mapred.map.output.compression.codec

com.hadoop.compression.

lzo.LzoCodec

map階段壓縮輸出所使用的編×××

map.sort.class

org.apache.hadoop.util.

QuickSort

map輸出排序所使用的算法,預設快排。

mapred.hosts

conf/mhost.allow

允許連接配接JT的TT伺服器清單,空值全部允許

mapred.hosts.exclude

conf/mhost.deny

禁止連接配接JT的TT清單,節點摘除是很有作用。

mapred.queue.names

ETL,rush,default

配合排程器使用的隊列名清單,逗号分隔

mapred.tasktracker.map.

tasks.maximum

12

每伺服器允許啟動的最大map槽位數。

mapred.tasktracker.reduce.

6

每伺服器允許啟動的最大reduce槽位數

撿一些比較重要的,用的多的配置,官網建議的專家配置項基本沒寫上,改壞了就不好玩了。