基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法转让专利

申请号 : CN202011160167.6

文献号 : CN112241312B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李涛肖雪张炜刚刘牧

申请人 : 浪潮云信息技术股份公司

摘要 :

本发明公开了基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法,属于大数据开发领域,本发明要解决的技术问题为如何能够快速部署、服务高度集成、组件随意插拔的EMR服务,满足各项业务场景的需求,并有效的降低成本,采用的技术方案为:该Elastic MapReduce服务系统包括用户管理与认证模块、前端页面与后端代理模块、请求处理与分发模块、集群资源分配与操作模块、数据存储模块以及集群可视化交互模块;用户管理与认证模块用于用户管理、用户认证及创建主子账;前端页面与后端代理模块用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面,使得用户请求处理的更有效率。本发明还公开了一种基于Docker的快捷集成式Elastic MapReduce服务系统的实现方法。

权利要求 :

1.一种基于Docker的快捷集成式Elastic MapReduce服务系统,其特征在于,该Elastic MapReduce服务系统包括,用户管理与认证模块,用于用户管理、用户认证及创建主子账;其中,用户管理与认证模块采用IAM与keycloak相结合;

前端页面与后端代理模块,用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面,使得用户请求处理的更有效率;

请求处理与分发模块,用于接收Web前端的服务请求,在检验的基础上根据请求的具体内容进入相应的处理逻辑,由此产生的业务数据被存储到数据库中;

集群资源分配与操作模块,用于根据请求处理与分发模块发送来的请求进行Hadoop集群资源的分配与操作,并最终将各种操作发送到后端的Hadoop集群去执行;

数据存储模块,用于数据的持久化,支持数据的定期备份;

集群可视化交互模块,用于实现集群组件的可视化交互,既能展示Web前端的各种作业在Hadoop集群中的执行状态,又能通过Hue进行各种状态检查、异常处理以及故障诊断;其中,集群可视化交互模块使用开源的Hue进行二次开发;

Elastic MapReduce服务系统利用Docker技术将用户管理与认证模块、前端页面与后端代理模块、请求处理与分发模块、集群资源分配与操作模块、数据存储模块以及集群可视化交互模块六个模块容器化,并使用Docker compose进行统一管理;该系统的使用过程如下:(1)、用户开通或是独立部署EMR服务;

(2)、通过用户管理与认证模块创建主账号以及子账号;

(3)、使用主账号登陆到前端页面与后端代理模块为主账号及子账号开通服务;

(4)、使用主账号创建namespace,并在namespace中选择HDFS、HBase、Hive、YARN以及Kafka的服务,用户通过namespace能够简单快捷地使用和动态地扩展Hadoop集群的计算和存储资源;

(5)、EMR服务默认启用Kerberos服务,提供企业级的安全认证功能,能够充分保障业务数据以及集群资源的安全;

(6)、用户通过集群可视化交互模块交互式地操作Hadoop集群上安装的各项服务,同时集群可视化交互模块还提供作业笔记在线保存、离线下载以及分享的功能。

2.根据权利要求1所述的基于Docker的快捷集成式Elastic MapReduce服务系统,其特征在于,所述请求处理与分发模块和集群资源分配与操作模块均采用Spring Boot框架编写。

3.一种基于Docker的快捷集成式Elastic MapReduce服务系统的实现方法,其特征在于,该方法是通过Docker技术将Elastic MapReduce服务系统所需的用户管理与认证模块、前端页面与后端代理模块、请求处理与分发模块、集群资源分配与操作模块、数据存储模块以及集群可视化交互模块六个模块,实现Elastic MapReduce服务快速部署与高可用;并通过集成化设计的Elastic MapReduce服务系统实现多个Hadoop集群同时托管以及支持集群的水平扩展的功能;

其中,用户管理与认证模块采用IAM与keycloak相结合,通过用户管理与认证模块实现主子用户管理与认证;用户管理与认证模块用于用户管理、用户认证及创建主子账;其中,用户管理与认证模块采用IAM与keycloak相结合前端页面与后端代理模块用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面,使得用户请求处理的更有效率;

请求处理与分发模块用于接收Web前端的服务请求,在检验的基础上根据请求的具体内容进入相应的处理逻辑,由此产生的业务数据被存储到数据库中;

