8

Hadoopカウンターのサイズには制限があります。デフォルトでは120です。構成「mapreduce.job.counters.limit」を使用して変更しようとしましたが、機能しません。ソースコードを見てきました。これは、クラス「org.apache.hadoop.mapred.Counters」のJobConfのインスタンスがプライベートであるようなものです。誰かが前にそれを見たことがありますか?あなたの解決策は何ですか?THX :)

4

5 に答える 5

8

mapred-site.xmlJT、TT、クライアントノードでそのプロパティをオーバーライドできますが、これがシステム全体の変更になることを確認してください。

<configuration>
  ...
  <property>
    <name>mapreduce.job.counters.limit</name>
    <value>500</value>
  </property>
  ...
</configuration>

次に、クラスターでmapreduceサービスを再起動します。

于 2012-08-28T09:51:53.287 に答える
6

Hadoop 2では、この構成パラメーターは

mapreduce.job.counters.max

ただし、コマンドラインまたは構成オブジェクトで設定するだけでは不十分です。静的メソッドを呼び出す必要があります

org.apache.hadoop.mapreduce.counters.Limits.init()

マッパーまたはレデューサーのsetup()メソッドで、設定を有効にします。

2.6.0および2.7.1でテスト済み。

于 2015-11-13T20:20:11.607 に答える
1

パラは設定ファイルによって設定されますが、以下のパラは有効になります

mapreduce.job.counters.max=1000 
mapreduce.job.counters.groups.max=500 
mapreduce.job.counters.group.name.max=1000 
mapreduce.job.counters.counter.name.max=500 
于 2016-03-01T06:43:45.353 に答える
0

他の誰かが私たちが行ったのと同じ問題に直面した場合に備えて、これを追加するだけです。MRJobを使用してからカウンターを増やします。

カウンターの数を増やすには、に追加emr_configurationsしますmrjob.conf(または、構成パラメーターとしてMRJobに渡します)。

runners:
  emr:
    emr_configurations:
      - Classification: mapred-site
        Properties:
          mapreduce.job.counters.max: 1024
          mapreduce.job.counters.counter.name.max: 256
          mapreduce.job.counters.groups.max: 256
          mapreduce.job.counters.group.name.max: 256
于 2016-10-21T13:42:50.187 に答える
-1

で変更を加える代わりに、特定のジョブに対してのみコマンドラインオプションとして制限をカスタマイズできますmapred-site.xml

-Dmapreduce.job.counters.limit=x
-Dmapreduce.job.counters.groups.max=y

注:xおよびyは、環境/要件に基づくカスタム値です。

于 2015-10-13T14:09:21.640 に答える