Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算
核心组件
HDFS:分布式文件存储系统——解决海量数据存储 YARN:集群资源管理和任务调度框架——解决资源任务调度 MapReduce:分布式计算框架——解决海量数据计算
官方地址
https://hadoop.apache.org/
Google的三篇论文
- 《The Google file system》︰谷歌分布式文件系统GFS
- 《MapReduce: Simplified Data Processing on Large Clusters》︰谷歌分布式计算框架MapReduce
- 《Bigtable: A Distributed Storage System for Structured Data》︰谷歌结构化数据存储系统
这三篇论文成为了Hadoop的指导
特性优点
1.扩容能力
Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。
2.成本低
Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。
3.效率高
通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。
4.可靠性
能自动维护数据的多份复制,并且在任务失败后能自动地重新部署( redeploy )计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。
Hadoop版本
商业发行版
商业公司发行 某些服务需要收费 基于Apache开源协议 优点︰稳定兼容好 缺点︰收费版本更新慢
开源社区版
Apache开源社区发行 也是官方发行版本 优点∶更新迭代快 缺点︰兼容稳定性不周
Hadoop架构变迁
Hadoop 1.0
- HDFS(分布式文件存储)
- MapReduce(资源管理和分布式数据处理)
Hadoop 2.0
- HDFS(分布式文件存储)
- MapReduce (分布式数据处理)
- YARN(集群资源管理、任务调度)
Hadoop 3.0(着重于2.0的性能优化)
通用
精简内核、类路径隔离、shell脚本重构
Hadoop HDFS
EC纠删码、多NameNode支持
Hadoop MapReduce
任务本地化优化、内存参数自动推断
Hadoop YARN
Timeline Service V2、队列配置
Hadoop集群
Hadoop集群包括两个集群:
两个集群逻辑上分离:两个集群互相之间没有依赖、互不影响 物理上在一起:在某些角色进程往往部署在同一台服务器上 两个集群都是标准的主从架构集群
MapReduce是计算框架、代码层面的组件,没有集群之说所以没有MapReduce集群
HDFS集群(分布式存储)
- 主角色: NameNode
- 从角色: DataNode
- 主角色辅助角色:SecondaryNameNode
YARN集群(资源管理、调度)
- 主角色:ResourceManager
- 从角色:NodeManager
Hadoop部署模式
单机模式 Standalone mode
1个机器运行1个java进程,所有角色在一个进程中运行,主要用于调试
伪分布式 Pseudo-Distributed mode
一个机器运行多个进程,每个角色一个进程,主要用于调试
集群模式 Cluster mode
集群模式主要用于生产环境部署。会使用N台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上。
HA高可用 HA mode
在集群模式的基础上为单点故障部署备份角色,形成主备架构,实现容错
|