2011-08-30 24 views
6

Witam Próbuję uruchomić Apache Nutch 1.2 na EMR Amazon.
Aby to zrobić, specyfikuję katalog wejściowy z S3. Pojawia się następujący błąd:Nutch na odczyt problemu EMR z S3

 
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. 

Rozumiem różnicę między FileSystem.get(uri, conf) i FileSystem.get(conf). Gdybym sam to pisał, byłbym FileSystem.get(uri, conf), ale próbuję użyć istniejącego kodu Nutch.

Poprosiłem to pytanie, a ktoś powiedział mi, że muszę zmodyfikować hadoop-site.xml zawierać następujące właściwości: fs.default.name, fs.s3.awsAccessKeyId, fs.s3.awsSecretAccessKey. Zaktualizowałem te właściwości w core-site.xml (hadoop-site.xml nie istnieje), ale to nie miało znaczenia. Czy ktoś ma jakieś inne pomysły? Dzięki za pomoc.

+0

Nigdy nie używano Nutch, ale może sprawdź, czy zasób, który próbujesz zdobyć, jest publicznie dostępny (nie zaszkodzi zrobić tego tylko do testowania), spróbuj też wymienić (ponownie tylko do testowania) s3n: // - > s3: //. Myślę, że powinien działać z s3n i z określonymi kredytami, ale więcej testów nie zaszkodzi – Kris

Odpowiedz

0

starają się określić w

hadoop-site.xml

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

To wspomnieć Nutch że domyślnie S3 należy stosować

Właściwości

fs.s3.awsAccessKeyId and fs.s3.awsSecretAccessKey

specyfikacja potrzebne tylko w przypadku, gdy twój Obiekty S3 są umieszczane pod uwierzytelnieniem (w obiekcie S3 można uzyskać dostęp do wszystkich użytkowników lub tylko przez uwierzytelnianie on)