mapred-site.xml 基本配置參考


說明:這是hadoop2.x版本的參數。下面的value都是參數默認值。

常用配置:

♥♥♥

1.mapreduce.job.hdfs-servers

value:${fs.defaultFS}   

說明:job客戶端參數。

2.mapreduce.task.io.sort.factor

value:10

說明:在Reduce Task階段,排序文件時一次合並的流的數量。 這決定了打開文件句柄的數量。也即是一次合並的文件數據,每次合並的時候選擇最小的前10進行合並。

3.mapreduce.task.io.sort.mb

value:100

說明:排序文件時使用的緩沖區內存總量,以兆字節為單位。 默認情況下,為每個合並流提供1MB,這應該最小化搜索。

4.mapreduce.map.sort.spill.percent

value:0.8

說明:Map階段溢寫文件的閾值(排序緩沖區大小的百分比)。

5.mapreduce.jobtracker.address

value:local

說明:MapReduce作業跟蹤器運行的主機和端口。 如果是“本地”,則作業將作為單個映射在進程中運行並減少任務。

6.mapreduce.job.maps

value:2

說明:單個任務的map數量。

7.mapreduce.job.reduces

value:1

說明:單個任務的reduce數量。

 8.mapreduce.job.running.map.limit

value:0

說明:單個任務並發的最大map數,0或負數沒有限制

9.mapreduce.job.running.reduce.limit

value:0

單個任務並發的最大reduce數,0或負數沒有限制

10.mapreduce.job.max.map

value:-1

說明:單個任務允許的最大map數,-1表示沒有限制。

11.mapreduce.job.max.split.locations

value:10

說明:分片數量

12.mapreduce.job.split.metainfo.maxsize

value:10000000

說明:split的元數據信息數量,如果value為-1,則沒有限制

13.mapreduce.map.maxattempts

value:4

說明:每個 Map Task 最大重試次數,一旦重試參數超過該值,則認為 Map Task 運行失敗。

14.mapreduce.reduce.maxattempts

value:4

說明:每個 reduce Task 最大重試次數,一旦重試參數超過該值,則認為 reduce Task 運行失敗。

15.mapreduce.reduce.shuffle.parallelcopies

value:5

說明:Reduce Task啟動的並發拷貝數據的線程數目

 16.mapreduce.task.timeout

value:600000

說明:如果任務既不讀取輸入,也不寫入輸出,也不更新其狀態字符串,則任務終止之前的毫秒數。0表示禁用超時。

17.mapreduce.map.memory.mb

value:1024

說明:每個Map Task需要的內存量

18.mapreduce.map.cpu.vcores

value:1

說明:每個Map Task需要的虛擬CPU個數

19.mapreduce.reduce.memory.mb

value:1024

說明:每個Reduce Task需要的內存量

20.mapreduce.reduce.cpu.vcores

value:1

說明:每個Reduce Task需要的虛擬CPU個數

21.mapred.child.java.opts

value:-Xmx200m

說明:jvm啟動的子線程可以使用的最大內存。建議值-XX:-UseGCOverheadLimit -Xms512m -Xmx2048m -verbose:gc -Xloggc:/tmp/@taskid@.gc

22.yarn.app.mapreduce.am.resource.mb

value:1536

說明:MR ApplicationMaster占用的內存量。

23.yarn.app.mapreduce.am.resource.cpu-vcores

value:1

說明:MR ApplicationMaster占用的虛擬CPU個數。

24.mapreduce.jobhistory.address

value:0.0.0.0:10020

說明:指定歷史服務器的地址和端口

25.mapreduce.jobhistory.webapp.address

value:0.0.0.0:19888

說明:歷史服務器的web地址

26.mapreduce.map.java.opts

value:-Xmx1024m

說明:每個map任務的jvm需要的內存量,一般為map內存的0.8

27.mapreduce.reduce.java.opts

value:

說明:每個reduce任務jvm需要的內存量。為reduce內存量的0.8

28.mapreduce.map.output.compress

value:false

說明: map輸出是否進行壓縮,如果壓縮就會多耗cpu,但是減少傳輸時間,如果不壓縮,就需要較多的傳輸帶寬,默認是false。配合 mapreduce.map.output.compress.codec使用

29.mapreduce.map.output.compress.codec

value:org.apache.hadoop.io.compress.DefaultCodec

 

 

不常用配置:

1.mapreduce.local.clientfactory.class.name

value:org.apache.hadoop.mapred.LocalClientFactory

說明:這是負責創建本地作業運行客戶端的客戶端工廠。

2.mapreduce.jobtracker.system.dir

value:${hadoop.tmp.dir}/mapred/system

說明:MapReduce存儲控制文件的目錄,可配置多塊硬盤,逗號分隔。

3.mapreduce.jobtracker.staging.root.dir

