[發明專利]一種在線配置Hadoop參數的方法和裝置有效
| 申請號: | 201310672010.5 | 申請日: | 2013-12-10 |
| 公開(公告)號: | CN103701635B | 公開(公告)日: | 2017-02-15 |
| 發明(設計)人: | 貝振東;喻之斌;曾經緯;張慧玲;須成忠 | 申請(專利權)人: | 中國科學院深圳先進技術研究院 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L29/08 |
| 代理公司: | 深圳中一專利商標事務所44237 | 代理人: | 張全文 |
| 地址: | 518055 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 在線 配置 hadoop 參數 方法 裝置 | ||
技術領域
本發明涉及云計算領域,具體涉及一種在線配置Hadoop參數的方法和裝置。
背景技術
Hadoop是Apache開源組織的一個分布式計算開源框架,被設計用來在由通用計算設備組成的大型集群上執行分布式應用。基于Java語言構建的Hadoop框架實際上是一種分布式處理大數據的平臺,在近十年中,Hadoop已成為大數據革命的中心。
然而,Hadoop目前有多達190個配置參數,其中,大約有20個參數對Hadoop應用程序的效率有顯著的影響。通過調整這些參數,可以進行四個方面的性能調優:CPU、內存、磁盤I/O和網絡進行優化。例如,能影響磁盤I/O和CPU相關的參數包括mapred.compress.map.output、mapred.output.compress和mapred.map.output.compression.codec。這些參數用于控制是否對輸出進行壓縮,其中,mapred.compress.map.output用于map輸出壓縮,mapred.output.compress用于作業輸出壓縮,而mapred.map.output.compression.codec是壓縮采用的壓縮編解碼器。除了默認的編解碼器,用戶也可以提供其他的壓縮編解碼器。這些選項在默認情況下都是禁用的。一方面,啟用輸出壓縮可以加快磁盤寫操作,減少數據傳輸的總時間(在shuffle階段和HDFS寫階段都包括了磁盤IO資源和網絡資源的使用),另一方面,壓縮/解壓過程會增加CPU資源的開銷。與內存使用相關的參數包括參數io.sort.mb和參數mapred.job.shuffle.input.buffer.percent,其中,io.sort.mb設置用于map端排序的緩沖區大小,單位是MB,默認值是100。這個值越大,溢出到磁盤就越少,因此會減少map端的I/O時間,而增加這個值會導致每個map任務需要的內存增加。Reduce在shuffle階段對下載來的map數據,并不是立刻就寫入磁盤的,而是會先緩存在內存中,然后當使用內存達到一定量的時候才刷入磁盤。這個內存大小的控制就不像map一樣可以通過io.sort.mb來設定了,而是通過參數mapred.job.shuffle.input.buffer.percent(默認值是0.7)來設置。mapred.job.shuffle.input.buffer.percent參數是一個百分比,表示shuffile在reduce內存中的數據最多使用內存量的百分比。默認情況下,reduce會使用其堆內存的70%來在內存中緩存數據。該參數的設置大小同樣也會影響到磁盤溢出的大小,設置合理可以使得磁盤I/O的使用和內存的使用相對平衡。
雖然Hadoop對這些參數提供了默認的配置值,但是使用默認的配置并不能很好地適應變化的工作負載,從而導致Hadoop集群性能地衰減,因此需要用戶通過設置配置文件mapred-site.xml中的一些參數來實現集群設置和調優。然而,由于參數的配置空間巨大,即使用戶經驗豐富,也不能很好地權衡CPU與I/O資源的使用,這就很容易產生出錯的配置。鑒于此,現有技術提出了采用基于代價的方法對Hadoop/MapReduce的性能進行數學上的建模,實現對配置不同參數條件下的系統性能的預測。基于該模型采用遞歸的隨機搜索算法自動地在參數空間中搜索最優的參數配置,實現了參數的自動配置過程。
上述現有技術提供的方法都是在Hadoop/MapReduce的離線狀態下實施配置過程的,作業在Hadoop/MapReduce上運行時,這些配置不會發生改變。然而,對于連續運行的作業序列和數據計算分布不均勻的作業,這種配置方式將不再適應。首先,連續運行的作業序列在運行過程中,其配置需要根據不同的作業類型進行調整,因為不同的作業類型使用的CPU和I/O資源有可能不一樣,固定的一種配置不再適應不同作業類型構成的序列。其次,對于數據計算分布不均勻的作業,這種作業輸入的數據量大,處理這些數據的不同部分耗費的CPU資源是不一樣的,當數據處理耗費的資源發生變化時就有必要調整Hadoop/MapReduce的參數配置以適應新的情況,使得作業完成的時間達到最優。
發明內容
本發明實施例提供一種在線配置Hadoop參數的方法和裝置,以針對連續運行的作業序列或數據計算分布不均勻的作業,將其運行調整至資源使用的平衡狀態,實現系統運行的性能最優。
本發明實施例提供一種在線配置Hadoop參數的方法,所述方法包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院深圳先進技術研究院,未經中國科學院深圳先進技術研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310672010.5/2.html,轉載請聲明來源鉆瓜專利網。





