大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星。我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰。

大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星。我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰。好像一夜之间我们就从互联网时代跳跃进了大数据时代!关于到底什么是大数据,说真的,到目前为止就和云计算一样,让我总觉得像是在看电影《云图》——云里雾里的感觉。或许那些正在向你推销大数据产品的公司会对您描绘一幅乌托邦似的美丽画面,但是您至少要保持清醒的头脑,认真仔细的慎问一下自己,我们公司真的需要大数据吗?

做为一家第三方支付公司,数据的确是公司最最重要的核心资产。由于公司成立不久,随着业务的迅速发展,交易数据呈几何级增加,随之而来的是系统的不堪重负。业务部门、领导、甚至是集团老总整天嚷嚷的要报表、要分析、要提升竞争力。而研发部门能做的唯一事情就是执行一条一条复杂到自己都难以想象的SQL语句,紧接着系统开始罢工,内存溢出,宕机........简直就是噩梦。OMG!please release me!!!

其实数据部门的压力可以说是常人难以想象的,为了把所有离散的数据汇总成有价值的报告,可能会需要几个星期的时间或是更长。这显然和业务部门要求的快速响应理念是格格不入的。俗话说,工欲善其事,必先利其器。我们也该鸟枪换炮了......。

网上有一大堆文章描述着大数据的种种好处,也有一大群人不厌其烦的说着自己对大数据的种种体验,不过我想问一句,到底有多少人多少组织真的在做大数据?实际的效果又如何?真的给公司带来价值了?是否可以将价值量化?关于这些问题,好像没看到有多少评论会涉及,可能是大数据太新了(其实底层的概念并非新事物,老酒装新瓶罢了),以至于人们还沉浸在各种美妙的YY中。

做为一名严谨的技术人员,在经过短暂盲目的崇拜之后,应该快速的进入落地应用的研究中,这也是踩着“云彩”的架构师和骑着自行车的架构师的本质区别。说了一些牢骚话,当做发泄也好,博眼球也好,总之,我想表达的其实很简单:不要被新事物所迷惑,也不要盲目的崇拜任何一样新事物,更不要人云亦云,这是我们做研究的人绝对要不得。

说了很多也是时候进入正题了。公司高层决定,正式在集团范围内实施大数据平台(还特地邀请了一些社区的高手,很期待.......),做为第三方支付公司实施大数据平台也无可厚非,因此也积极的参与到这个项目中来。正好之前关于OSGi的企业级框架的研究也告一段落,所以想利用CSDN这个平台将这次大数据平台实施过程记录下来。我想一定能为其它有类似想法的个人或公司提供很好的参考资料!

第一记,大数据平台的整体架构设计

1. 软件架构设计

大数据平台架构设计沿袭了分层设计的思想,将平台所需提供的服务按照功能划分成不同的模块层次,每一模块层次只与上层或下层的模块层次进行交互(通过层次边界的接口),避免跨层的交互,这种设计的好处是:各功能模块的内部是高内聚的,而模块与模块之间是松耦合的。这种架构有利于实现平台的高可靠性,高扩展性以及易维护性。比如,当我们需要扩容Hadoop集群时,只需要在基础设施层添加一台新的Hadoop节点服务器即可,而对其他模块层无需做任何的变动,且对用户也是完全透明的。

整个大数据平台按其职能划分为五个模块层次,从下到上依次为:

运行环境层:

运行环境层为基础设施层提供运行时环境,它由2部分构成,即操作系统和运行时环境。

(1)操作系统我们推荐安装REHL5.0以上版本(64位)。此外为了提高磁盘的IO吞吐量,避免安装RAID驱动,而是将分布式文件系统的数据目录分布在不同的磁盘分区上,以此提高磁盘的IO性能。

(2)运行时环境的具体要求如下表:

名称版本说明

JDK1.6或以上版本Hadoop需要Java运行时环境,必须安装JDK。

gcc/g++3.x或以上版本当使用Hadoop Pipes运行MapReduce任务时,需要gcc编译器,可选。

python2.x或以上版本当使用Hadoop Streaming运行MapReduce任务时,需要python运行时,可选。

基础设施层:

基础设施层由2部分组成:Zookeeper集群和Hadoop集群。它为基础平台层提供基础设施服务,比如命名服务、分布式文件系统、MapReduce等。

