Hadoop介绍
1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构
2)主要解决海量数据的存储和分析计算问题
Hadoop生态圈
Hadoop优势
1)高可靠性:Hdoop底层维护多个数据副本,即使存储出现故障也不会导致数据丢失
2)高扩展性:方便扩展节点
3)高效性:并行工作加快任务处理速度
4)高容错性:自动将失败的任务重新分配
Hadoop1和Hadoop2的区别
在Hadoop1时代Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大,在Hadoop2时增加了Yarn,只负责资源的调度,MapReduce只负责运算。
Hadoop组成
MapReduce(计算)
Yarn(资源调度)
HDFS(数据存储)
Common(辅助工具)
HDFS架构
1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验
3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照
Yarn架构
1)ResourceManager(RM)
处理客户端请求
监控NodeManager
启动或监控ApplicationMaster
资源分配与调度
2)NodeManager(NM)
管理单个节点上的资源
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令
3)ApplicationMaster(AM)
负责数据切分
为应用程序申请资源并分配给内部任务
任务的监控与容错
4)Container
Yarn中的资源抽象,封装了某个节点上的多维度资源,如内存,CPU,磁盘,网络等
MapReduce架构
1)Map 阶段并行处理输入数据
2)Reduce 阶段对Map结果进行汇总