2016-09-01 4 views
9

पर कचरा संग्रह लॉग सहेज रहा है मैं अपने मैपर्स के लिए कचरा संग्रहण मीट्रिक लॉग करने की कोशिश कर रहा हूं और reducers। हालांकि मैं लॉग प्राप्त करने के लिए पथ में जाने के लिए असमर्थ हूं:
${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid}

यहाँ प्रासंगिक गुणों के साथ मेरी mapred-site.xml लग रहा है जैसे:

<property> <name>mapreduce.map.java.opts</name> <value>-Xloggc:${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid}/[email protected]@.log -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintCommandLineFlags</value> </property> <property> <name>mapreduce.reduce.java.opts</name> <value>-Xloggc:${yarn.nodemanager.log-dirs}/application_${appid}/container_${contid}/[email protected]@.log -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintCommandLineFlags</value> </property>

लेकिन लॉग उपर्युक्त विन्यास के बावजूद सही स्थान में प्रकट न हों। इस मुद्दे में किसी भी अंतर्दृष्टि की अत्यधिक सराहना की जाएगी।

+0

झंडे अगर आप भी हॉटस्पॉट JVM उपयोग कर रहे हैं प्रयोग कर रहे हैं के साथ एक समस्या नहीं मिल सकी। क्या Xloggc शायद ऐसी निर्देशिका को इंगित कर रहा है जो अस्तित्व में नहीं है? क्योंकि उस मामले में जेवीएम के संस्करण ने स्थापित किया है, केवल एक चेतावनी जारी करता है और कुछ भी लॉग इन किए बिना प्रोग्राम के साथ चला जाता है। – hackbert

उत्तर

0

मैं संपत्ति का उपयोग करके इस समस्या का समाधान मैं प्रयोग किया जाता है इस प्रकार है:

<property> <name>mapreduce.map.java.opts</name> <value>-Xloggc:${yarn.app.container.log.dir}/[email protected]@.log -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintCommandLineFlags</value> </property> <property> <name>mapreduce.reduce.java.opts</name> <value>-Xloggc:${yarn.app.container.log.dir}/[email protected]@.log -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintCommandLineFlags</value> </property>

1
  1. रन ps xww या /proc/<pid>/cmdline का निरीक्षण करता है, तो निर्देशिका मौजूद
1

यह देखते हुए कि झंडे प्रस्तुत अधिकार के बारे में लग रहे झंडे JVM

  • जांच करने की उम्मीद मूल्यों के साथ पारित कर रहे हैं, तो देखने के लिए , मैं झंडे को मुद्रित करने का सुझाव दूंगा कि Java प्रक्रिया 8472 द्वारा सुझाए गए अनुसार लोड हो रही है। /opt/path to my/app जो -Xloggc कारण बन सकता है:

    व्यक्तिगत रूप से, मैं प्रयोग किया जा रहा Hadoop लेकिन मेरी प्रारंभिक परिदृश्य आप चर के मूल्य की जाँच करने के होगा वर्णन में देख चरणों में से एक के साथ परिचित नहीं हूँ, मुख्य रूप से ${yarn.nodemanager.log-dirs} की तरह कुछ हो सकता है मूल्य केवल /opt/path होना चाहिए।

    अंत में, मैं आपको यह सुनिश्चित करना मूल्यों को सही ढंग से व्याख्या की जा रही हैं कुछ परीक्षण करना है सुझाव देंगे:

    -Xloggc:/tmp/application_${appid}/container_${contid}/[email protected]@.log -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintCommandLineFlags 
    

    मैं इस सवाल का जवाब और विस्तार उसे कुछ अतिरिक्त बाद में सुधार करने के लिए कोशिश करेंगे। $ {Yarn.nodemanager.log-dirs}/आवेदन _ $ {APPID}/कंटेनर _ $ {contid} निर्देशिका

    तो पूर्ण विन्यास में ${yarn.app.container.log.dir} लॉग इन करने की:

  • संबंधित मुद्दे