[英]How to configure Hadoop parameters on Amazon EMR?
我在Amazon EMR上運行一個帶有one Master
和two 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.mb
, mapreduce.map.java.opts
, mapreduce.reduce.memory.mb
, mapreduce.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.