Hadoop初识
1.大数据概念
2.Hadoop的思想之源
3.Hadoop背景介绍
3.1.什么是Hadoop
3.2.Hadoop产生背景
4.Hadoop组成
5.Hadoop的优势
6.HADOOP生态圈以及各组成部分的简介
1.大数据概念
大数据指无法在一定时间内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
主要解决海量数据的存储和海量数据的分析计算问题。
2.Hadoop的思想之源
面对的数据和计算难题
大量的网页怎么存储
搜索算法
带给我们的关键技术和思想
GFS → HDFS
Map-Reduce → MR
Bigtable → HBase
3.Hadoop背景介绍
3.1.什么是Hadoop
1)Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构
2)Hadoop提供的功能:利用服务器集群,根据用户自定义业务逻辑,解决海量数据的存储和海量数据的分布式分析计算问题。
3)广义上来说,HADOOP 通常是指一个更广泛的概念——HADOOP 生态圈
3.2.Hadoop产生背景
HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
2003年-2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。一个是分布式文件系统(GFS),可用于处理海量网页的存储;一个是分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。在此期间,Google公开了部分GFS和Mapreduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS 和Mapreduce机制,使Nutch性能飙升。
Hadoop作者Doug cutting,就职Yahoo期间用java开发了Hadoop项目,实现与Google类似的全文搜索功能,它提供了全文检索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。
Hadoop 于 2005 年秋天作为 Lucene的子项目Nutch的一部分正式引入Apache基金会。2006 年 3 月份,Map-Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中
Hadoop的名字来源于Doug Cutting儿子的玩具大象。
4.Hadoop组成
Hadoop项目主要包括以下四个模块
Hadoop Common
为其他Hadoop模块提供基础设施(Configuration、RPC、序列化机制、日志操作)
Hadoop HDFS(Hadoop Distributed File System )
一个提供了高可靠性、搞扩展性和高吞吐量的分布式文件系统
Hadoop Mapreduce
一个分布式的离线并行计算框架,具有易于编程、高容错性和高扩展性等优点
Hadoop YARN
任务调度与集群资源管理的框架
5.Hadoop的优势
1)高可靠性:因为 Hadoop 假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。
2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。不同于传统的关系型数据库系统不能扩展到处理大量的数据,Hadoop是能给企业提供涉及成百上千TB的数据节点上运行的应用程序。
3)高效性:移动计算而非数据,适用于批处理。在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。
4)高容错性:数据自动保存多份副本,这意味着在故障情况下,存在其他副本可供使用,即副本丢失后可自动恢复,并且能够自动将失败的任务重新分配。可构建在廉价机器上,实现线性(横向)扩展,当集群增加新节点之后,namenode也可以感知,将数据分发和备份到相应的节点上。
6.HADOOP生态圈以及各组成部分的简介
重点组件:
HDFS:分布式文件系统
MAPREDUCE:分布式运算程序开发框架
HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具,使用方便,功能丰富,基于MR延迟大
HBASE:基于HADOOP的分布式海量数据库
ZOOKEEPER:分布式协调服务基础组件
Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库
Oozie:工作流调度框架
Sqoop:数据导入导出工具
Flume:数据采集框架