datanode的启动和namenode类似,相对来说也简单一些.
1 调试代码
和namenode的调试代码类似,直接在main方法中调用main方法.
2 核心方法
Main的调用方法树为:
重要方法为DataNode的构造方法,该构造方法的调用方法树为:
重要方法为startDataNode(),该方法的调用方法树为:
有两个重要的方法,首先是initDataXceiver()方法,该方法是主要的读写执行者,其次是refreshNamenodes()方法,该方法重新定位到当前的namenode,完成和唯一的namenode进行通讯的必要准备.
3 总结
datanode启动主要做三件事:
1 确定存放block文件的本地目录
2 启动dataXceiver
3 确定当前的namenode