1、hadoop介绍

狭义上hadoop指的是Apache的一款开源软件
用java语言实现开源软件框架
允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理

Hadoop核心组件
Hadoop HDFS(分布式文件存储系统):解决海量数据存储
Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度
Hadoop MapReduce(分布式计算框架):解决海量数据计算

广义上Hadoop指的是围绕Hadoop打造的大数据生态圈

总结:
Hadoop狭义上指软件,广义上指生态圈
Hadoop之父Doug Cutting
Hadoop起源于Nutch项目
受Google3篇论文启发
2008年开源给Apache软件基金会

2、Hadoop特性优点

(1)扩容能力(scalcbility)
Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中
(2)成本低(Economical)
Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低
(3)效率高(efficiency)
通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快
(4)可靠性(reliability)
能自动维护数据的多份复制,并且在任务失败后能自动的重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。

Hadoop成功的魅力:
通用、简单

3、Hadoop集群简介

Hadoop集群包括两个集群:HDFS集群、YARN集群
即:Hadoop集群=HDFS集群+YARN集群
两个集群逻辑上分离,通常物理上在一起
两个集群都是标准的主从架构集群

HDFS集群(分布式存储):
主角色:NameNode
从角色:DataNode
主角色辅助角色:SecondaryNameNode

YARN集群(资源管理、调度):
主角色:ResourceName
从角色:NodeName

逻辑上分离:
两个集群互相之间没有依赖、互不影响
物理上在一起:
某些角色进程往往部署在同一台物理服务器上

MapReduce是计算框架、代码层面的组件,没有集群之说

Hadoop部署模式:
单机模式:一个机器运行一个java进程,所有角色在一个进程中运行主要用于调试
伪分布式:一个机器运行多个进程,每个角色一个进程,主要用于调试
集群模式:集群模式主要用于生产环境部署,会使用N台主机组成一个Hadoop集群,这种部
署模式下,主节点和从节点会分开部署在不同的机器上
HA高可用:在集群模式的基础上为单点故障部署备份角色,形成主备框架,实现容错