1、概述
1.1、Hadoop 的概念
Hadoop是一个应用java语言实现的开源、可靠、可扩展的分布式并行计算框架软件框架,大量的廉价的计算机组成的集群中运行海量数据的可靠的,可扩展的分布式并行计算框架,它可以让应用程序支持上千个节点和PB级别的数据。Hadoop是项目的总称,主要是由分布式存储(HDFS)、和分布式并行计算(MapReduce)等组成。
Hadoop可以实现,使用多台廉价的普通服务器,搭建分布式的集群,将其资源整合,实现大数据的处理。
1.2、Hadoop的思想之源:Google及起源
1) Google低成本之道:大量使用普通的pc服务器,提供有冗余的集群服务。
Google面对的数据存储和计算难题
Goolge 三大论文 大数据的三驾马车
文件系统 GFS
计算 MapReduce
大表格 BigTable
2)Hadoop的起源及发展史
Doug Cutting的全文检索引擎的架构Lucene,在海量数据的处理上遇到了和goole一样的难题.
Google公开了GFS和Mapreduce思想
Doug Cutting等人用了2年业余时间实现了HDFS 和Mapreduce机制
Goolge Hadoop
文件系统 GFS -> HDFS
计算 MapReduce -> Mapreduce
大表格 BigTable -> HBase
1.3、Hadoop的四个模块(四大组件)
Hadoop Common 公共模块(支持其他Hadoop模块的公用工具,包括FileSystem(面向通用文件系统的抽象类)、远程过程调用(RPC)和序列化库)
Hadoop HDFS 存储数据:一个为访问应用数据提供高吞吐量的分布式文件系统。
Hadoop YARN 管理资源(Hadoop2.x):一个全局的任务调度与资源管理的框架,YARN是mareduce的云操作系统
MapReduce 并行计算框架:一个基于Yarn的大数据分布式并行计算框架
1.4、Hadoop的体系架构
HDFS
Namenode(一个集群只有一个active):用于保存元数据信息(Namenode将元数据保存在内存中),同时会在硬盘上保留一份。元数据(Filename、副本数,各个副本所在的节点的位置)
DataNode:用于具体保存数据的,在HDFS上保存的数据副本数,默认是3个,副本数可以设置
SecondaryNameNode: 用于同步元数据信息。
YARN
ResourceManager:负责全局任务的调度和资源管理(硬件资源(CPU,内存,硬盘))
Nodemanager:负责所在节点上的资源
Mapreduce
分两个阶段:Map和Reduce 计算框架,编程模型
“分而治之”的思想, 分布式并行计算
1.5、Hadoop的安装运行模式
(1)单机模式:单机(本地)运行模式
无需运行任何守护进程,所有程序都在单个JVM上执行,测试用。
(2)伪分布式
将所有的守护进程运行在一个节点
(3)集群模式
a)完全分布式:不同的守护进程运行在不同的节点
b)HA Namenode HA Resourcemanager HA
c)联盟