मैं अपने अमेज़ॅन ईएमआर क्लस्टर के लिए यार्न लॉग एकत्रीकरण को सक्षम करने के लिए संघर्ष कर रहा हूं। मैं विन्यास के लिए इस दस्तावेज़ अनुसरण कर रही हूं:एडब्ल्यूएस ईएमआर पर यार्न लॉग एग्रीगेशन - असमर्थितफाइलसिस्टम एक्सेप्शन
शीर्षक खंड के अंतर्गत: "एडब्ल्यूएस CLI का उपयोग कर अमेज़न S3 में लॉग कुल करने के लिए"।
मैं सत्यापित किया है कि Hadoop-config बूटस्ट्रैप गई कार्रवाई के बाद yarn-site.xml
<property><name>yarn.log-aggregation-enable</name><value>true</value></property>
<property><name>yarn.log-aggregation.retain-seconds</name><value>-1</value></property>
<property><name>yarn.log-aggregation.retain-check-interval-seconds</name><value>3000</value></property>
<property><name>yarn.nodemanager.remote-app-log-dir</name><value>s3://mybucket/logs</value></property>
में मैं एक नमूना नौकरी (pi
hadoop-examples.jar
से) चलाने के लिए और देखते हैं कि यह संसाधनप्रबंधक के जीयूआई पर सफलतापूर्वक पूरा कर लिया जा सकता है डालता है।
यह एप्लिकेशन आईडी के साथ नामित s3://mybucket/logs
के तहत एक फ़ोल्डर भी बनाता है। लेकिन फ़ोल्डर खाली है, और अगर मैं yarn logs -applicationID <applicationId>
चलाने के लिए, मैं एक स्टैकट्रेस मिलती है:
14/10/20 23:02:15 INFO client.RMProxy: Connecting to ResourceManager at /10.XXX.XXX.XXX:9022
Exception in thread "main" org.apache.hadoop.fs.UnsupportedFileSystemException: No AbstractFileSystem for scheme: s3
at org.apache.hadoop.fs.AbstractFileSystem.createFileSystem(AbstractFileSystem.java:154)
at org.apache.hadoop.fs.AbstractFileSystem.get(AbstractFileSystem.java:242)
at org.apache.hadoop.fs.FileContext$2.run(FileContext.java:333)
at org.apache.hadoop.fs.FileContext$2.run(FileContext.java:330)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.fs.FileContext.getAbstractFileSystem(FileContext.java:330)
at org.apache.hadoop.fs.FileContext.getFSofPath(FileContext.java:322)
at org.apache.hadoop.fs.FSLinkResolver.resolve(FSLinkResolver.java:85)
at org.apache.hadoop.fs.FileContext.listStatus(FileContext.java:1388)
at org.apache.hadoop.yarn.logaggregation.LogCLIHelpers.dumpAllContainersLogs(LogCLIHelpers.java:112)
at org.apache.hadoop.yarn.client.cli.LogsCLI.run(LogsCLI.java:137)
at org.apache.hadoop.yarn.client.cli.LogsCLI.main(LogsCLI.java:199)
है कौन सा मेरे लिए कोई मतलब नहीं है; मैं hdfs dfs -ls s3://mybucket/
चला सकता हूं और यह सामग्री को ठीक से सूचीबद्ध करता है। मशीनों को एडब्ल्यूएस आईएएम भूमिकाओं से प्रमाण पत्र मिल रहे हैं, मैंने fs.s3n.awsAccessKeyId जोड़ने और core-site.xml
को व्यवहार में कोई बदलाव नहीं करने की कोशिश की है।
किसी भी सलाह की बहुत सराहना की जाती है।
के उदाहरण के लिए core-default.xml देखें। सामान्य कॉन्फ़िगरेशन विकल्प _i.e._ 'fs.s3.impl' और' fs.s3n.impl' 'फाइल सिस्टम' इंटरफ़ेस के कार्यान्वयन को कॉन्फ़िगर करते हैं, लेकिन किसी कारण से यार्न 'सारफाइल सिस्टम' इंटरफेस के कार्यान्वयन की तलाश में है, जो कि 'fs.AbstractFileSystem.s3.impl' का उपयोग करके कॉन्फ़िगर किया जा सकता है। –
https://hadoop.apache.org/docs/r2.5.1/hadoop-project-dist/hadoop-common/core-default.xml देखें और "सारफाइल सिस्टम" देखें। –