1.Hadoop的目标
随着数据量的增大,以往单机的存储计算模式无法满足。
Hadoop就是存储海量数据和分析海量数据的工具。
2.Hadoop的组成
1.HDFS:一个高可靠、高吞吐量的分布式文件系统
2.MapReduce:一个分布式的离线并行计算框架
3.YARN:作业调度与集群资源管理的框架
4.Common:支持其他模块的工具模块
其中Hadoop的核心组成是HDFS与MapReduce两部分:
1.HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。
把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。
2.MapReduce是一个分布式计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。
把MapReduce理解成为一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。
3.Hapdoop的应用场景
1.大数据存储:分布式存储
2.日志处理:擅长日志分析
3.ETL:数据抽取到oracle、mysql、DB2、mongdb及主流数据库
4.机器学习: 比如Apache Mahout项目
5.搜索引擎:Hadoop + lucene实现
6.数据挖掘:目前比较流行的广告推荐,个性化广告推荐
7.Hadoop是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。
4.Hapdoop特点
高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
高容错性:能够自动将失败的任务重新分配。