日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop与Spark常用配置参数总结

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop与Spark常用配置参数总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

MapReduce和Spark對外提供了上百個配置參數,用戶可以為作業定制這些參數以更快,更穩定的運行應用程序。本文梳理了最常用的一些MapReduce和Spark配置參數。

MapReduce重要配置參數

1. ?資源相關參數

(1)?mapreduce.map.memory.mb: 一個Map Task可使用的資源上限(單位:MB),默認為1024。如果Map Task實際使用的資源量超過該值,則會被強制殺死。

(2)?mapreduce.reduce.memory.mb: 一個Reduce Task可使用的資源上限(單位:MB),默認為1024。如果Reduce Task實際使用的資源量超過該值,則會被強制殺死。

(3)?mapreduce.map.java.opts: Map Task的JVM參數,你可以在此配置默認的java heap size等參數, e.g.

“-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc” (@taskid@會被Hadoop框架自動換為相應的taskid), 默認值:?“”

(4)?mapreduce.reduce.java.opts: Reduce Task的JVM參數,你可以在此配置默認的java heap size等參數, e.g.

“-Xmx1024m -verbose:gc -Xloggc:/tmp/@taskid@.gc”, 默認值:?“”

(5)?mapreduce.map.cpu.vcores: 每個Map task可使用的最多cpu core數目, 默認值: 1

(6)?mapreduce.map.cpu.vcores:?每個Reduce task可使用的最多cpu core數目, 默認值: 1

2. ?容錯相關參數

(1)?mapreduce.map.maxattempts: 每個Map Task最大重試次數,一旦重試參數超過該值,則認為Map Task運行失敗,默認值:4。

(2)?mapreduce.reduce.maxattempts: 每個Reduce Task最大重試次數,一旦重試參數超過該值,則認為Map Task運行失敗,默認值:4。

(3)?mapreduce.map.failures.maxpercent: 當失敗的Map Task失敗比例超過該值為,整個作業則失敗,默認值為0. 如果你的應用程序允許丟棄部分輸入數據,則該該值設為一個大于0的值,比如5,表示如果有低于5%的Map Task失敗(如果一個Map Task重試次數超過mapreduce.map.maxattempts,則認為這個Map Task失敗,其對應的輸入數據將不會產生任何結果),整個作業扔認為成功。

(4)?mapreduce.reduce.failures.maxpercent: 當失敗的Reduce Task失敗比例超過該值為,整個作業則失敗,默認值為0.

(5)?mapreduce.task.timeout: Task超時時間,經常需要設置的一個參數,該參數表達的意思為:如果一個task在一定時間內沒有任何進入,即不會讀取新的數據,也沒有輸出數據,則認為該task處于block狀態,可能是卡住了,也許永遠會卡主,為了防止因為用戶程序永遠block住不退出,則強制設置了一個該超時時間(單位毫秒),默認是300000。如果你的程序對每條輸入數據的處理時間過長(比如會訪問數據庫,通過網絡拉取數據等),建議將該參數調大,該參數過小常出現的錯誤提示是“AttemptID:attempt_14267829456721_123456_m_000224_0 Timed out after 300 secsContainer killed by the ApplicationMaster.”。

3. ?本地運行mapreduce?作業

設置以下幾個參數:

mapreduce.framework.name=local

mapreduce.jobtracker.address=local

fs.defaultFS=local

4. ?效率和穩定性相關參數

(1) mapreduce.map.speculative: 是否為Map Task打開推測執行機制,默認為false

(2) mapreduce.reduce.speculative:?是否為Reduce Task打開推測執行機制,默認為false

(3) mapreduce.job.user.classpath.first &?mapreduce.task.classpath.user.precedence:當同一個class同時出現在用戶jar包和hadoop jar中時,優先使用哪個jar包中的class,默認為false,表示優先使用hadoop jar中的class。 (4) mapreduce.input.fileinputformat.split.minsize: 每個Map Task處理的數據量(僅針對基于文件的Inputformat有效,比如TextInputFormat,SequenceFileInputFormat),默認為一個block大小,即 134217728。

HBase 相關配置參數

(1) hbase.rpc.timeout:rpc的超時時間,默認60s,不建議修改,避免影響正常的業務,在線上環境剛開始配置的是3秒,運行半天后發現了大量的timeout error,原因是有一個region出現了如下問題阻塞了寫操作:“Blocking updates … memstore size 434.3m is >= than blocking 256.0m size”可見不能太低。
(2) ipc.socket.timeout:socket建立鏈接的超時時間,應該小于或者等于rpc的超時時間,默認為20s
(3) hbase.client.retries.number:重試次數,默認為14,可配置為3
(4) hbase.client.pause:重試的休眠時間,默認為1s,可減少,比如100ms
(5) hbase.regionserver.lease.period:scan查詢時每次與server交互的超時時間,默認為60s,可不調整。

Spark?相關配置參數

1. ?效率及穩定性相關參數

建議打開map(注意,在spark引擎中,也只有map和reduce兩種task,spark叫ShuffleMapTask和ResultTask)中間結果合并及推測執行功能:

spark.shuffle.consolidateFiles=true

spark.speculation=trure

2. ?容錯相關參數

建議將這些值調大,比如:

spark.task.maxFailures=8

spark.akka.timeout=300

spark.network.timeout=300

spark.yarn.max.executor.failures=100

原創文章,轉載請注明:?轉載自董的博客

本文鏈接地址:?http://dongxicheng.org/framework-on-yarn/hadoop-spark-common-parameters/

總結

以上是生活随笔為你收集整理的Hadoop与Spark常用配置参数总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。