[HADOOP] AWR EMR의 YARN 로그 집계 - UnsupportedFileSystemException
HADOOPAWR EMR의 YARN 로그 집계 - UnsupportedFileSystemException
Amazon EMR 클러스터에서 YARN 로그 집계를 사용하기 위해 고심하고 있습니다. 나는이 문서를 다음과 같이 구성하고있다 :
http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-debugging.html#emr-plan-debugging-logs-archive
"AWS CLI를 사용하여 Amazon 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>
샘플 작업 (hadoop-examples.jar에서 pi)을 실행하여 ResourceManager의 GUI에서 성공적으로 완료되었는지 확인할 수 있습니다.
심지어 응용 프로그램 ID로 명명 된 s3 : // mybucket / logs 아래에 폴더를 만듭니다. 그러나 폴더가 비어 있습니다. 원사 로그 -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 /을 실행할 수 있습니다. 내용이 잘 정리되어 있습니다. 컴퓨터가 AWS IAM 역할에서 자격 증명을 얻고 있습니다. 동작 변경없이 core-site.xml에 fs.s3n.awsAccessKeyId 등을 추가하려고했습니다.
어떤 조언을 많이 주시면 감사하겠습니다.
해결법
-
==============================
1.Hadoop은 FileSystem과 AbstractFileSystem의 두 가지 fs 인터페이스를 제공합니다. 대부분 우리는 FileSystem을 사용하고 fs.s3.impl과 같은 구성 옵션을 사용하여 사용자 정의 어댑터를 제공합니다.
Hadoop은 FileSystem과 AbstractFileSystem의 두 가지 fs 인터페이스를 제공합니다. 대부분 우리는 FileSystem을 사용하고 fs.s3.impl과 같은 구성 옵션을 사용하여 사용자 정의 어댑터를 제공합니다.
그러나 원사 로그는 AbstractFileSystem 인터페이스를 사용합니다.
S3에 대한 구현을 찾을 수 있다면 fs.AbstractFileSystem.s3.impl을 사용하여 지정할 수 있습니다.
fs.AbstractFileSystem.hdfs.impl 등의 예는 core-default.xml을 참조하십시오.
from https://stackoverflow.com/questions/26476728/yarn-log-aggregation-on-aws-emr-unsupportedfilesystemexception by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop에서는 namenode 및 jobtracker 웹 페이지에 대한 기본 URL 포트 50070 및 50030을 어디에서 변경할 수 있습니까? (0) | 2019.07.27 |
---|---|
[HADOOP] FTP에서 HDFS로 매주 파일 다운로드 (0) | 2019.07.27 |
[HADOOP] Hadoop 파일 단위 블록 크기 (0) | 2019.07.27 |
[HADOOP] mongodb에 연결하는 동안 예외가 발생 함 (0) | 2019.07.27 |
[HADOOP] 하이브 메타 스토어 연결을위한 Hive-Site.xml 파일의 구성 설정 방법 (0) | 2019.07.27 |