hadoop学习5——从start-all.sh入手调试源码
hadoop0.20.2
一下为引用别处内容:
?
第一节?start-all.sh脚本
??? 此脚本很简单,就是根据运行此脚本的目录进入安装hadoop目录下的bin目录,然后运行启动hdfs和mapred的启动脚本。
4 CYGWIN*) cygwin=true;;5 esac /** */ public static void main(String argv[]) throws Exception { LOG.info("启动namenode..."); try { StringUtils.startupShutdownMessage(NameNode.class, argv, LOG); NameNode namenode = createNameNode(argv, null); if (namenode != null) namenode.join(); } catch (Throwable e) { LOG.error(StringUtils.stringifyException(e)); System.exit(-1); } }?只是在main方法中打印出一行日志。然后用这个类的class替换掉$hadoop/hadoop-**-core.jar中的相应类。再start-all.sh,则可以看到namenode的日志文件hadoop-Administrator-namenode-**.log的输出:
?
?
?
2012-02-13 17:56:34,906 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: 启动namenode...2012-02-13 17:56:34,937 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG:
?
呵呵,非常简单的一个调试,只是一个开始,可以用同样的方式调试hadoop的每个功能。