1、启动Hadoop 必须要有几个配置文件,作为NameNode必须要有core-site.xml(不同版本可能不同),来指明nameNode的监听端口。
2、运行MapReduce测试程序时,如果没有hadoop命令,而是在IDE或是Java环境下,由于不知道配置文件在哪里,无法获取nameNode的监听端口,但是有默认值,默认值为本机的9000端口。
3、如果在IDE中运行测试,需要在主类中添加运行着的hadoop配置信息,方法如下:(这些文件在类路径下,否则要给全路径),(也可以通过 -conf -fs -jt 等命令行参数)
Configuration.addDefaultResource("core-site.xml");
Configuration.addDefaultResource("hdfs-site.xml");
Configuration.addDefaultResource("mapred-site.xml");
4、但这里有个问题,在IDE下运行,每个JOB都是 起一个新的JVM 运行作业,在控制台 没有 log信息。
5、利用eclipse hadoop插件,可以建立MapReduceDriver,然后通过 run on hadoop 来运行,可以看到任务是否成功和几个map,几个reducer,但还是看不到任务具体打的log。
详细介绍了eclipse hadoop 插件的使用示例:http://trac.nchc.org.tw/cloud/wiki/waue/2009/0617