sólo encuentro la manera de establecer una propiedad por hadoop dfsadmin -D xx=yy
,¿Cómo imprimo las propiedades de hadoop en la línea de comando?
pero ¿cómo puedo encontrar el valor de una propiedad específica xx
en la línea de comandos?
sólo encuentro la manera de establecer una propiedad por hadoop dfsadmin -D xx=yy
,¿Cómo imprimo las propiedades de hadoop en la línea de comando?
pero ¿cómo puedo encontrar el valor de una propiedad específica xx
en la línea de comandos?
Puede usar GenericOptionsParser para cargar la configuración de Hadoop en el objeto de configuración e iterar sus propiedades. Aquí hay un ejemplo que demuestra este enfoque a través de una clase de utilidad (Configurado).
public class ConfigPrinter extends Configured implements Tool {
static {
// by default core-site.xml is already added
// loading "hdfs-site.xml" from classpath
Configuration.addDefaultResource("hdfs-site.xml");
Configuration.addDefaultResource("mapred-site.xml");
}
@Override
public int run(String[] strings) throws Exception {
Configuration config = this.getConf();
for (Map.Entry<String, String> entry : config) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
return 0;
}
public static void main(String[] args) throws Exception {
ToolRunner.run(new ConfigPrinter(), args);
}
}
¿Necesito compilar esto en hadoop para hacerlo? –
Sí, necesita compilarlo y luego puede ejecutarlo en el cliente a través de "hadoop jar (su paquete) .ConfigPrinter" para explorar la configuración. – rystsov
Puede volcar Hadoop configuración ejecutando:
$ hadoop org.apache.hadoop.conf.Configuration
, pero los comandos vuelcan solo el sitio central así que ¿cómo volcar hdfs-site –
Si ninguna respuesta han resuelto su problema, haga clic en la casilla grande como para aceptarlo como la respuesta. –