2

次のリンクにあるように、マップ タスクのヒープ サイズのデフォルト値は 200 MB ですが、mapreduce.task.io.sort.mb少なくとも 300 または 400 MB に増やす必要があるため、それを増やす必要があります。このような変更を行うには、Hadoop 構成ファイルにアクセスできないため、コードで行う必要があります。どうやってやるの?

http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

4

2 に答える 2

5

構成 API を介してパラメーターを設定できます。

Configuration conf = new Configuration();
conf.set("mapred.child.java.opts", "heap size here");
Job job = new Job(conf);

また、mapred.child.ulimit は、mapred.child.java.opts で指定されたヒープ サイズの 2 ~ 3 倍にする必要があります。

于 2013-10-31T04:51:49.310 に答える
-1

Hadoop 構成をプログラムで設定/変更するには、ドライバー クラスを次のようにします。

    public class MyDriver extends Configured implements Tool {


        @Override
        public int run(String[] args) throws Exception {

                Configuration conf = getConf();

                conf.set("mapred.child.java.opts", "-Xmx1024m -Xss600m");
                conf.set("mapreduce.task.io.sort.mb", "400m");
...

    }
    }
于 2013-10-31T04:53:19.907 に答える