hadoop?基于hadoop的毕业设计
一、hadoop是什么
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
二、hadoop的描述性定义
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,一个能够对大量数据进行分布式处理的软件框架;Hadoop以一种可靠、高效、可伸缩的方式进行数据处理;用户可以在不了解分布式底层细节的情况下,开发分布式程序。
三、Hadoop生态系统及各模块的功能
1.HDFS(Hadoop分布式文件系统)
HDFS是Hadoop生态圈中提供分布式存储支持的系统,上层的很多计算框架(Hbase、Spark等)都依赖于HDFS存储。
2.MapReduce(分布式计算模型)离线计算
何为离线计算,其实就是非实时计算。
3.Yarn(分布式资源管理器)
Yarn的出现主要就是为了解决原始Hadoop扩展性较差、不支持多种计算模型的问题。
4.Spark(内存计算)
Spark提供了内存中的分布式计算能力,相比传统的MapReduce大数据分析效率更高、运行速度更快。
5.HBase(分布式列存储数据库)
Hbase继承了列存储的特性,它非常适合需对数据进行随机读、写操作。其次,Hbase构建在HDFS之上,其内部管理的文件全部存储在HDFS中。这使它具有高度容错性和可扩展性,并支持Hadoopmapreduce程序设计模型。
6.Hive(数据仓库)
7.Oozie(工作流调度器)
Oozie是一个基于工作流引擎的调度器,它其实就是一个运行在JavaServlet容器(如Tomcat)中的JavasWeb应用,你可以在它上面运行Hadoop的MapReduce和Pig等任务,。
8.Sqoop与Pig
9.Flume(日志收集工具)
Flume是将数据从产生、传输、处理并最终写入目标路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。
10.Kafka(分布式消息队列)
Kafka是Apache组织下的一个开源系统,它的最大特性就是可以实时的处理大量数据以满足各种需求场景:比如基于Hadoop平台的数据分析、低时延的实时系统、Storm/Spark流式处理引擎等。Kafka现在它已被多家大型公司作为多种类型的数据管道和消息系统使用。
11.ZooKeeper(分布式协作服务)
通俗的讲,ZooKeeper相当于一个和事佬的角色,如果两人之间发生了一些矛盾或者冲突,无法自行解决的话,这个时候就需要ZooKeeper这个和事佬从中进行调解,而和事佬调解的方式是站在第三方客观的角度,根据一些规则(如道德规则、法律规则),客观的对冲突双方做出合理、合规的判决。
12.Ambari(大数据运维工具)
Ambari是一个大数据基础运维平台,它实现了Hadoop生态圈各种组件的自动化部署、服务管理和监控告警,Ambari通过puppet实现自动化安装和配置,通过Ganglia收集监控度量指标,用Nagios实现故障报警。