로컬 컴퓨터에서 Amazon EMR 클러스터를 재현하려고합니다. 이를 위해 latest stable version of Hadoop as of now - 2.6.0을 설치했습니다. 이제 EMR 클러스터 내부에서 수행하는 것처럼 S3 버킷에 액세스하고 싶습니다.로컬 Hadoop 2.6 설치에서 S3/S3n에 어떻게 액세스합니까?
<property>
<name>fs.s3.awsAccessKeyId</name>
<value>some id</value>
</property>
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>some id</value>
</property>
<property>
<name>fs.s3.awsSecretAccessKey</name>
<value>some key</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>some key</value>
</property>
참고 :
나는 코어를 site.xml의 AWS 자격 증명을 추가 한 키에 일부 슬래시가 있기 때문에, 나는 %의 2 층
내가 만약 그들을 탈출 버킷의 내용을 나열 해보십시오
:hadoop fs -ls s3://some-url/bucket/
나는이 오류
LS : 계획 없음 파일 시스템 : S3 나는 FS 관련 정보를 다시 코어 site.xml 파일을 편집하고, 추가
:
<property>
<name>fs.s3.impl</name>
<value>org.apache.hadoop.fs.s3.S3FileSystem</value>
</property>
<property>
<name>fs.s3n.impl</name>
<value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
</property>
내가 다른 오류가이 시간 :
-ls: Fatal internal error
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3.S3FileSystem not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2074)
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2578)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
어떻게 든 원사 배포에는 S3을 읽는데 필요한 항아리가 없다고 생각되지만, 그걸 어디서 얻을 수 있을지 전혀 모르겠습니다. 이 방향의 모든 포인터는 크게 감사하겠습니다. 어떤 이유
답변 주셔서 감사합니다. 그게 실제로 문제 였고, 후속 사용자가 동일한 문제에 직면 할 수 있기를 바랍니다. 'HADOOP_HASP_HOME/share/hadoop/tools/lib/*' – doublebyte