加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据架构的分析应用

发布时间:2018-10-19 11:40:32 所属栏目:大数据 来源:51CTO技术栈
导读:数据管理比以往更加复杂,到处都是大数据,包括每个人的想法以及不同的形式:广告 、 社交图谱、信息流 、推荐 、市

Hortonworks 和Cloudera 是这样领域的主角。尽管它们之间有些区别,但是从大数据包的角度上看,它们是一样的,你不需要那些专属的插件。我们的目标不是描述每个发布版的所有组件,二是聚焦在每个提供者在标准生态系统中所增加的部分。同时,描述了在每种情况下,该架构所依赖的其他组件。

Cloudera CDH

Cloudier在Hadoop基础组件上增加了一个内部机构组件的集合; 这些组件被设计成给你更好的集群管理和搜素体验。部分组件列表如下:

Impala: 一个实时,并行化,基于SQL的引擎来搜索 HDFS 

(Hadoop Distributed File System)和 HBase中的数据. Impala被认为是Hadoop 发布版提供商市场中最快的查询引擎,是UC Bekeley Spark 的直接竞争者。

Cloudera Manager: 这是Cloudier的控制台,用来管理和部署Hadoop集群内的Hadoop组件.

Hue: 一个用于执行用户交互数据操作和执行脚本的控制台,可以操作集群内不同的Hadoop组件.

Figure 1-1 解释了Cloudera’s Hadoop分发包有如下组件分类:

橙色部分是Hadoop核心栈.

粉色部分是 Hadoop 生态系统项目

蓝色部分是 Cloudera的特使组件.

2

Figure 1-1. Cloudera Hadoop发布版

Hortnworks HDP

Hortnworks 是一个百分之百的开源而且使用了稳定的组件包,而不是1Hadoop 项目中最新的分发版本。它增加了一个组件管理控制台来与Cloudera Manager对比。Figure 1-2 展示了Hortonworks 发布版与Figure 1-1 相应的分类:绿色部分是Hortonworks的特殊组件.

3

Figure 1-2. Hortonworks Hadoop distribution

如前所述,当我们构建架构的时候,这两个发布版(Hortonworks 和Cloudera) 是一样的。尽管如此, 如果考虑到每个发布版的成熟度,应当选择; Cloudera Manager比Ambari更完整和稳定 .进一步,考虑实时与大数据集交互,更应该因为它的性能卓越而使用Cloudera.

Hadoop Distributed File System (HDFS)

你可能疑虑摄取到Hadoop集群中的数据存储到哪里。一般都在一个专有的系统上,叫做HDFS。HDFS的核心特性:

分布式

高吞吐量访问

高可用

容错

参数调整

安全

负载均衡

HDFS 是Hadoop集群中数据存储的头等公民。数据在集群数据节点中自动复制。

Figure 1-3 展示了HDFS中的数据如何在 一个集群的五个节点中复制的。

4

Figure 1-3. HDFS data replication

可以从 hadoop.apache.org获得更多的有关HDFS的信息。

Data Acquisition

数据的获取或者摄取开始于不同的数据源,可能是大的日志文件,流数据, ETL处理过的输出,在线的非结构化数据,或者离线的结构化数据。

Apache Flume

当查看生成的摄取日志的时候,强烈推荐使用Apache Flume; 它是稳定且高可用的,提供了一个简单,灵活和基友流数据的可感知编程模型。基本上,仅通过配置管理不需要写一行代码就可以陪着一个数据流水线。

Flume 由sources, channels, 和sinks组成. Flume source 基本上从一个外部数据源来消费一个事件如 Apache Avro source,然后存到channel. channel是一个像文件系统那样的被动存储系统 ; 它在sink 消费事件前一直持有它. sink 消费事件,然后从channel中删除该事件,并分发给一个外部的目标。

Figure 1-4 描述了一个web server和HDFS间的日志流如 Apache,使用了Flume 流水线.

5

Figure 1-4. Flume architecture

通过 Flume, 可以将web服务器产生的不同日志文件移动到HDFS. 牢记我们工作在一个分布式的架构,可能包含有负载均衡器,HTTP servers,应用服务器,访问日志等等 . 我们是一不同的方式充分利用这些资源,使之能够被Flume流水线处理 . 详情参见 flume.apache.org.

Apache Sqoop

Swoop是一个从结构化数据库传说大量数据到HDFS. 使用它,既可以从一个外部的关系型数据库将数据导入到HDFS, Hive, 或者 HBase, 也可以Hadoop 集群导出到一个关系型数据库或者数据仓库.

Sqoop 支持主流的关系型数据库例如Oracle, MySQL, 和Postgres. 这个项目把你从写脚本传输数据中解脱出来;它提供了高性能数据传输的特性.因为关系型数据库中的数据增长迅速, 最好从开始就定义那些快速增长的表,然后使用Sqoop将数据周期性地传输到Hadoop,以便用于分析.

然后,结合Hadoop与其他数据,可以使用Sqoop 导出数据注入到BI 分析工具中. 详情参见 sqoop.apache.org.

处理语言

一旦数据到了HDFS,可以使用不同的处理语言从原始数据得到最好的结果.

Yarn: NextGen MapReduce

MapReduce 是第一代Hadoop集群中的主要处理框架; 它基本上将滑动数据分组(Map) 在一起,然后依赖特殊的聚合操作(Reduce)来聚会数据。在Hadoop 1.0中, 用户们可以使用不同的语言来写 MapReduce jobs—Java, Python,Pig, Hive等等. 无论用户选择了什么语言, 都依赖于相同的处理模型:MapReduce.

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读