1.hadoop 1.x架构模型:分布式文件存储系统:HDFSNameNode(主节点:管理元数据) secondaryNameNode(作用是合并元数据信息,辅助NameNode管理元数据信息)DataNode DataNode DataNode(存储数据)分布式数据计算系统:MapReduceJobTracker(主节点:负责分配任务)TaskTracker TaskTracker TaskTracker(负责执行任务)注:元数据:描述数据的数据。缺点:单节点故障。
2.hadoop2.x架构模型:(1)文件存储和数据计算单节点:分布式文件存储系统:HDFSNameNode SecondaryNameNodeDataNode DataNode DataNode分布式数据计算系统:MapReduce(Yarn资源调度系统)ResourceManager(主节点:接收用户的任务请求,分配资源给NodeManager)NodeManager NodeManager NodeManager(执行任务)ApplicationManager进程:每一个任务请求,ResourceManager都会在某个NodeManager上启动一个APPmaster进程,该APPmaster进程负责向ResourceManager申请资源,并分配任务给每个NodeManager
(2)文件存储高可用,数据计算单节点:略;(3)文件存储单节点,数据计算高可用:略;(4)文件存储和数据计算高可用:分布式文件存储系统:HDFSJournalNode JournalNode JournalNode(文件系统元数据信息管理,一般都是奇数个) ZKNameNode(active状态) NameNode(从节点,standby状态,主要负责监控active何时挂掉,一旦挂掉,立刻接管其工作)DataNode DataNode DataNode分布式数据计算系统:MapReduce(Yarn资源调度系统)ZKResourceManager(主节点) ResourceManager(备份节点)NodeManager NodeManager NodeManager注:(1)如果NameNode高可用,就没有SecondaryNameNode,取而代之的是JournalNode,其主要用于同步元数据信息,保证2个NameNode的元数据信息一致,并且JournalNode需要奇数个,半数及以上的JournalNode写入元数据成功,就代表写入成功。(2)两个NameNode组成主备的架构。(3)集群的脑裂:为了避免集群的脑裂,造成看到的数据不一样,一定要保证两个NameNode中的元数据信息一模一样,而JournalNode就是同步两个NameNode中的元数据信息,保证两者相同。(4)NameNode高可用的自动切换,主要是通过两个守护进程ZKFC来实现。
转载于:https://www.cnblogs.com/mediocreWorld/p/10940317.html
相关资源:JAVA上百实例源码以及开源项目