Benzer sorular buldum, ancak bunların hiçbiri sorumu yanıtlamıyor: Hadoop ve S3 arasında dosya aktarırken hadoop distcp veya s3-dist-cp kullanarak kimlik bilgilerini nerede saklamalıyım?Amazon s3'ten hadoop'a dosya kopyalama
Yeni bir Amazon EMR kümesi oluşturdum ve şimdi bir S3 grubundan dosyaları kopyalamak istiyorum. Aşağıdaki yaklaşımlar çalışmaz: hadoop distcp s3n://<awsaccesskey>:<awssecrectkey>@<backetname>/path hdfs://<path>
ama yazılım olan aws bir +
veya /
içeren gizli anahtarlarını işlemek mümkün değildir gibi görünüyor:
- böyle url içinde kimlik bilgilerini kodlanmış
hadoop distcp
kullanma oldukça sık davayı. gibi başka bir hata çalışmıyor url kodlamak kullanarak anahtarları, ancak verim Kodlama:
java.lang.IllegalArgumentException: Grubun adı bir IP Adresi olarak biçimlendirilmiş edilmemelidir
veya
içermemelidirjava.lang.IllegalArgumentException: Grubun adı büyük harf karakterleri
- s3-dist-cp'yi kullanarak "Daha iyi" yaklaşımı kullandım, ancak aynı sonucu kullandım.
Kimlik bilgilerini veya özel karakterleri içeriyorsa bunları depolamak için nasıl kodlayabilirim? Ayrıca başarılı olmadan ENV değişkenlerini (ör. AWS_ACCESS_KEY_ID ve AWS_SECRET_ACCESS_KEY) denedim. Bazı eğiticiler, core-site.xml
dosyalarından bahseder, ancak yer yoktur. Bu yüzden aradım ve birden fazla eşleşme var. Eğiticiler bu dosyaları tüm düğümlere kopyalamanın zorunlu olduğunu söylüyor, ama neden?
Evet, ama başarı olmadan. – NaN