背景
近年来,大家对大数据的关注度和使用频率越来越高,软件IT产品中的各类数据都被记录下来,以便更好地研究和分析。
内容
大数据平台技术架构
在电商企业中,每天系统记录下来的运营数据,达到几百 GB 增量的规模,为了保证所有数据能集中存储并且可随时访问,越来越多的企业把离线数据体系从商用的 Exadata 等解决方案,全面转向开放的 Hadoop 体系当中,以谋求成本与扩展性的平衡。所以,拥有一定技术实力的互联网公司,纷纷搭建自己的大数据平台。
如图所示,这是一个典型的大数据平台的技术架构:
大数据平台技术架构
大数据平台是由数据存储、数据同步分发、监控、离线计算、平台安全、资源申请等部分构成。
数据存储
数据存储,是整个大数据平台的基础,包含如:HDFS、HBase、Hive、MapReduce、 Storm 等等。下面对其中的主要框架做些介绍,详细资料大家可以到搜索引擎中获取。
- HDFS,分布式文件系统,Hadoop 的核心组成部分。
- MapReduce,分布式数据处理,Hadoop 核心之一。
- HBase,一个分布式的,列存储数据库,使用 HDFS 作为底层存储,同时支持 MapReduce 的批量式计算和点查询。
- Zookeeper,一个分布式的,高可用的协调服务。提供分布式锁之类的基本服务,用 于构建分布式应用。
- Hive,分布式数据仓库,Hive 管理 HDFS 中存储的数据,并提供基于 SQL 的查询语言用以查询数据。
- Hama,建立在 Hadoop 上的分布式并行计算框架,基于 Map/Reduce 和 Bulk Synchronous 的实现框架,运行环境需要关联 Zookeeper、HBase、HDFS 组件。
- Mahout,一个基于 MapReduce 的机器学习算法库,运行在 Hadoop 集群上。
- Cassandra,一种混合的非关系型数据库,类似于 Google 的 BigTable。
以上就是数据存储层中,用到的一些开源数据框架。
其他组成部分
- 数据同步分发
这个组件对数据同步和分发做统一管理,可实现异步、分布式的数据同步和分发。
- 监控
指的是对大数据平台的服务和资源,进行监控和预警,包括数据存储的可用性、性能、系统负载、资源请求的响应时效等。
- 离线计算
处理离线计算任务的模块,包括任务容器、任务调度定时器、异常捕获等模块,确保离线计算任务能够在资源容许的情况下,按计划运行。
- 平台安全
主要包括对数据访问权限的管理,把数据划分成不同的安全等级进行管理,当访问某些安全级别高的数据时,会触发一个审批流程,经过主管审批后才能访问。
- 资源申请
指的是对大数据平台的计算或存储资源发起一个使用请求,这里会记录每一个数据操作访问,以供日后审计。