集群资源分配与操作模块用于根据请求处理与分发模块发送来的请求进行Hadoop集群资源的分配与操作,并最终将各种操作发送到后端的Hadoop集群去执行;

数据存储模块用于数据的持久化,支持数据的定期备份;

集群可视化交互模块使用开源的Hue进行二次开发,实现集群组件的可视化交互,即可以展示Web前端的各种作业在Hadoop集群中的执行状态,又可以通过Hue进行各种状态检查、异常处理以及故障诊断;

Elastic MapReduce服务系统利用Docker技术将用户管理与认证模块、前端页面与后端代理模块、请求处理与分发模块、集群资源分配与操作模块、数据存储模块以及集群可视化交互模块六个模块容器化,并使用Docker compose进行统一管理;该系统的使用过程如下:(1)、用户开通或是独立部署EMR服务;

(2)、通过用户管理与认证模块创建主账号以及子账号;

(3)、使用主账号登陆到前端页面与后端代理模块为主账号及子账号开通服务;

(4)、使用主账号创建namespace,并在namespace中选择HDFS、HBase、Hive、YARN以及Kafka的服务,用户通过namespace能够简单快捷地使用和动态地扩展Hadoop集群的计算和存储资源;

(5)、EMR服务默认启用Kerberos服务,提供企业级的安全认证功能,能够充分保障业务数据以及集群资源的安全;

(6)、用户通过集群可视化交互模块交互式地操作Hadoop集群上安装的各项服务,同时集群可视化交互模块还提供作业笔记在线保存、离线下载以及分享的功能。

4.根据权利要求3所述的基于Docker的快捷集成式Elastic MapReduce服务系统的实现方法,其特征在于,所述请求处理与分发模块和集群资源分配与操作模块均采用Spring Boot框架编写,通过请求处理与分发模块和集群资源分配与操作模块实现对Hadoop集群资源管控与用户权限管理。

说明书 :

基于Docker的快捷集成式Elastic MapReduce服务系统及实

现方法

技术领域

[0001] 本发明涉及大数据开发技术领域,具体地说是一种基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法。

背景技术

[0002] 随着移动互联网的普及,业务数据呈现指数级别的增长。面对多维度、多种类、海量的业务数据,传统的数据管理系统将难以处理,而且不能有效的挖掘业务数据的内在价值。针对大数据场景发展而来的Hadoop生态,能够高效便捷地处理海量数据带来的各项挑战。因此,Hadoop系统也被广泛的应用于企业或组织的业务系统之中。以往,企业在开始使用Hadoop大数据系统前,会根据自身业务场景的特点选购必要的硬件设备,在硬件设备上安装部署所需的Hadoop集群,在Hadoop集群正式投入使用之前还需要根据实际情况对集群进行各种调试。在Hadoop集群部署完毕投入使用之后,还需要持续地投入大量资源来维护集群的正常运转。Elastic MapReduce(E‑MR)服务可以高效地解决这些问题,Elastic MapReduce是一个集成化的集群托管平台,用户在开通服务后,通过UI界面连接并操作远端的Hadoop集群处理相关业务,轻松实现“开箱即用”。用户完全不需要关注硬件选型、环境配置、集群部署、运行维护等环节,可以将资源集中运用于业务开发,既能减少支出又可以提升开发效率。
[0003] 目前主流云厂商均推出各自的Elastic MapReduce(E‑MR)服务,用户通过服务控制台开通E‑MR服务,通过集群CLI使用shell命令行执行各项作业,或者通过Zeppelin或是Hue的Web UI实现对集群各项资源的交互式操作。这个过程中用户需要操作多个Web界面,同时需要修改各项配置,不但会降低数据分析工作者的工作效率,还会造成用户体验不佳等影响。不管是针对原生Zeppelin还是Hue进行服务的各项配置都是一项既复杂有繁琐的工作,普通的数据分析师并不具备相应的经验和技能。通常出于对安全可靠的考虑,有些企业以及政府机构会选择在自建的私有云上运行大数据服务,需要有专业团队进行服务部署和集群运维。故如何能够快速部署、服务高度集成、组件随意插拔的EMR服务,满足各项业务场景的需求,并有效的降低成本是目前亟待解决的问题。

