Hadoop的优势
- 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
- 高扩展性:能在廉价机器组成的集群间分配任务数据,可以方便地扩展数以千计的节点。
- 高效性:在MapReduce的思想下,Hadoop是并行工作的,可以加快任务的处理速度。
- 高容错性:能够自动将失败的任务重新分配。
Hadoop的部署模式有四种:本地模式、伪分布式模式、完全分布式模式、HA完全分布式模式。
一、Hadoop各部署模式的特点
1. 本地模式(Local (Standalone) Mode) 又称独立模式、单机模式。在该模式下,无需运行任何守护进程,所有的程序都在一台机器的单个JVM上执行。本地模式下调试Hadoop集群的MapReduce程序非常方便,所以一般情况下,该模式适合在快速安装体验Hadoop、开发阶段进行本地调试使用。
2. 伪分布式模式(Pseudo-Distributed Mode)
伪分布式模式是在一台机器的各个进程上运行Hadoop的各个模块,各模块分开运行,但Hadoop程序的守护进程只运行在一台节点上,并不是真正的分布式。一般情况下,通常使用伪分布式模式来调试Hadoop分布式程序的代码,以及程序执行是否正确。伪分布式模式是完全分布式模式的一个特例。
3. 完全分布式模式(Fully-Distributed Mode)
在完全分布式模式下,Hadoop的守护进程分别运行在由多个主机节点搭建的服务器集群上,不同的节点担任不同的角色。一般情况下,在实际工作应用开发中,通常使用该模式部署构建企业级Hadoop系统。
4. 高可用完全分布式模式(Highly Available Fully-Distributed Mode)
HA高可用是Hadoop2.x才开始引入的机制,是为了解决Hadoop的单点故障问题。主要有两种部署方式,一种是NFS(Network File System)方式,另外一种是QJM(Quorum Journal Manager)方式。用得较多的是QJM方式,稳定性更好。实际操作中,生产环境的Hadoop集群搭建一般都会做HA部署。
二、Hadoop各部署模式的区别
Hadoop各种部署模式的区分依据主要是HDFS的NameNode、DataNode,YARN的ResourceManager、NodeManager、AppMaster等模块运行在几个JVM进程以及几个机器节点上:
部署模式 | 各个模块占用JVM进程数 | 各个模块运行机器节点数 |
---|---|---|
本地模式 | 1个 | 1个 |
伪分布式模式 | N个 | 1个 |
完全分布式模式 | N个 | N个 |
HA完全分布式模式 | N个 | N个 |