2012-08-27 35 views
6

में 120 से अधिक काउंटर हैंडोप काउंटर आकार के लिए एक सीमा है। डिफ़ॉल्ट रूप से यह 120 है। मैं इसे बदलने के लिए कॉन्फ़िगरेशन "mapreduce.job.counters.limit" का उपयोग करने का प्रयास करता हूं, लेकिन यह काम नहीं करता है। मैंने सोर्स कोड देखा है। यह कक्षा "org.apache.hadoop.mapred.Counters" श्रेणी में जॉबकॉन्फ़ के उदाहरण की तरह है। क्या किसी ने पहले देखा है? आपका समाधान क्या है? THX :)हडूप

+0

Hadoop का कौन-सा संस्करण चल रहे हैं? – HypnoticSheep

+0

यह 0.20 है। क्या तुमने पहले देखा था? –

+0

मैंने एक ही समस्या में भाग नहीं लिया है (मुख्य रूप से जब से मैंने काउंटर का अधिक उपयोग नहीं किया है), लेकिन मैं 1.0.3 का उपयोग कर रहा हूं और जॉबकॉन्फ सामान अलग है। नीचे लोरैंड का समाधान आज़माएं, ऐसा लगता है कि यह काम करेगा। – HypnoticSheep

उत्तर

5

आप अपने संयुक्त, टीटी, ग्राहक नोड्स पर mapred-site.xml में है कि संपत्ति को ओवरराइड लेकिन यकीन है कि यह एक सिस्टम-वाइड संशोधन किया जाएगा बना सकते हैं:

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

तब पर mapreduce सेवा को पुनः आरंभ अपने क्लस्टर।

+0

मैंने आपके समाधान की कोशिश की। यह काम करता हैं। धन्यवाद :)। मुझे आश्चर्य है कि इस समस्या को गतिशील रूप से हल करने का कोई तरीका है या नहीं। –

+0

क्या एक नौकरी के लिए ऐसा करने का कोई तरीका नहीं है? – javamonkey79

-1

हम mapred-site.xml में परिवर्तन करने के बजाय केवल विशिष्ट नौकरियों के लिए कमांड लाइन विकल्प के रूप में सीमाओं को कस्टमाइज़ कर सकते हैं।

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

नोट: x और y अपने वातावरण/आवश्यकता के आधार पर कस्टम मान हैं।

4

Hadoop 2 में, इस विन्यास पैरामीटर

mapreduce.job.counters.max 

कहा जाता है कमांड लाइन पर या अपने विन्यास वस्तु में यह सेट करने से न पर्याप्त है, हालांकि है। आप अपने नक्शाकार या कम करने की विधि सेटअप() में स्थिर विधि

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

कॉल करने के लिए सेटिंग को प्रभावी होने के लिए प्राप्त करने की जरूरत है।

2.6.0 और 2.7.1 के साथ परीक्षण किया गया।

0

पैरा, कॉन्फ़िग फ़ाइल द्वारा निर्धारित है, जबकि नीचे पैरा प्रभाव

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 
0

शायद ज़रुरत किसी को भी इस जोड़ने ले जाएगा और कुछ ही समस्या का सामना करना पड़ता हमने किया: MRJob साथ से काउंटर बढ़ रही है।

, काउंटर की संख्या को बढ़ाने के लिए अपने mrjob.conf को emr_configurations जोड़ने (या MRJob के लिए यह एक config पैरामीटर के रूप में पारित):

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