(1)ZooKeeper集群用于命名映射,做为Hadoop集群的命名服务器,基础平台层的任务调度控制台可以通过命名服务器访问Hadoop集群中的NameNode,同时具备failover的功能。

(2)Hadoop集群是大数据平台的核心,是基础平台层的基础设施。它提供了HDFS、MapReduce、JobTracker和TaskTracker等服务。目前我们采用双主节点模式,以此避免Hadoop集群的单点故障问题。

基础平台层:

基础平台层由3个部分组成:任务调度控制台、HBase和Hive。它为用户网关层提供基础服务调用接口。

(1)任务调度控制台是MapReduce任务的调度中心,分配各种任务执行的顺序和优先级。用户通过调度控制台提交作业任务,并通过用户网关层的Hadoop客户端返回其任务执行的结果。其具体执行步骤如下:

任务调度控制台接收到用户提交的作业后,匹配其调度算法;
请求ZooKeeper返回可用的Hadoop集群的JobTracker节点地址;
提交MapReduce作业任务;
轮询作业任务是否完成;
如果作业完成发送消息并调用回调函数;
继续执行下一个作业任务。

作为一个完善的Hadoop集群实现,任务调度控制台尽量自己开发实现,这样灵活性和控制力会更加的强。

(2)HBase是基于Hadoop的列数据库,为用户提供基于表的数据访问服务。

(3)Hive是在Hadoop上的一个查询服务,用户通过用户网关层的Hive客户端提交类SQL的查询请求,并通过客户端的UI查看返回的查询结果,该接口可提供数据部门准即时的数据查询统计服务。

用户网关层:

用户网关层用于为终端客户提供个性化的调用接口以及用户的身份认证,是用户唯一可见的大数据平台操作入口。终端用户只有通过用户网关层提供的接口才可以与大数据平台进行交互。目前网关层提供了3个个性化调用接口:

(1)Hadoop客户端是用户提交MapReduce作业的入口,并可从其UI界面查看返回的处理结果。

(2)Hive客户端是用户提交HQL查询服务的入口,并可从其UI界面查看查询结果。

(3)Sqoop是关系型数据库与HBase或Hive交互数据的接口。可以将关系型数据库中的数据按照要求导入到HBase或Hive中,以提供用户可通过HQL进行查询。同时HBase或Hive或HDFS也可以将数据导回到关系型数据库中,以便其他的分析系统进行进一步的数据分析。

用户网关层可以根据实际的需求无限的扩展,以满足不同用户的需求。

客户应用层:

客户应用层是各种不同的终端应用程序,可以包括:各种关系型数据库,报表,交易行为分析,对账单,清结算等。

目前我能想到的可以落地到大数据平台的应用有:

1.行为分析:将交易数据从关系型数据库导入到Hadoop集群中,然后根据数据挖掘算法编写MapReduce作业任务并提交到JobTracker中进行分布式计算,然后将其计算结果放入Hive中。终端用户通过Hive客户端提交HQL查询统计分析的结果。

2.对账单:将交易数据从关系型数据库导入到Hadoop集群,然后根据业务规则编写MapReduce作业任务并提交到JobTracker中进行分布式计算,终端用户通过Hadoop客户端提取对账单结果文件(Hadoop本身也是一个分布式文件系统,具备通常的文件存取能力)。

3.清结算:将银联文件导入HDFS中,然后将之前从关系型数据库中导入的POSP交易数据进行MapReduce计算(即对账操作),然后将计算结果连接到另外一个MapReduce作业中进行费率及分润的计算(即结算操作),最后将计算结果导回到关系型数据库中由用户触发商户划款(即划款操作)。

部署架构设计

关键点说明:

1.目前整个Hadoop集群均放置在银联机房中。

2.Hadoop集群中有2个Master节点和5个Slave节点,2个Master节点互为备份通过ZooKeeper可实现failover功能。每个Master节点共享所有的Slave节点,保证分布式文件系统的备份存在于所有的DataNode节点之中。Hadoop集群中的所有主机必须使用同一网段并放置在同一机架上,以此保证集群的IO性能。

3.ZooKeeper集群至少配置2台主机,以避免命名服务的单节点故障。通过ZooKeeper我们可以不再需要F5做负载均衡,直接由任务调度控制台通过ZK实现Hadoop名称节点的负载均衡访问。

4.所有服务器之间必须配置为无密钥SSH访问。

