hadoop源码增加调试信息
之前在hadoop上进行代码跟踪的时候,调试信息总是打印不出来。
重新编译了hadoop-common和hadoop-hdfs,但是在log日志和终端stdin中都看不到输出的调试信息。
原因出在对java的classpath和hadoop的启动脚本不熟悉
① classpath:如果同一个.jar文件由不同路径加载到classpath里面,java会优先选择第一个找到的
② hadoop启动脚本,在classpath的初始化中,先添加的是$HADOOP_HOME下的hadoop-*.jar文件,后添加的才是$HADOOP_HOME/lib下的hadoop-*.jar。
因为之前每次编译之后,都是把新的文件放在lib目录下,导致每次启动根本就没使用新编译的jar包
另外一个注意的地方,每次编译的包都必须分发的每一个节点,否则会导致版本验证问题而启动失败。
浙公网安备 33010602011771号