Как распечатать свойства hadoop в командной строке?
Я только нахожу способ установить свойство hadoop dfsadmin -D xx=yy,
но как найти значение определенного свойства xx в командной строке?
Ответ 1
Вы можете сбросить конфигурацию Hadoop, запустив:
$ hadoop org.apache.hadoop.conf.Configuration
Ответ 2
Вы можете использовать GenericOptionsParser для загрузки настроек Hadoop на объект с типизированной конфигурацией и повторить его свойства. Вот пример, демонстрирующий этот подход через класс утилиты (Configured).
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);
}
}