架构师训练营第十二周总结

用户头像
邵帅
关注
发布于: 2020 年 09 月 02 日

大数据平台的整体架构



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

基础设施层:

基础设施层由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作业任务;

  • 轮询作业任务是否完成;

  • 如果作业完成发送消息并调用回调函数;

  • 继续执行下一个作业任务。

(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也可以将数据导回到关系型数据库中,以便其他的分析系统进行进一步的数据分析。

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



客户应用层:

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



用户头像

邵帅

关注

还未添加个人签名 2017.10.29 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第十二周总结