本章内容:
1.Hadoop的发展历程
2.Hadoop生态系统的各个组件及其功能
3.Hadoop的安装和使用方法
4.Hadoop集群的部署和使用方法

1.Hadoop简介
Hadoop是Apache软件基金会旗下开源软件
Hadoop可以支持多种编程语言:C、C++、Java、Python

Hadoop两大核心—HDFS+MapReduce:
解决了两大问题:HDFS如何实现海量数据的存储(集群分布式存储),MapReduce如何实现海量数据的处理(集群分布处理)

2003年,谷歌发布了分布式文件系统GFS(Google File System)。HDFS是GFS的开源实现

2004年,谷歌发布了分布式并行编程框架MapReduce。

hadoop 数据均衡算法 hadoop如何处理海量数据_Hadoop


对1TB的数据进行排序,用时209秒

Hadoop的特性:
1.Hadoop具有很高的可靠性:多台机器构成集群,部分机器发生故障,剩余机器可以继续对外提供服务
2.Hadoop具有很高的效率:成百上千台机器一起计算
3.Hadoop具有很好的可扩展性:可以不断往集群中增加机器
4.Hadoop成本低:Hadoop可以采用普通PC机来构成一个集群
5.高性能计算(High Performance Computing 编写HPC)

Hadoop应用现状

Facebook公司采用Hadoop集群用于日志处理、推荐系统和数据仓库等方面

hadoop 数据均衡算法 hadoop如何处理海量数据_Hadoop_02


2.Hadoop不同的版本

hadoop 数据均衡算法 hadoop如何处理海量数据_架构_03


Hadoop1.0两大核心:HDFS+MapReduce

hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop 数据均衡算法_04


到2.0以后,MapReduce只做数据处理工作,不再做资源调度。MapReduce是架构在YARN资源调度之上的。

hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop_05

hadoop 数据均衡算法 hadoop如何处理海量数据_mapreduce_06


hadoop 数据均衡算法 hadoop如何处理海量数据_mapreduce_07


hadoop 数据均衡算法 hadoop如何处理海量数据_Hadoop_08


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop 数据均衡算法_09


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop_10


学生Apach、企业Hortonworks,星环3.Hadoop项目结构

hadoop 数据均衡算法 hadoop如何处理海量数据_架构_11

YARN负责对内存、CPU、资源、带宽资源进行调度

Spark与MapReduce的区别:

Spark是基于内存的;MapReduce是基于磁盘的

Hive是数据仓库方面的。可用于企业数据分析。

hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop 数据均衡算法_12


hadoop 数据均衡算法 hadoop如何处理海量数据_架构_13


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop_14


hadoop 数据均衡算法 hadoop如何处理海量数据_mapreduce_15


4.Hadoop集群的部署和使用

hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop 数据均衡算法_16


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop_17


hadoop 数据均衡算法 hadoop如何处理海量数据_Hadoop_18


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop 数据均衡算法_19


hadoop 数据均衡算法 hadoop如何处理海量数据_架构_20


hadoop 数据均衡算法 hadoop如何处理海量数据_Hadoop_21


hadoop 数据均衡算法 hadoop如何处理海量数据_Hadoop_22


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop_23


hadoop 数据均衡算法 hadoop如何处理海量数据_Hadoop_24


hadoop 数据均衡算法 hadoop如何处理海量数据_架构_25


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop 数据均衡算法_26


hadoop 数据均衡算法 hadoop如何处理海量数据_hadoop_27


Hadoop不仅可以在本地使用也可以部署到云端