2011-08-30 17 views
6

Hola, estoy intentando ejecutar Apache Nutch 1.2 en el EMR de Amazon.
Para hacer esto, especifico un directorio de entrada desde S3. Me sale el siguiente error:Nutch en problema de EMR leyendo de 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. 

entiendo la diferencia entre FileSystem.get(uri, conf) y FileSystem.get(conf). Si estuviera escribiendo esto yo mismo lo haría FileSystem.get(uri, conf), pero estoy tratando de usar el código existente de Nutch.

hice esta pregunta, y alguien me dijo que tenía que modificar hadoop-site.xml para incluir las siguientes propiedades: fs.default.name, fs.s3.awsAccessKeyId, fs.s3.awsSecretAccessKey. Actualicé estas propiedades en core-site.xml (hadoop-site.xml no existe), pero eso no hizo la diferencia. ¿Alguien tiene alguna otra idea? Gracias por la ayuda.

+0

Nunca utilicé Nutch, pero tal vez verifique si el recurso que está tratando de obtener está a disposición del público (no hará daño solo para probarlo), también intente reemplazarlo (solo para probarlo) s3n: // - > s3: //. Supongo que debería funcionar con s3n y con creds especificados, pero más pruebas no dañarán – Kris

Respuesta

0

intenta especificar en

hadoop-site.xml

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

Esto mencionar a Nutch que por defecto S3 se debe utilizar

Propiedades

fs.s3.awsAccessKeyId and fs.s3.awsSecretAccessKey

especificación que usted necesita sólo en caso de que su Los objetos S3 se colocan bajo autenticación (en el objeto S3 se puede acceder a todos los usuarios, o solo por autenticación) en)