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:分布式计算框架——解决海量数据计算
这三篇论文成为了Hadoop的指导
Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。
Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。
通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。
能自动维护数据的多份复制,并且在任务失败后能自动地重新部署( redeploy )计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。
商业公司发行
某些服务需要收费
基于Apache开源协议
优点︰稳定兼容好
缺点︰收费版本更新慢
Apache开源社区发行
也是官方发行版本
优点∶更新迭代快
缺点︰兼容稳定性不周


精简内核、类路径隔离、shell脚本重构
EC纠删码、多NameNode支持
任务本地化优化、内存参数自动推断
Timeline Service V2、队列配置

Hadoop集群包括两个集群:
两个集群逻辑上分离:两个集群互相之间没有依赖、互不影响
物理上在一起:在某些角色进程往往部署在同一台服务器上
两个集群都是标准的主从架构集群
MapReduce是计算框架、代码层面的组件,没有集群之说所以没有MapReduce集群
1个机器运行1个java进程,所有角色在一个进程中运行,主要用于调试
一个机器运行多个进程,每个角色一个进程,主要用于调试
集群模式主要用于生产环境部署。会使用N台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上。
在集群模式的基础上为单点故障部署备份角色,形成主备架构,实现容错