好多初入学习大数据的人不是很清楚,今天分享一个图,并介绍一下大致的组件,其他还有一些组件是没有包含在其中的,但是大部分这个图片是有了的。
一、简介
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
二、HDFS
Hadoop Distributed File System,简称HDFS,是个分布式文件系统,是hadoop的一个核心部分。HDFS有这高容错性(fault-tolerent)的特点,并且设计用来部署在低廉价的(low-cost)的硬件上,提供了高吞吐量(high-throughout)来访问应用程序的数据,适合那些有着超大数据集(largedata set)的应用程序。HDFS开始是为开源的apache项目nutch的基础结构而创建的。
三、MapReduce
Mapreduce是一个编程模型,一个处理和生成超大数据集算法模型的实现,简单概括就是“数据分解、并行计算、结果合并“。Mapreduce最大的优点是它简单的编程模型,程序猿只需根据该模型框架设计map和reduce函数,剩下的任务,如:分布式存储、节点任务调度、节点通讯、容错处理和故障处理都由mapreudce框架来完成,程序的设计有很高的扩展性。
四、大数据生态组件
Pig:Hadoop上的数据流执行引擎,由Yahoo开源,基于HDFS和MapReduce,使用Pig Latin语言表达数据流,目的在于让MapReduce用起来更简单。
Sqoop:主要用于在Hadoop和传统数据库进行数据互导。
ZooKeeper:分布式的,开放源码的分布式应用程序协调服务。
Flume:分布式、可靠、高可用的服务,它能够将不同数据源的海量日志数据进行高效收集、汇聚、移动,最后存储到一个中心化数据存储系统中,它是一个轻量级的工具,简单、灵活、容易部署,适应各种方式日志收集并支持failover和负载均衡。
Hive:构建在Hadoop之上的数据仓库,用于解决海量结构化的日志数据统计,定义了一种类SQL查询语言。
YARN:资源协调者、Hadoop 资源管理器,提供统一的资源管理和调度。
Impala: