Hadoop演进与Hadoop生态
1.了解对比Hadoop不同版本的特性,可以用图表的形式呈现。
随着这几年大数据浪潮的兴起,hadoop的各种版本也快速在国内流传和使用。当前主要的hadoop版本有以下几种:
1、Apache
hadoop 的2.0版本,它的模块主要有以下几个:
(1)hadoop通用模块,支持其他hadoop模块的通用工具集;
(2)Hadoop分布式文件系统,支持对应数据高吞吐量访问的分布式文件系统;
(3)用于作业调度和集群资源管理的Hadoop
YANRN框架;
(4)Hadoop MapReduce,基于YARN的大数据并行处理系统。
2、Cloudera
hadoop:Cloudera版本层次更加清晰,且它提供了适用于各种操作系统的Hadoop安装包,可直接使用apt-get或者yum命令进行安装,更加省事。
3、Hortonworks:Hortonworks 的主打产品是Hortonworks Data
Platform (HDP),也同样是100%开源的产品,HDP除了常见的项目外还包含了Ambari,一款开源的安装和管理系统。HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook 开源的Hive中。Hortonworks的Stinger开创性地极大地优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache
Hadoop能够在包括Windows Server和Windows
Azure在内的Microsoft Windows平台上本地运行。
2.Hadoop生态的组成、每个组件的作用、组件之间的相互关系,以图例加文字描述呈现。

(1)HDFS(hadoop分布式文件系统):是hadoop体系中数据存储管理的基础。他是一个高度容错的系统,能检测和应对硬件故障。
(2)Mapreduce(分布式计算框架):mapreduce是一种计算模型,用于处理大数据量的计算。其中map对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。
(3)HBase(分布式列存数据库):HBase是一个提供高可靠性、高性能、可伸缩、实时读写、分布式的列式数据库,一般采用HDFS作为其底层数据存储。HBase是针对谷歌BigTable的开源实现,二者都采用了相同的数据模型,具有强大的非结构化数据存储能力。HBase与传统关系数据库的一个重要区别是,前者釆用基于列的存储,而后者采用基于行的存储。HBase具有良好的横向扩展能力,可以通过不断增加廉价的商用服务器来增加存储能力。
(4)Hive(基于hadoop的数据仓库):Hive是—个基于Hadoop的数据仓库工具,可以用于对Hadoop文件中的数据集进行数据整理、特殊查询和分析存储。Hive的学习门槛比较低,因为它提供了类似于关系数据库SQL语言的查询语言——HiveQL,可以通过HiveQL语句快速实现简单的MapReduce统计,Hive自身可以将HiveQL语句转换为MapReduce任务进行运行,而不必开发专门的MapReduce应用,因而十分适合数据仓库的统计分析。
(5)Pig(基于hadoop的数据流系统):Pig是一种数据流语言和运行环境,适合于使用HadooP和MapReduce平台来查询大型半结构化数据集。虽然MapReduce应用程序的编写不是十分复杂,但毕竟也是需要一定的开发经验的。Pig的出现大大简化了Hadoop常见的工作任务,它在MapReduce的基础上创建了更简单的过程语言抽象,为Hadoop应用程序提供了一种更加接近结构化査询语言的接口。
(6)Mahout(数据挖掘算法库):Mahout是Apache软件基金会旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序:Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用ApacheHadoop库,Mahout可以有效地扩展到云中。
(7)Zookeeper(分布式协作服务):Zookeeper是针对谷歌Chubby的一个开源实现,是高效和可靠的协同工作系统,提供分布式锁之类的基本服务,用于构建分布式应用,减轻分布式应用程序所承担的协调任务。
(8)Flume(日志收集工具):Flume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统。Flume支持在日志系统中定制各类数据发送方,用于数据收集;同时,Flume提供对数据进行简单处理并写到各种数据接受方的能力。
(9)Sqoop(数据同步工具):Sqoop是SQL-to-Hadoop的缩写,主要用来在Hadoop和关系数据库之间交换数据的互操作性。通过Sqoop可以方便地将数据从MySQL、Oracle.PostgreSQL等关系数据库中导人Hadoop(可以导人HDFS、HBase或Hive),或者将数据从Hadoop导出到关系数据库,使得传统关系数据库和Hadoop之间的数据迁移变得非常方便。Sqoop主要通过JDBC(JavaDataBaseConnectivity湘关系数据库进行交互,理论上,支持JDBC的关系数据库都可以使Sqoop和Hadoop进行数据交互。Sqoop是专门为大数据集设计的,支持增量更新,可以将新记录添加到最近一次导出的数据源上,或者指定上次修改的时间戳。
(10)Ambari(安装、部署、配置和管理工具):ApacheAmbari是一种基于Web的工具,支持ApacheHadoop集群的安装、部署、配置和管理。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、HBase、Zookeeper、Sqoop等
官网学习Hadoop的安装与使用,用文档的方式列出步骤与注意事项。
1.创建Hadoop用户
2.JAVA安装
3.SSH登录权限设置
4.安装单机Hadoop
5.Hadoop伪分布式安装

浙公网安备 33010602011771号