5.外部或内部用户均需要通过网关才能访问Hadoop集群,网关在经过一些身份认证之后才能提供服务,以此保证Hadoop集群的访问安全。

转载于:https://my.oschina.net/u/3981088/blog/2250251

【大数据干货】基于Hadoop的大数据平台实施——整体架构设计相关推荐

  1. 基于Hadoop的大数据平台实施——整体架构设计

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃 ...

  2. 基于Hadoop的大数据平台实施架构的规划

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃 ...

  3. 基于Hadoop的大数据平台实施

    大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃 ...

  4. 基于Hadoop的大数据平台实施记——整体架构设计[转]

    http://blog.csdn.net/jacktan/article/details/9200979 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底 ...

  5. 基于Hadoop的大数据平台的整体架构介绍

    原文地址:点击打开链接 Hadoop是开源的分布式存储+分布式计算平台的框架 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的组织,至少在互 ...

  6. Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 (大数据技术丛书) - 电子书下载(高清版PDF格式+EPUB格式)...

    Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 (大数据技术丛书)-董西成著 在线阅读                   百度网盘下载(ihhy) 书名:Hadoop技术内幕:深 ...

  7. 大数据实时处理-基于Spark的大数据实时处理及应用技术培训

    随着互联网.移动互联网和物联网的发展,我们已经切实地迎来了一个大数据 的时代.大 数据是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合,对大数据的分析已经成为一个非常重要且紧迫 ...

  8. 【赵强老师】大数据平台的整体架构

    先看视频. [赵强老师]大数据平台的整体架构 大数据平台中的主要组件,如下: HDFS(Hadoop分布式文件系统) 源自于Google的GFS论文,发表于2003年10月,HDFS是GFS的山寨版. ...

  9. 大数据平台的整体架构由哪些组成

    大数据平台将互联网使用和大数据产品整合起来,将实时数据和离线数据打通,使数据能够实现更大规模的相关核算,挖掘出数据更大的价值,然后实现数据驱动事务.那么,大数据平台的整体架构由哪些组成呢? 一.事务使 ...

  10. 【LSTM时间序列数据】基于matlab LSTM时间序列数据预测【含Matlab源码 1949期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[LSTM时间序列数据]基于matlab LSTM时间序列数据预测[含Matlab源码 1949期] 获取代码方式2: 付费专栏Matla ...

最新文章

  1. 芝大教授: 博士培养正沦为“庞氏骗局”
  2. View的生命周期方法和Activity生命周期方法关系
  3. git clone 失败解决方法 --depth 1
  4. 两款简易计算器纯js版附源码下载
  5. 深入使用XMemcached
  6. 详解Nagios配置文件的逻辑关系
  7. Supermap 组合单值专题图与标签专题图演示样例
  8. 2684亿销售额背后的阿里AI技术
  9. 触发器使用教程和命名规范
  10. Linux 套接字编程中的 5 个隐患
  11. jmeter-Java关于MD5加密方法 以及16位32位互转
  12. elf文件格式_Android so(ELF) 文件解析
  13. 系统集成项目管理工程师(软考中级)知识点总结【挣值分析】【关键路径】
  14. StyTr^2:Image Style Transfer with Transformers
  15. 人大金仓数据库迁移步骤
  16. HTK安装实录(Ubuntu18.04)
  17. 如何写出好文案,不妨看看这篇(上)
  18. Python---按字典序输出集合的所有非空子集
  19. SAP那些事-职业篇-7-顾问的“忽悠”时代结束了?
  20. GDUT 排位赛2.19 E

热门文章

  1. MATLAB中常用的基本数学函数和三角函数
  2. delphi 发送html邮件,Delphi下html编辑器,像foxmail或者Outlook的邮件编辑器一样 能够保存为单一文件如 mht,eml (200分)...
  3. java applet下载_java applet
  4. GDI 总结三: CImage类使用
  5. 计算机专用英语词汇1695个词汇表
  6. ESP32 开发笔记(三)源码示例 12_IR_Rev_RMT 使用RMT实现红外遥控接收解码(NEC编码)
  7. kindeditor 文件上传 java_富文本编辑器kindeditor上传图片的配置方法
  8. html5游戏开发教程实战:五子棋、四子棋、围棋、翻转棋四种对弈游戏,仅仅100行代码 ...
  9. Microsoft store下载速度缓慢
  10. C#实现QQ自动登录器实现原理