2016-04-10 17 views
1

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:

  1. 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

java.lang.IllegalArgumentException: Grubun adı büyük harf karakterleri

içermemelidir
  1. 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?

cevap

0

Anahtarı özel karakterlerle kodlayan URL'yi denediniz mi?

+0

Evet, ama başarı olmadan. – NaN

İlgili konular