1、NameNode启动
NameNode实例化 ->
-> NameNode.initialize() -> 初始化的核心逻辑
-> startHttpServer() ->50070(9870),提供HTTP服务,Jetty,其他image文件上传下载
-> loadNamesystem() -> 初始化FSNamesystem,磁盘加载fsimage和edits进行内存合并
-> createRpcServer() -> 初始化NameNodeRpcServer,初始化rpc server,创建clientRpcServer(客户端请求8020)和serviceRpcServer(datanode端请求)[默认不会启动]
-> startCommonServices()
-> FSNamesystem.startCommonServices()
-> checkAvailableResources() -> 检查磁盘空间是否有100m来写入edits log,使用 dirFile.getUsableSpace()来进行判断,进入安全模式
-> datanodeManager.activate(conf); datanode是否心跳超时 10分钟 + 30s
-> setBlockTotal() -> areThresholdsMet -> 检查是否要进入safemode,条件块满足配置的需求99.9%和有或者的datanode
2、DataNode启动
3、文件上传
4、文件下载
待继续。。。。。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。