我开始使用 hadoop,安装了 1.1.1 版本并在“hadoop 权威指南”中运行了示例 5-3。
它确实打印了一些配置属性,但我无法在 hadoop 安装或示例代码中找到这些 xml 文件。
以下代码假定添加到配置的 xml 文件存在于某处,但我找不到它们。
编辑:mapred-site.xml 和 hdfs-site.xml 在 hadoop 安装的 conf 文件夹中,但它们是空的。所以我不认为它使用它们。
在构建本书示例后,我转到包含 ch-05.jar 的第 5 章目录并运行以下命令:$asd> hadoop jar ch05-3.0.jar ConfigurationPrinter
public class ConfigurationPrinter extends Configured implements Tool {
static {
Configuration.addDefaultResource("hdfs-default.xml");
Configuration.addDefaultResource("hdfs-site.xml");
Configuration.addDefaultResource("mapred-default.xml");
Configuration.addDefaultResource("mapred-site.xml");
}
@Override
public int run(String[] args) throws Exception {
Configuration conf = getConf();
for (Entry<String, String> entry: conf) {
System.out.printf("%s=%s\n", entry.getKey(), entry.getValue());
}
return 0;
}
}
public static void main(String[] args) throws Exception {
int exitCode = ToolRunner.run(new ConfigurationPrinter(), args);
System.exit(exitCode);
}