Sto cercando di riprodurre un cluster Amazon EMR sul mio computer locale. A tal fine, ho installato il latest stable version of Hadoop as of now - 2.6.0. Ora vorrei accedere a un bucket S3, come faccio nel cluster EMR.Come posso accedere a S3/S3n da un'installazione Hadoop 2.6 locale?
ho aggiunto le credenziali AWS in core-site.xml:
<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>
Nota: Dal momento che ci sono alcuni tagli sulla chiave, li ho fuggito con% 2F
Se io cerco di elencare il contenuto del secchio:
hadoop fs -ls s3://some-url/bucket/
ottengo questo errore:
01.235.164,106174 millionsls: No filesystem per schema: s3
ho modificato core-site.xml di nuovo, e ha aggiunto informazioni relative ai fs:
<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>
Questa volta ottengo un errore diverso:
In qualche modo sospetto che la distribuzione del filato non abbia i vasi necessari per poter leggere S3, ma non ho idea di dove trovarli. Qualsiasi suggerimento in questa direzione sarebbe molto apprezzato.
Grazie per la risposta: questo è stato davvero il problema, e spero che aiuti gli utenti successivi che affrontano lo stesso problema. Lasciatemi correggere l'esportazione, aggiungendo il percorso $ HADOOP_HOME, prima del percorso della libreria: export 'HADOOP_CLASSPATH = $ HADOOP_CLASSPATH: $ HADOOP_HOME/share/hadoop/tools/lib/*' – doublebyte