1.hadoop的来源
-
Google 搜索引擎的 2003年
海量数据的存储 GFS google filesystem
海量数据计算 MapReduce 编程框架 分布式计算
快速查询的机制 bigtable -
Doug Cutting
Lucence 搜索引擎 Nuth 爬虫 海量数据存储 海量数据计算 快速查询 java 语言 实现了google的三篇论文 GFS---》hdfs hadoop distributed filesystem hadoop的分布式文件系统 MapReduce---》MapReduce 分布式计算核心 BigTable---》Hbase快速查询的分布式数据库 将hdfs+mapreduce hadoop Hadoop 版本演变 Hadoop1.x HDFS+MapReduce Hadoop2.x HDFS+MapReduce+Yarn
2.hadoop的角色分工
-
hadoop的角色分工:
hadoop2.X HDFS 分布式存储 存储系统 Namenode: 整个存储集群的老大 负责管理 datanode的数据存储 不负责数据的真正存储的 只有一个节点 Datanode(从节点):数据节点,真正存储数据的 干活的 secondarynamenode: namenode的备份节点 不负责存储真正的数据的 namenode的助理:这个备份节点是永远不能代替namenode 帮助namenode恢复数据 帮助namenode 减轻压力 MapReduce Yarn 资源调度 为每一个计算任务 分配资源的 resourcemanager:资源管理的 资源管理的老大 管理所有的从节点的资源的 nodemanager: 资源管理的从节点 真正的资源提供者
namenode
datanode
secodarynamenode
resourcemanager
nodemanager
3.Hadoop的安装模式
-
单机模式
不存在在分布式文件系统,不存在hdfs,mapreduce
使用本地的文件系统和计算
直接解压
一个节点 -
伪分布式
一个节点
存在分布式文件系统 hdfs mapreduce yarn
生产上 不会用 自己学习
namenode datanode secondarynamenode resourcemanager nodemanager 都在一个节点上 -
完全分布式
多个节点上 不同节点 不同的分工
namenode 一个节点 datanode 多个节点 一主多从
测试集群可能使用 自己学习 -
高可用
完全分布式存在单点故障的问题
namenode 存在多个 一个namenode 处于正在对外提供服务
active namenode 其他的namenode 处于热备份的状态 standby namenode
active宕机的时候 standby 可以无缝衔接的 立即切换为active的
生产集群
-
联邦模式
超大集群的
1000+
当集群中规模很大的时候 namenode的压力太大 集群中同时开启多个 active的namenode
每一个namenode 负责管理 datanode的一部分数据
但是 每个namenode都要管理所有的datanode联邦模式如下:
非联邦模式(这个是二个集群):如下(这种不叫联邦模式)