MapReduce運行參數是用于配置和優化MapReduce作業性能的關鍵設置。這些參數包括輸入輸出格式、資源分配、并行度設定等,正確配置可以顯著提高作業執行效率和系統資源的利用率。



MapReduce 運行參數和配置參數主要包括以下幾類:


1、作業級別參數
2、任務級別參數
3、MapReduce 框架參數
4、Hadoop 通用參數
下面分別對這四類參數進行詳細解釋:
1. 作業級別參數
作業級別參數是在提交 MapReduce 作業時設置的,主要用于控制整個作業的運行,以下是一些常用的作業級別參數:


參數名 | 描述 |
mapreduce.job.reduces |
設置作業中 reduce 任務的數量 |
mapreduce.job.reduce.slowstart.completed.maps |
設置 reduce 任務開始復制數據的 map 任務完成比例 |
mapreduce.job.reduce.slowstart.completed.maps |
設置 reduce 任務開始復制數據的 map 任務完成比例 |
mapreduce.input.fileinputformat.split.maxsize |
設置輸入分片的最大大小 |
mapreduce.input.fileinputformat.split.minsize |
設置輸入分片的最小大小 |
mapreduce.output.fileoutputformat.compress |
設置輸出文件是否壓縮 |
mapreduce.output.fileoutputformat.compress.codec |
設置輸出文件壓縮使用的編碼器 |
mapreduce.output.fileoutputformat.compress.type |
設置輸出文件壓縮類型(RECORD/BLOCK) |
mapreduce.output.fileoutputformat.sort.before.write |
設置在寫入輸出文件前是否進行排序 |
2. 任務級別參數
任務級別參數是在 MapReduce 任務運行時設置的,主要用于控制單個任務的運行,以下是一些常用的任務級別參數:
參數名 | 描述 |
mapreduce.map.memory.mb |
設置每個 map 任務的內存限制 |
mapreduce.reduce.memory.mb |
設置每個 reduce 任務的內存限制 |
mapreduce.map.java.opts |
設置 map 任務的 Java 虛擬機參數 |
mapreduce.reduce.java.opts |
設置 reduce 任務的 Java 虛擬機參數 |
mapreduce.task.timeout |
設置任務超時時間 |
mapreduce.tasktracker.http.threads |
設置 TaskTracker 的 HTTP 線程數 |
mapreduce.tasktracker.map.tasks.maximum |
設置 TaskTracker 上同時運行的 map 任務數上限 |
mapreduce.tasktracker.reduce.tasks.maximum |
設置 TaskTracker 上同時運行的 reduce 任務數上限 |
3. MapReduce 框架參數
MapReduce 框架參數主要用于控制 MapReduce 框架的運行,以下是一些常用的 MapReduce 框架參數:
參數名 | 描述 |
yarn.nodemanager.auxservices |
設置 NodeManager 上的輔助服務 |
yarn.nodemanager.pmemcheckenabled |
設置是否啟用物理內存檢查 |
yarn.nodemanager.vmemcheckenabled |
設置是否啟用虛擬內存檢查 |
yarn.nodemanager.resource.memorymb |
設置 NodeManager 可用內存總量 |
yarn.nodemanager.resource.cpuvcores |
設置 NodeManager 可用 CPU 核心數 |
yarn.nodemanager.localdirs |
設置 NodeManager 的數據存儲目錄 |
yarn.nodemanager.logdirs |
設置 NodeManager 的日志目錄 |
yarn.nodemanager.delete.debugdelaysec |
設置刪除調試文件的延遲時間 |
4. Hadoop 通用參數
Hadoop 通用參數適用于 Hadoop 集群的所有組件,以下是一些常用的 Hadoop 通用參數:
參數名 | 描述 |
fs.defaultFS |
設置默認的文件系統URI |
io.file.buffer.size |
設置文件系統 I/O 緩沖區大小 |
io.sort.factor |
設置外部排序的溢出文件數量 |
io.sort.record.percent |
設置外部排序過程中觸發合并的記錄百分比 |
io.sort.spill.percent |
設置外部排序過程中觸發寫磁盤的緩沖區百分比 |
io.sort.mb |
設置排序操作的內存緩沖區大小 |
mapreduce.jobhistory.address |
設置 JobHistoryServer 的地址 |
mapreduce.jobhistory.webapp.address |
設置 JobHistory UI 的地址 |
mapreduce.jobhistory.intermediatedonedir |
設置 JobHistory 中間結果的存儲目錄 |
mapreduce.jobhistory.donedir |
設置 JobHistory 最終結果的存儲目錄 |
這些參數可以通過配置文件(如mapredsite.xml
、yarnsite.xml
、hadoopenv.sh
等)或在提交作業時通過命令行參數進行設置。


聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。