大数据生态系统组成,各组件及其作用

HDFS
hadoop distributed file system(分布式文件系统),以数据块(block)为处理单位,默认大小时64MB,其中一个大文件分成若干数据块可以分发到不同硬盘存储,一旦系统出现问题会使用其中的副本。不适用于大量文件的修改和小文件的存储。由namenode,secondary namenode,datanode组成。
namenode:负责接受客户的任务请求,命名空间的规定,完成任务和datanode的映射。
secondary namenode:负责系统fsimage(整个系统开机后的快照)和editlog(开机后所作的处理)的合并为新的镜像作为记录点。这项工作原本为namenode负责,但是namenode只有在重新启动后才会将二者合并,重启namenode后会等带大量时间,所以交由second处理合并后交给namenode。
datanode:数据块的处理和读写负责节点,主要就是干活,会与namenode发送心跳,交互数据处理进度。

Mapreduce
一个分布式的编程框架,将任务分发到分布式系统的单个节点计算,最后汇总计算结果。

PV
page view 页面访问量,衡量网站用户访问页面数量。

UV
unique view 单独访问量,每一台×××为一个客户端作为统计单位。

YARN
将mapreduce中的jobtracker的功能分为两部分,resourcemanager负责总的资源管理和applicationmaster负责单个节点应用程序管理。当用户提交一个应用程序的时候,需要一个appmaster跟踪处理应用的资源请求负责向resourcemanager申请所用的资源,每个appmaster互不影响。nodemagager负责单个节点的资源管理和使用。资源的分配以container为单位,是资源的一个抽象实体,包括cpu,内存,磁盘等,nodemanager只能使用container中分配的资源。

数据仓库
同数据库的逻辑层面一样,数据库要保证数据的完整性,尽可能的减少冗余,采用行式存储。数据仓库着重对数据的分析,对数据的查询速度要求很高,采用列式存储。

Sqoop
(skup)可以将外部数据转移到hdfs系统或者hbase和hive

Flume
一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

HIVE
四.Spark
五.Storm
六.ZooKeeper
Kafka
分布式发布订阅消息系统,1.以pub/sub方式海量的流处理 2.存储海量数据流,保证数据流的顺序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章