2011-08-30 13 views
6

Merhaba Amazon'un EMR'sinde Apache Nutch 1.2 çalıştırmaya çalışıyorum.
Bunu yapmak için S3'ten bir giriş dizini belirtiyorum. Aşağıdaki hatayı alıyorum:Nutch üzerinde EMR problemi okuma S3'den itibaren

 
Fetcher: java.lang.IllegalArgumentException: 
    This file system object (hdfs://ip-11-202-55-144.ec2.internal:9000) 
    does not support access to the request path 
    's3n://crawlResults2/segments/20110823155002/crawl_fetch' 
    You possibly called FileSystem.get(conf) when you should have called 
    FileSystem.get(uri, conf) to obtain a file system supporting your path. 

Ben FileSystem.get(uri, conf) ve FileSystem.get(conf) arasındaki farkı anlamak. Bunu kendim yazıyor olsaydım, FileSystem.get(uri, conf) olur, ancak mevcut Nutch kodunu kullanmaya çalışıyorum.

Bu soruyu sordu ve birisi ben aşağıdaki özellikleri içerecek şekilde hadoop-site.xml değiştirmek için gerekli olduğunu söyledi: fs.default.name, fs.s3.awsAccessKeyId, fs.s3.awsSecretAccessKey. Bu özellikleri core-site.xml ( hadoop-site.xml yok) olarak güncelleştirdim, ancak bu bir fark yaratmadı. Başka fikri olan var mı? Yardım için teşekkürler.

+0

Hiçbir zaman Nutch kullanmayın, ancak almaya çalıştığınız kaynağın herkese açık olup olmadığını kontrol edin (yalnızca sınama için bunu yapmak için zarar vermez), ayrıca değiştirmeyi deneyin (yalnızca sınama için) s3n: // - > s3: //. Sanırım s3n ile çalışmalı ve belirtilen kredilerle ama daha fazla test zarar vermeyecek. – Kris

cevap

0

Bu varsayılan olarak S3

fs.s3.awsAccessKeyId and fs.s3.awsSecretAccessKey

şartname sadece durumda ne zaman ihtiyaç

Özellikler '

kullanılması gerektiğini Nutch söz edecek

hadoop-site.xml

<property> 
    <name>fs.default.name</name> 
    <value>org.apache.hadoop.fs.s3.S3FileSystem</value> 
</property> 

belirtmek için denemek senin S3 nesneleri, kimlik doğrulaması altında yerleştirilir (S3 nesnesine, tüm kullanıcılara veya yalnızca otantik bir şekilde erişilebilir. on)