发明内容

[0004] 本发明的技术任务是提供一种基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法,来解决如何能够快速部署、服务高度集成、组件随意插拔的EMR服务,满足各项业务场景的需求,并有效的降低成本的问题。
[0005] 本发明的技术任务是按以下方式实现的,一种基于Docker的快捷集成式Elastic MapReduce服务系统,该Elastic MapReduce服务系统包括,
[0006] 用户管理与认证模块(E‑MR IAM模块),用于用户管理、用户认证及创建主子账;
[0007] 前端页面与后端代理模块(E‑MR Web UI模块),用于使用Nginx服务实现反向代理,不但可以减少资源的占用,同时能够支持高并发场景,并使用Angular框架编写Web前端服务页面,使得用户请求处理的更有效率;
[0008] 请求处理与分发模块(E‑MR Api模块),用于接收Web前端的服务请求,在检验的基础上根据请求的具体内容进入相应的处理逻辑,由此产生的业务数据被存储到数据库中;
[0009] 集群资源分配与操作模块(E‑MR Service模块),用于根据请求处理与分发模块发送来的请求进行Hadoop集群资源的分配与操作,并最终将各种操作发送到后端的Hadoop集群去执行;
[0010] 数据存储模块(MySQL模块),用于数据的持久化,支持数据的定期备份,避免因为各种故障导致用户数据丢失而无法找回的问题;
[0011] 集群可视化交互模块(E‑MR Hue模块),用于实现集群组件的可视化交互,既能展示Web前端的各种作业在Hadoop集群中的执行状态,又能通过Hue进行各种状态检查、异常处理以及故障诊断。
[0012] 作为优选,所述用户管理与认证模块(E‑MR IAM模块)采用IAM与keycloak相结合,可以轻松的保护应用服务而不需要额外的代码。
[0013] 作为优选,所述请求处理与分发模块(E‑MR Api模块)和集群资源分配与操作模块(E‑MR Service模块)均采用Spring Boot框架编写。
[0014] 作为优选,所述集群可视化交互模块(E‑MR Hue模块)使用开源的Hue进行二次开发。
[0015] 作为优选,所述Elastic MapReduce服务系统利用Docker技术将用户管理与认证模块(E‑MR IAM模块)、前端页面与后端代理模块(E‑MR Web UI模块)、请求处理与分发模块(E‑MR Api模块)、集群资源分配与操作模块(E‑MR Service模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(E‑MR Hue模块)六个模块容器化,并使用Docker compose进行统一管理。
[0016] 更优地,该系统的使用过程如下:
[0017] (1)、用户开通或是独立部署EMR服务;
[0018] (2)、通过用户管理与认证模块(E‑MR IAM模块)创建主账号以及子账号;
[0019] (3)、使用主账号登陆到前端页面与后端代理模块(E‑MR Web UI模块)为主账号及子账号开通服务;
[0020] (4)、使用主账号创建namespace,并在namespace中选择HDFS、HBase、Hive、YARN以及Kafka的服务,用户通过namespace能够简单快捷地使用和动态地扩展Hadoop集群的计算和存储资源,而不需要关心如何配置和部署服务所使用的Hadoop集群,主、子账户的功能不但实现多租户,而且能够很好地满足多人协作、资源共享的业务场景;
[0021] (5)、EMR服务默认启用Kerberos服务,提供企业级的安全认证功能,能够充分保障业务数据以及集群资源的安全;
[0022] (6)、用户通过集群可视化交互模块(E‑MR Hue模块)交互式地操作Hadoop集群上安装的各项服务,方便数据分析人员进行数据分析、数据挖掘以及数据可视化的各项工作,同时集群可视化交互模块(E‑MR Hue模块)还提供作业笔记在线保存、离线下载以及分享的功能,方便数据分析人员使用和分享业务数据洞察。
[0023] 一种基于Docker的快捷集成式Elastic MapReduce服务系统的实现方法,该方法是通过Docker技术将Elastic MapReduce服务系统所需的用户管理与认证模块(E‑MR IAM模块)、前端页面与后端代理模块(E‑MR Web UI模块)、请求处理与分发模块(E‑MR Api模块)、集群资源分配与操作模块(E‑MR Service模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(E‑MR Hue模块)六个模块,实现Elastic MapReduce服务快速部署与高可用;并通过集成化设计的Elastic MapReduce服务系统实现多个Hadoop集群同时托管以及支持集群的水平扩展的功能。
[0024] 作为优选,所述请求处理与分发模块(E‑MR Api模块)和集群资源分配与操作模块(E‑MR Service模块)均采用Spring Boot框架编写,通过请求处理与分发模块(E‑MR Api模块)和集群资源分配与操作模块(E‑MR Service模块)实现对Hadoop集群资源管控与用户权限管理。
[0025] 作为优选,所述用户管理与认证模块(E‑MR IAM模块)采用IAM与keycloak相结合,通过用户管理与认证模块(E‑MR IAM模块)实现主、子用户管理与认证。
[0026] 更优地,所述集群可视化交互模块(E‑MR Hue模块)使用开源的Hue进行二次开发,实现集群组件的可视化交互,即可以展示Web前端的各种作业在Hadoop集群中的执行状态,又可以通过Hue进行各种状态检查、异常处理以及故障诊断。
[0027] 本发明的基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法具有以下优点:
[0028] (一)针对Hadoop集群进行托管的Elastic MapReduce(E‑MR)服务,不但能够极大地简化Hadoop集群环境的搭建流程,而且支持集群资源的水平扩展;本发明在此基础上,利用docker技术将E‑MR服务的各个模块容器化,在实现高可用的同时,大大简化服务的部署流程,实现“快速部署,一键启用”;
[0029] (二)本发明利用Docker技术将用户管理与认证模块(E‑MR IAM模块)、前端页面与后端代理模块(E‑MR Web UI模块)、请求处理与分发模块(E‑MR Api模块)、集群资源分配与操作模块(E‑MR Service模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(E‑MR Hue模块)六个模块容器化,使用Docker compose进行统一管理,极大简化的系统各个模块的部署与运维流程,一旦系统某个模块发生故障能够快速的定位问题并进行及时的修复,这样设计不但能实现Elastic MapReduce服务资源共享等各项功能,而且服务能够快速部署和实现高可用,提高服务可用性和稳定性;
[0030] (三)本发明核心是Elastic MapReduce服务系统,涉及到Docker技术,涉及到大数据中的Hadoop、Yarn、Spark、Hive、HBase、ZooKepper、Ranger、Kerberos、Zeppelin、Hue等相关组件与技术,还涉及到Nginx代理、IAM认证以及MySQL数据储存与备份等相关技术,不仅增加了Hadoop集群的功能性,而且提高了Hadoop集群的易用性及Hadoop平台的多元性,同时还提升了Elastic MapReduce服务操作的高效性以及丰富了Elastic MapReduce服务的应用场景,并简化用户操作流程,优化用户体验;
[0031] (四)本发明采用模块化设计,结合Docker技术,开发出能够快速部署Elastic MapReduce服务系统,实现了对Hadoop集群资源的高效利用和动态扩容,又能满足数据挖掘中多种业务场景的需求,提高了Hadoop集群操作效率,有效降低企业成本。

附图说明

[0032] 下面结合附图对本发明进一步说明。
[0033] 附图1为基于Docker的快捷集成式Elastic MapReduce服务系统的结构框图。

具体实施方式

[0034] 参照说明书附图和具体实施例对本发明的基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法作以下详细地说明。
[0035] 实施例1:
[0036] 如附图1所示,本发明的基于Docker的快捷集成式Elastic MapReduce服务系统,该Elastic MapReduce服务系统包括,
[0037] 用户管理与认证模块(E‑MR IAM模块),采用IAM与keycloak相结合,可以轻松的保护应用服务而不需要额外的代码,并且能够承担用户管理、用户认证以及主子账号的功能。
[0038] 前端页面与后端代理模块(E‑MR Web UI模块),用于使用Nginx服务实现反向代理,不但可以减少资源的占用,同时能够支持高并发场景,并使用Angular框架编写Web前端服务页面,使得用户请求处理的更有效率;
[0039] 请求处理与分发模块(E‑MR Api模块),使用Spring Boot框架编写,用于接收Web前端的服务请求,在检验的基础上根据请求的具体内容进入相应的处理逻辑,由此产生的业务数据被存储到数据库中;
[0040] 集群资源分配与操作模块(E‑MR Service模块),采用Spring Boot框架,用于根据请求处理与分发模块发送来的请求进行Hadoop集群资源的分配与操作,并最终将各种操作发送到后端的Hadoop集群去执行;
[0041] 数据存储模块(MySQL模块),用于数据的持久化,支持数据的定期备份,避免因为各种故障导致用户数据丢失而无法找回的问题;
[0042] 集群可视化交互模块(E‑MR Hue模块),使用开源的Hue进行二次开发,用于实现集群组件的可视化交互,既能展示Web前端的各种作业在Hadoop集群中的执行状态,又能通过Hue进行各种状态检查、异常处理以及故障诊断。
[0043] 本实施例中的Elastic MapReduce服务系统利用Docker技术将用户管理与认证模块(E‑MR IAM模块)、前端页面与后端代理模块(E‑MR Web UI模块)、请求处理与分发模块(E‑MR Api模块)、集群资源分配与操作模块(E‑MR Service模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(E‑MR Hue模块)六个模块容器化,并使用Docker compose进行统一管理。
[0044] 该系统的使用过程如下:
[0045] (1)、用户开通或是独立部署EMR服务;
[0046] (2)、通过用户管理与认证模块(E‑MR IAM模块)创建主账号以及子账号;
[0047] (3)、使用主账号登陆到前端页面与后端代理模块(E‑MR Web UI模块)为主账号及子账号开通服务;
[0048] (4)、使用主账号创建namespace,并在namespace中选择HDFS、HBase、Hive、YARN以及Kafka的服务,用户通过namespace能够简单快捷地使用和动态地扩展Hadoop集群的计算和存储资源,而不需要关心如何配置和部署服务所使用的Hadoop集群,主、子账户的功能不但实现多租户,而且能够很好地满足多人协作、资源共享的业务场景;
[0049] (5)、EMR服务默认启用Kerberos服务,提供企业级的安全认证功能,能够充分保障业务数据以及集群资源的安全;
[0050] (6)、用户通过集群可视化交互模块(E‑MR Hue模块)交互式地操作Hadoop集群上安装的各项服务,方便数据分析人员进行数据分析、数据挖掘以及数据可视化的各项工作,同时集群可视化交互模块(E‑MR Hue模块)还提供作业笔记在线保存、离线下载以及分享的功能,方便数据分析人员使用和分享业务数据洞察。
[0051] 实施例2:
[0052] 本发明的基于Docker的快捷集成式Elastic MapReduce服务系统的实现方法,该方法是通过Docker技术将Elastic MapReduce服务系统所需的用户管理与认证模块(E‑MR IAM模块)、前端页面与后端代理模块(E‑MR Web UI模块)、请求处理与分发模块(E‑MR Api模块)、集群资源分配与操作模块(E‑MR Service模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(E‑MR Hue模块)六个模块,实现Elastic MapReduce服务快速部署与高可用;并通过集成化设计的Elastic MapReduce服务系统实现多个Hadoop集群同时托管以及支持集群的水平扩展的功能。
[0053] 其中,请求处理与分发模块(E‑MR Api模块)和集群资源分配与操作模块(E‑MR Service模块)均采用Spring Boot框架编写,通过请求处理与分发模块(E‑MR Api模块)和集群资源分配与操作模块(E‑MR Service模块)实现对Hadoop集群资源管控与用户权限管理。
[0054] 用户管理与认证模块(E‑MR IAM模块)采用IAM与keycloak相结合,通过用户管理与认证模块(E‑MR IAM模块)实现主、子用户管理与认证。
[0055] 集群可视化交互模块(E‑MR Hue模块)使用开源的Hue进行二次开发,实现集群组件的可视化交互,即可以展示Web前端的各种作业在Hadoop集群中的执行状态,又可以通过Hue进行各种状态检查、异常处理以及故障诊断。
[0056] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。