我已经在我的计算机上以伪分布式模式设置了 Hadoop。我按照“Hadoop - A Definitive Guide”一书附录 A 中的说明在伪分布式模式下设置 Hadoop。
但是,从以下程序的输出中,可以安全地推断出我的 Hadoop 正在运行到独立模式(即本地模式)。
public static void main(String[] args) {
Configuration conf = new Configuration();
System.out.println(conf);
System.out.println(conf.get("fs.default.name"));
}
输出:
Configuration: core-default.xml, core-site.xml
file:///
输出file:///
代替hdfs://localhost
. 但是,其中的属性core-site.xml
已正确设置:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
此外,当我从 Eclipse 提交测试作业时,它不会出现在 jobTracker 浏览器 UI 中,我在某处读到这是由于 Hadoop 以本地模式运行的事实。
请让我知道我的配置有什么问题以及如何启用伪分布式模式。为什么我不能fs.default.name
用我在文件中指定的属性覆盖默认 XML 文件中的属性core-site.xml
?