簡體   English   中英

如何在Amazon EMR上配置Hadoop參數?

[英]How to configure Hadoop parameters on Amazon EMR?

我在Amazon EMR上運行一個帶有one Mastertwo slavers的MR工作,但是獲得了許多錯誤消息,例如running beyond physical memory limits. Current usage: 3.0 GB of 3 GB physical memory used; 3.7 GB of 15 GB virtual memory used. Killing container running beyond physical memory limits. Current usage: 3.0 GB of 3 GB physical memory used; 3.7 GB of 15 GB virtual memory used. Killing container map 100% reduce 35%running beyond physical memory limits. Current usage: 3.0 GB of 3 GB physical memory used; 3.7 GB of 15 GB virtual memory used. Killing container map 100% reduce 35%

我通過在Hadoop 2.6.0 MR配置中添加以下行來修改我的代碼,但我仍然得到相同的錯誤消息。

Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "jobtest2");
//conf.set("mapreduce.input.fileinputformat.split.minsize","3073741824");                                                                   
conf.set("mapreduce.map.memory.mb", "8192");                                     
conf.set("mapreduce.map.java.opts", "-Xmx8192m");                                         
conf.set("mapreduce.reduce.memory.mb", "8192");                                         
conf.set("mapreduce.reduce.java.opts", "-Xmx8192m");

在Amazon EMR上配置這些參數( mapreduce.map.memory.mbmapreduce.map.java.optsmapreduce.reduce.memory.mbmapreduce.reduce.java.opts )的正確方法是什么? 謝謝!

Hadoop 2.x允許您設置地圖並減少每個作業的設置,以便設置正確的部分。 問題是Java opts Xmx內存必須小於map / reduce.memory.mb。 此屬性表示堆和堆使用的總內存。 以默認值為例: http//docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-hadoop-task-config.html 如果Yarn在使用默認設置時殺掉容器以超出內存,那么這意味着您需要為off heap部分提供更多內存,從而增加Xmx與總map / reduce.memory.mb之間的差距。

請查看AWS CLI 的文檔 有關Hadoop的部分以及如何在EMR實例創建時映射到特定的XML配置文件。 我發現這是EMR上最好的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM