Hadoop的三大发行版本
Hadoop的三大发行版本包括:Apache、Cloudera、Hortonworks。
其中:
Apache版本是最原始(最基础)的版本
对于入门学习的新手比较推荐。
- 官网地址:http://hadoop.apache.org/releases.html
- 下载地址:https://archive.apache.org/dist/hadoop/common/
Cloudera在市场常见的互联网企业中用的较多
安装及组件最为方便。(但是出现bug时,需要解决就要收费,一般是工程师按修复时长收费)
- 官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
- 下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/
Hortonworks文档较好,
但是由于2011成立,时间较晚,所以市场上用的并不常见。
- 官网地址:https://hortonworks.com/products/data-center/hdp/
- 下载地址:https://hortonworks.com/downloads/#data-platform
Hadoop的优势
高可靠性:
Hadoop底层维护了多个数据副本,默认副本数为3个。
所以设备出问题时也可以在其他服务器上找到备份。
高扩展性:
在集群间分配任务数据,可拓展至数上千的节点。(相当于增加多台服务器)
高效性:
在MapReduce下,Hadoop可以多台服务器并行工作,任务处理速度非常快。
高容错性:
当一个节点上的任务出错时,可以自动将失败的任务重新分配给其他节点。
Hadoop的组成
Hadoop1.x与Hadoop2.x的区别
Hadoop1.x的组成
common(辅助工具)+HDFS(数据存储)+MapReduce(计算+资源调度)
Hadoop2.x的组成
common(辅助工具)+HDFS(数据存储)+MapReduce(计算)+Yarn(资源调度)
可以看出,Hadoop1.x中,MapReduce同时处理业务逻辑运算和资源调度,耦合性比较大。
在Hadoop2.x中,他将MapReduce中的资源调度抽取出来,变成了Yarn,单独负责资源调度,而MapReduce则只负责计算。
HDFS架构
- NameNode(nn):存储元数据。如文件名、目录、属性等。(等价于一本书的目录)
- DataNode(dn):存储文件的块信息,及文件的校验和。(等价于书里面内容)
- Secondary NameNode(2nn):监控HDFS状态的后台程序。
YARN 框架
ResourceManager负责监控所有的NodeManager,是整个集群的老大。NodeManager是单个节点资源的老大。ApplicationMaster是集群上运行的任务。
ResourceManager:(整个集群的老大)
- 处理客户端请求(资源调度,管理所有资源、磁盘等)
- 监控NodeManager
- 启动或监控ApplicationMaster
- 资源的分配和调度
NodeManager:(单节点资源的老大)
- 管理单个节点的资源
- 处理来自ResourceMaster的命令
- 处理来自ApplicationMaster的命令
ApplicationMaster:
- 对数据进行切分
- 申请资源、分配任务
- 任务监控与容错
Container:
是YARN中资源的抽象,相当于CPU、磁盘、网络等。(虚拟化的)
MapReduce架构
MapReduce将计算过程分为两个阶段:Map和Reduce
- Map阶段并行处理输入数据(分)
- Reduce阶段对Map结果进行汇总(合)