NameNode(NN)作用:主要是接受客户端的读写服务但同时也保存metadate信息。
NameNode保存metadate信息包括
1,文件owership和permissions
2,文件包含哪些块
3,Block保存在哪个DataNode(由DataNode启动时上报)
NameNode的metadate信息在启动后会加载到内存
1,metadata存储到磁盘文件名为”fsimage”
2,Block的位置信息不会保存到fsimage
3,edits记录对metadata的操作日志
SecondaryNameNode(SNN)作用:它不是NameNode的备份(但可以做备份),它的主要工作是帮助NameNode合并edits log,减少NameNode启动时间。
DataNode(DN)作用:存储数据(Block)。
启动DataNode线程的时候会向NameNode汇报block信息
通过向NameNode发送心跳保持与其联系(3秒一次),如果NameNode 10分钟没有收到DataNode的心跳,则认为其已经lost,并copy其上的block到其它DataNode
QuorumPeerMain:是ZooKeeper的一个进程。
DFSZKFailoverController:是Hadoop中HA实现的中心组件,它负责整体的故障转移控制等。
JournalNode: 是实现两个NameNode的数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。
ResourceManager:负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。
NodeManager:是执行在单个节点上的代理,它管理Hadoop集群中单个计算节点,功能包含与ResourceManager保持通信,管理Container的生命周期、监控每一个Container的资源使用(内存、CPU等)情况、追踪节点健康状况、管理日志和不同应用程序用到的附属服务等。
HMaster:主要是实现为Region server分配region,负责Region server的负载均衡,发现失效的Region server并重新分配其上的region和管理用户对table的增删改操作。
HRegionServer:主要是维护region,处理对这些region的IO请求和负责切分在运行过程中变得过大的region。