组件
namenode、datanode、resourcemanager、nodemanager、seconderynamenode
组件下的进程
NameNode:是hdfs的主服务器,管理文件系统的目录树以及对集群中存储文件的访问,保存有metadate,不断读取记录集群中dataNode主机状况和工作状态。
SecondaryNameNode:NameNode的冷备,负责周期性的合并esimage以及editslog,将少NameNode的工作量。
DataNode:负责管理各个存储节点,每个存储数据的节点都有一个datanode守护进程。
DFSZKFailoverController:负责监控NameNode的状态,并及时把信息状态写入zk,通过一个独立的线程周期性的调用Namenode上的一个特定接口来获取NameNode的健康状态,也有选择谁为Active的权利,但是最多只能有两个namenode,所以选择策略为先到先得。
QuorumPeerMain:zookeeper主进程
JournalNode:高可用情况下用于存放namenode的editlog文件(元数据),也是多节点高可用。
Fsimage:元数据镜像文件(文件系统的目录树)。Edits:元数据的操作日志(针对文件系统做的修改操作记录。
editsLog:修改日志,当文件系统客户端client进行写操作的时候,我们就要把着条记录放在修改日志中,之后namenode修改内存中的数据结构,每次写操作执行之前,editsLog都会同步到文件系统中
2、mapreduce
Combiner:是一个特殊的reduce,是一个在map端执行的reducer,能够减少I/O操作,降低reducer端的负荷,也就是map端的聚合操作。
3、yarn
ResourceManager(JobTracker):负责调度DataManager上的资源,每个DataNode都有一个NodeManager(TaskTracker)来执行实际工作
NodeManager:管理slave节点的资源
ApplicationMaster:用于调度任务,任何要在yarn上启动的作业类型,必须有一个。
端口号
组件下的进程挂掉之后的影响及解决方案
namenode挂掉:
无法保存元数据,读写功能失效
解决方案:
1.若配置高可用,不用担心,会切换到备用的namemode
2.将SecondaryNameNode中数据拷贝到namenode存储数据的目录
resourcemanager挂掉:
无法提供资源和调度资源
解决方案:
1.若配置高可用,不用担心,会切换到备用的
datanode、nodemanager挂掉
该节点无法正常工作
解决方案:
重启该节点
applicationmaster挂掉:
无法调度任务
解决方案:
会在一个新的容器(由节点管理器管理)开启一个新的MPAppMaster实例,新的MPAppMaster实例可以恢复故障任务的状态,使其不必重复进行,默认是不可以恢复,可设置。
简单那来说不用管