Hadoop1.0
对HDFS来说,其主要的运行架构则是master-slave架构,即主从架构。其中呢,master主节点称之为Namenode节点,而slave从节点称为DataNode节点。
没有hdfs的高可用模式,使用的是nn,2nn那套架构。
对MapReduce来说,同样时一个主从结构,是由一个JobTracker(主)和多个TaskTracker(从)组成。
Hadoop2.0
针对Hadoop1.0中NameNode制约HDFS的扩展性问题,提出HDFSFederation(联邦机制)以及高可用HA。此时NameNode间相互独立,也就是说它们之间不需要相互协调。且多个NameNode分管不同的目录进而实现访问隔离和横向扩展。
这样NameNode的可拓展性自然而然可用增加,据统计Hadoop2.0中最多可以达到10000个节点同时运行,并且这样的架构改进也解决了NameNode单点故障问题。
再来说说高可用(HA),HA主要指的是可以同时启动2个NameNode。其中一个处于工作(Active)状态,另一个处于随时待命(Standby)状态。这样,当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下,手工或者自动切换到另一个NameNode提供服务。
针对Hadoop1.0中MR的不足,引入了Yarn框架。Yarn框架中将JobTracker资源分配和作业控制分开,分为Resource Manager(RM)以及Application Master(AM)。
Yarn的主要三个组件如下:
-
Resource Manager:ResourceManager包含两个主要的组件:定时调用器(Scheduler)以及应用管理器(ApplicationManager)。
-
定时调度器(Scheduler):定时调度器负责向应用程序分配资源,它不做监控以及应用程序的状态跟踪,并且它不保证会重启由于应用程序本身或硬件出错而执行失败的应用程序。
-
应用管理器(ApplicationManager):应用程序管理器负责接收新任务,协调并提供在ApplicationMaster容器失败时的重启功能。
-
-
Application Master:每个应用程序的ApplicationMaster负责从Scheduler申请资源,以及跟踪这些资源的使用情况以及任务进度的监控。
-
Node Manager:NodeManager是ResourceManager在每台机器的上代理,负责容器的管理,并监控他们的资源使用情况(cpu,内存,磁盘及网络等),以及向ResourceManager/Scheduler提供这些资源使用报告。
主要职责:
project1:
1.负责部分ods层的模型设计
按照新的数仓规范根据原有模型设计新模型
2.完成分配表的数据迁移工作
2.1负责新表对应任务的编写
2.2核对新老表的数据差异,保证数据的准确性
2.3编写新表数据回溯脚本
2.4核对回溯数据准确性
project2:
1.数据治理
任务治理:大任务优化,无效任务下线
存储治理:存储表存储格式切换并回溯数据,冷表治理,临时表治理
权限治理:表管理员治理,表归属治理(确认负责团队)
元数据治理:元数据规范化处理
2.元数据数仓建设
1.组织数仓、计算平台BDSP、存储资源组沟通会,确定元数据统一建设目标
2.确定hive元数据数仓模型建设范围
3.完成hive元数据使用调研
4.完成hive元数据模型设计评审
5.完成元信息问题梳理(准确性、稳定性)并提供解决方案
6.整合现有模型,完成数仓建设
元数据使用角度:
1.血缘分析,表下游任务数据
2.存储分析,库表的存储大小,
3.热度分析,访问量,读写用户数
4.权限治理,通过元数据治理权限