2015-05-27 22 views
12

EMR में Spark पर नौकरियां चलाते समय मैं स्केल में println कॉल से त्रुटि लॉग या संदेश का पता लगाने में सक्षम नहीं हूं।ईएमआर पर स्पार्क लॉग कहां हैं?

मैं इन तक पहुंच कहां से प्राप्त कर सकता हूं?

मैं EMR को Spark job, Scala में लिखा प्रस्तुत करने कर रहा हूँ तर्क के साथ script-runner.jar--deploy-modecluster करने के लिए सेट और yarn को --master सेट का उपयोग। यह नौकरी ठीक चलाता है।

हालांकि मैं Amazon EMR UI जहां यह सूचीबद्ध करता है में मेरी println बयान नहीं दिख रहा है "stderr, stdout etc. Furthermore if my job errors I don't see why it had an error. All I see is this in the stderr`:

15/05/27 20:24:44 INFO yarn.Client: Application report from ResourceManager: 
application identifier: application_1432754139536_0002 
appId: 2 
clientToAMToken: null 
appDiagnostics: 
appMasterHost: ip-10-185-87-217.ec2.internal 
appQueue: default 
appMasterRpcPort: 0 
appStartTime: 1432758272973 
yarnAppState: FINISHED 
distributedFinalState: FAILED 
appTrackingUrl: http://10.150.67.62:9046/proxy/application_1432754139536_0002/A 
appUser: hadoop 

`

उत्तर

11

यार्न पर क्लस्टर की तैनाती मोड स्पार्क ड्राइवर और इसलिए उपयोगकर्ता कोड निष्पादित आवेदन मास्टर कंटेनर के भीतर हो जाएगा। ऐसा लगता है कि आपके पास क्लस्टर पर ईएमआर डीबगिंग सक्षम है, इसलिए लॉग को एस 3 पर भी धक्का देना चाहिए था। एस 3 स्थान में task-attempts/<applicationid>/<firstcontainer>/* देखें।

+0

बनाउंगा, तो यह सही होगा। धन्यवाद। अन्य उपयोगकर्ताओं के ज्ञान के लिए, आप अपने क्लस्टर जानकारी/विवरण के लिए अमेज़ॅन ईएमआर वेब यूआई में "लॉग यूआरआई" देख सकते हैं। –

0

आप emr-bootstrap साथ अपनी नौकरी सबमिट करते हैं आप लॉग निर्दिष्ट कर सकते हैं --log-uri

+0

धन्यवाद - मुझे लगता है कि जब मैं क्लस्टर बनाउंगा (नौकरी जमा करते समय नहीं) तो यह सेट किया जा सकता है? अगली बार जब मैं क्लस्टर –

6

के साथ एस 3 बाल्टी के रूप में निर्देशिका यदि आप अपने क्लस्टर के मास्टर नोड में एसएसएच करते हैं तो आपको stdout, stderr, syslog को खोजने में सक्षम होना चाहिए के तहत घ नियंत्रक लॉग्स:

/mnt/var/log/hadoop/steps/<stepname> 
संबंधित मुद्दे