value:${hadoop.tmp.dir}/mapred/staging

說明:用來存放與每個job相關的數據

4.mapreduce.cluster.temp.dir

value:${hadoop.tmp.dir}/mapred/temp

說明:用來存放臨時文件共享的目錄。

5.mapreduce.job.reducer.preempt.delay.sec

value:0

說明:

6.mapreduce.reduce.shuffle.fetch.retry.enabled

value:${yarn.nodemanager.recovery.enabled}

說明:設置主機重新啟動期間啟用提取重試。

7.mapreduce.reduce.shuffle.fetch.retry.interval-ms

value:1000

說明:提取器重試再次獲取的時間間隔。

8.mapreduce.reduce.shuffle.fetch.retry.timeout-ms

value:30000

說明:取回超時時間

9.mapreduce.reduce.shuffle.retry-delay.max.ms

value:60000

說明:在重試下載map數據之前,reducer將延遲的最大ms數。

10.mapreduce.reduce.shuffle.connect.timeout

value:180000

說明:reduce task 連接map的超時時間,以毫秒為單位。

11.mapreduce.reduce.shuffle.read.timeout

value:180000

說明:map 輸出數據,reduce連接以后可用於讀取的最長時間,以毫秒為單位。

12.mapreduce.shuffle.listen.queue.size

value:128

說明:shuffle偵聽隊列的長度

13.mapreduce.shuffle.connection-keep-alive.enable

value:false

說明:是否保持活躍連接,默認為false。

14.mapreduce.shuffle.connection-keep-alive.timeout

value:5

說明:保持活躍連接的秒數。

15.yarn.app.mapreduce.am.log.level

value:info

說明:MR ApplicationMaster的日志記錄級別。 允許的級別為:OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE和ALL。 如果設置了“mapreduce.job.log4j-properties-file”,則可以覆蓋此處的設置。

16.mapreduce.map.log.level

value:info

說明:map任務的日志記錄級別。 允許的級別為:OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE和ALL。 如果設置了“mapreduce.job.log4j-properties-file”,則可以覆蓋此處的設置。

17.mapreduce.reduce.log.level

value:info

說明:reduce任務的日志記錄級別。 允許的級別為:OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE和ALL。 如果設置了“mapreduce.job.log4j-properties-file”,則可以覆蓋此處的設置。

18.mapreduce.reduce.merge.inmem.threshold

value:1000

說明:設置了Map任務在緩存溢出前能夠保留在內存中的輸出個數的閾值(默認1000),只要一個滿足,輸出數據都將會寫到磁盤。

19.mapreduce.reduce.shuffle.merge.percent

value:0.66

說明:決定緩存溢出到磁盤的閾值(默認0.66),即占用分配給map輸出總內存的百分比。

20.mapreduce.reduce.shuffle.input.buffer.percent

value:0.70

說明:Reduce任務對多個Map任務的輸出結果進行合並時,占用的緩存空間在堆棧空間中的占用比例(默認0.70)。

21.mapreduce.reduce.input.buffer.percent

value:0

說明:reduce函數開始運行時,內存中的map輸出所占的堆內存比例不得高於這個值,默認情況內存都用於reduce函數,也就是map輸出都寫入到磁盤

22.mapreduce.reduce.shuffle.memory.limit.percent

value:0.25

說明:一個單一的shuffle的最大內存使用限制

23.mapreduce.shuffle.ssl.enabled

value:false

說明:是否將SSL用於Shuffle HTTP端點。

24.mapreduce.shuffle.ssl.file.buffer.size

value:65536

說明:使用SSL時從文件讀取溢出的緩沖區大小。

 

配置文件常用配置:

 <property>
         <name>mapreduce.map.memory.mb</name>
         <value>1024</value>
   </property>

   <property>
         <name>mapreduce.map.java.opts</name>
         <value>-Xmx819M</value>
   </property>

   <property>
         <name>mapreduce.reduce.memory.mb</name>
         <value>2048</value>
   </property>

   <property>
         <name>mapreduce.reduce.java.opts</name>
         <value>-Xmx1638M</value>
   </property>

   <property> 
         <name>mapreduce.task.io.sort.mb</name>
         <value>512</value>
   </property>

   <property>
         <name>mapreduce.task.io.sort.factor</name>
         <value>100</value>
   </property>
    <property>
    <name>mapreduce.tasktracker.http.threads</name>
<value>100</value>
</property>
   <property>
         <name>mapreduce.reduce.shuffle.parallelcopies</name>
         <value>100</value>
   </property>
    <property>
         <name>mapreduce.map.output.compress</name>
         <value>true</value>
   </property>
    <property>
         <name>mapreduce.map.output.compress.codec</name>
         <value>org.apache.hadoop.io.compress.DefaultCodec</value>
   </property>
   <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>master:11211</value>
    </property>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM