2013-01-18 39 views
2

我是gettng以hadoop開始,安裝了1.1.1版本並在「hadoop權威指南」中運行示例5-3。
它確實打印了一些配置屬性,但我無法在hadoop安裝或示例代碼中找到這些xml文件。hadoop書籍示例中的conf文件

以下代碼假定添加到配置中的xml文件存在於某處,但無法找到它們。

編輯:mapred-site.xml & hdfs-site.xml位於hadoop安裝的conf文件夾中,但它們是空的。所以我不認爲它使用它們。

建設本書的例子我去第5章目錄方含CH-05.jar和運行follwing命令後:$ ASD> Hadoop的罐子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); 
} 

回答

1

你會發現{ core | mapred | hdfs} - 你的hadoop-core-XXjar中的默認文件。

+0

你說什麼是有道理的,但在hadoop書中它說:「如果你省略-conf選項,那麼你在$ HADOOP_INSTALL下的conf子目錄中選擇Hadoop配置」。我沒有嘗試並指定-conf $ HADOOP_INSTALL/conf,但它仍然從其他地方選取它。 – user1982993