2010-03-01 29 views
24

Hadoop tiene el parámetro de configuración hadoop.tmp.dir que, según la documentación, es `" Una base para otros directorios temporales. " Supongo que esta ruta hace referencia al sistema de archivos local.¿Qué debería ser hadoop.tmp.dir?

Establecí este valor en /mnt/hadoop-tmp/hadoop-${user.name}. Después de formatear el namenode y comenzar todos los servicios, veo exactamente la misma ruta creada en HDFS.

Esto significa que hadoop.tmp.dir se refiere a la ubicación temporal en HDFS?

+0

Definitivamente es para especificar una ruta de sistema de archivos local, no estoy seguro de por qué no funciona para usted. – skaffman

Respuesta

31

Es confuso, pero hadoop.tmp.dir se utiliza como la base para los directorios temporales a nivel local, y también en HDFS . el documento no es grande, pero mapred.system.dir está configurado por defecto para "${hadoop.tmp.dir}/mapred/system", y esto define el camino de la HDFS en donde el Mapa/Reducir tiendas marco del sistema de archivos.

Si desea que estos no estén unidos , Puede editar su mapred-site.xml tal que la definición de mapred.system.dir es algo que no está ligada a ${hadoop.tmp.dir}

+2

¿Cuál es la ruta predeterminada para ** hadoop.tmp.dir **, como para Hadoop 1.2.1? – chenzhongpu

+0

@ChenZhongPu es mencionado en core-site.xml – user1207289

3

Eché un vistazo en busca de información sobre este. Lo único que pude llegar a este post era sobre la Amazon Elastic MapReduce Dev Guide:

En hadoop-site.xml, nos propusimos hadoop.tmp.dir a /mnt/var// hadoop/tmp lib./mnt es donde montamos los volúmenes "extra" EC2, que pueden contener muchos más datos que el volumen predeterminado. (La cantidad exacta depende de tipo de instancia.) De Hadoop RunJar.java (el módulo que descomprime los archivos JAR de entrada) interpreta hadoop.tmp.dir como un sistema de archivos Hadoop ruta en lugar de una ruta local, por lo que las escrituras a la ruta en HDFS en lugar de una ruta local. HDFS está montada bajo /mnt (específicamente /mnt/var/lib/hadoop/dfs /. Por lo tanto, se puede escribir un montón de datos en él.

25

Permítaseme añadir un poco más a la respuesta de kkrugler:

Todavía no HDFS tres propiedades que contienen hadoop.tmp.dir en sus valores

  1. dfs.name.dir: directorio donde se almacena NameNode sus metadatos, con el valor por defecto ${hadoop.tmp.dir}/dfs/name.
  2. dfs.data.dir: directorio donde se almacenan los bloques de datos HDFS, con el valor predeterminado ${hadoop.tmp.dir}/dfs/data.
  3. fs.checkpoint.dir: directorio donde el namenode secundario almacena sus puntos de control, el valor predeterminado es ${hadoop.tmp.dir}/dfs/namesecondary.

Es por eso que vio el /mnt/hadoop-tmp/hadoop-${user.name} en su HDFS después de formatear el namenode.

Cuestiones relacionadas