CN112241313B - 基于Ambari的Hadoop集群多租户管理服务方法及系统 - Google Patents

基于Ambari的Hadoop集群多租户管理服务方法及系统 Download PDF

Info

Publication number
CN112241313B
CN112241313B CN202011160169.5A CN202011160169A CN112241313B CN 112241313 B CN112241313 B CN 112241313B CN 202011160169 A CN202011160169 A CN 202011160169A CN 112241313 B CN112241313 B CN 112241313B
Authority
CN
China
Prior art keywords
ambari
emr
module
service system
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011160169.5A
Other languages
English (en)
Other versions
CN112241313A (zh
Inventor
李涛
齐光鹏
孙思清
张炜刚
刘牧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202011160169.5A priority Critical patent/CN112241313B/zh
Publication of CN112241313A publication Critical patent/CN112241313A/zh
Application granted granted Critical
Publication of CN112241313B publication Critical patent/CN112241313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于Ambari的Hadoop集群多租户管理服务方法及系统,属于大数据开发技术领域,本发明要解决的技术问题为如何能使不同用户数据彼此隔离,又能实现同一主账户下的不同用户又可共享资源,确保保护用户的数据隐私的同时提高资源使用效率,采用的技术方案为:该方法具体如下:构建Hadoop集群多租户管理系统—EMR服务系统;Ambari集成EMR服务系统:将EMR服务系统与Ambari相结合,将EMR服务系统注册到Ambari中,使EMR服务系统成为Ambari的一个自定义服务,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;Hadoop集群部署:利用Blueprint部署技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署。

Description

基于Ambari的Hadoop集群多租户管理服务方法及系统
技术领域
本发明涉及大数据开发技术领域,具体地说是一种基于Ambari的Hadoop集群多租户管理服务方法及系统。
背景技术
随着现代科技的快速发展,越来越多的智能设备被应用于各行各业,产生海量的数据,这些数据被当成新的生产资料,通过大数据和机器学习技术影响和改变着人类社会。基于大数据场景发展演进而来的Hadoop生态,能够高效的处理海量数据给各行各业带来的各项挑战。因此,Hadoop生态系统已经成为大数据领域的实际标准,被广泛的应用于企业和组织的业务系统之中。
在Hadoop生态中,Ambari是一个Hadoop集群的管理工具,可以实现Hadoop组件的一键式自动化部署和可伸缩的功能扩展,能够实时监控、预警控制Hadoop组件的运行状态,同时还支持Web UI以及自定义服务。目前原生的Apache Hadoop是不支持多租户功能,Hadoop集群的计算与存储资源无法根据不同用户进行分配隔离。随着业务的发展,不同业务部门会在各自独立Hadoop的集群上处理业务数据,这样不但会造成资源浪费,而且会增加集群部署与运维成本。相同业务部门的人员在使用本部门的Hadoop集群时没有权限差异,这样不利于集群数据的安全,会产生一系类的安全隐患。
故如何能使不同用户数据彼此隔离,又能实现同一主账户下的不同用户又可共享资源,确保保护用户的数据隐私的同时提高资源使用效率是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种基于Ambari的Hadoop集群多租户管理服务方法及系统,来解决如何能使不同用户数据彼此隔离,又能实现同一主账户下的不同用户又可共享资源,确保保护用户的数据隐私的同时提高资源使用效率的问题。
本发明的技术任务是按以下方式实现的,一种基于Ambari的Hadoop集群多租户管理服务方法,该方法具体如下:
构建Hadoop集群多租户管理系统—EMR服务系统;
Ambari集成EMR服务系统:将EMR服务系统与Ambari相结合,将EMR服务系统注册到Ambari中,使EMR服务系统成为Ambari的一个自定义服务,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;
Hadoop集群部署:利用Blueprint部署技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署。
作为优选,所述EMR服务系统包括,
用户管理与认证模块(EMR IAM模块),用于采用IAM与keycloak相结合,承担用户管理、用户认证以及主子账号的功能。
前端页面与后端代理模块(EMR Web UI模块),用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面;
请求处理与分发模块(EMR Api模块),用于处理来自Web前端的服务请求与业务数据;请求处理与分发模块(EMR Api模块)使用Spring Boot框架编写;
集群资源分配与操作模块(EMR Service模块),用于集群资源的分配与操作;集群资源分配与操作模块(EMR Service模块)采用Spring Boot框架编写;
数据存储模块(MySQL模块),用于数据的持久化;
集群可视化交互模块(EMR Hue模块),用于实现集群组件的可视化交互;集群可视化交互模块(EMR Hue模块)使用开源的Hue进行二次开发。
更优地,所述用户管理与认证模块(EMR IAM模块)、前端页面与后端代理模块(EMRWeb UI模块)、请求处理与分发模块(EMR Api模块)、集群资源分配与操作模块(EMRService模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(EMR Hue模块)通过Docker技术进行容器化,使用Docker compose实现EMR服务系统的统一管理。
作为优选,Ambari集成EMR服务系统具体如下:
将EMR服务系统所需的Shell脚本、Docker文件以及配置文件存储到预先确定的仓库中;
修改Ambari的源码,利用Ambari的公共接口,在安装EMR服务系统时,通过命令到指定仓库去下载必要的Docker文件、Shell脚本与配置文件到Ambari的本地目录,利用不同命令调用对应的Shell脚本实现EMR服务的安装、启动以及停止;
通过Ambari的service_check接口实时查看EMR服务系统中各个组件对应进程的运行状态,从而实现对整个EMR服务运行状态检测;当EMR服务系统中的任一组件发生故障,在Ambari UI及时地将故障的组件显示出来,便于后续故障的排除;
将EMR服务系统的公共参数配置到Ambari UI中,用户在EMR服务系统安装过程中或是运行过程中,对任一个公共参数进行配置,方便修改服务的配置信息,使得服务更加易用。
作为优选,Hadoop集群部署具体如下:
用户传入集群的名称到Blueprint模板中;
调用Ambari的API使用Blueprint部署技术快速地部署一个具有多租户管理功能的Hadoop集群。
一种基于Ambari的Hadoop集群多租户管理服务系统,该系统包括,
系统构建模块,用于构建Hadoop集群多租户管理系统—EMR服务系统;
集成模块,用于将EMR服务系统与Ambari相结合,将EMR服务注册到Ambari中,使EMR服务系统成为Ambari的一个自定义服务,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;
部署模块,用于利用Blueprint部署技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署。
作为优选,所述EMR服务系统包括,
用户管理与认证模块(EMR IAM模块),用于采用IAM与keycloak相结合,承担用户管理、用户认证以及主子账号的功能。
前端页面与后端代理模块(EMR Web UI模块),用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面;
请求处理与分发模块(EMR Api模块),用于处理来自Web前端的服务请求与业务数据;请求处理与分发模块(EMR Api模块)使用Spring Boot框架编写;
集群资源分配与操作模块(EMR Service模块),用于集群资源的分配与操作;集群资源分配与操作模块(EMR Service模块)采用Spring Boot框架;
数据存储模块(MySQL模块),用于数据的持久化;
集群可视化交互模块(EMR Hue模块),用于实现集群组件的可视化交互;集群可视化交互模块(EMR Hue模块)使用开源的Hue进行二次开发;
利用Docker技术将EMR服务系统中的用户管理与认证模块(EMR IAM模块)、前端页面与后端代理模块(EMR Web UI模块)、请求处理与分发模块(EMR Api模块)、集群资源分配与操作模块(EMR Service模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(EMRHue模块)六个模块容器化,使用Docker compose实现EMR服务系统的统一管理。
作为优选,所述集成模块的工作过程如下:
(1)、将EMR服务系统所需的Shell脚本、Docker文件以及配置文件存储到预先确定的仓库中;
(2)、修改Ambari的源码,利用Ambari的公共接口,在安装EMR服务系统时,通过命令到指定仓库去下载必要的Docker文件、Shell脚本与配置文件到Ambari的本地目录,利用不同命令调用对应的Shell脚本实现EMR服务的安装、启动以及停止;
(3)、通过Ambari的service_check接口实时查看EMR服务系统中各个组件对应进程的运行状态,从而实现对整个EMR服务运行状态检测;当EMR服务系统中的任一组件发生故障,在Ambari UI及时地将故障的组件显示出来,便于后续故障的排除;
(4)、将EMR服务系统的公共参数配置到Ambari UI中,用户在EMR服务系统安装过程中或是运行过程中,对任一个公共参数进行配置,方便修改服务的配置信息,使得服务更加易用。
更优地,所述部署模块的工作过程如下:
(1)、用户传入集群的名称到Blueprint模板中;
(2)、调用Ambari的API使用Blueprint部署技术快速地部署一个具有多租户管理功能的Hadoop集群。
作为优选,该系统的工作过程如下:
(一)、用户通过Ambari UI进入EMR服务系统;
(二)、通过用户管理与认证模块(EMR IAM模块)的控制台创建主账号以及子账号;
(三)、使用主账号登陆到前端页面与后端代理模块(E-MR Web UI模块),为主账号及子账号开通服务,使用主账号创建namespace,并在namespace中选择HDFS、HBase、Hive、YARN及Kafka的服务;
(四)、用户通过namespace,简单快捷地使用Hadoop集群的计算和存储资源,主、子账户的功能不但实现多租户,而且能够很好地满足多人协作、资源共享的业务场景;
(五)、EMR服务系统默认启用Kerberos服务,提供企业级的安全认证功能,能够充分保障业务数据以及集群资源的安全;
(六)、用户通过集群可视化交互模块(E-MR Hue模块)交互式地操作Hadoop集群上安装的各项服务,方便数据分析人员进行数据分析、数据挖掘以及数据可视化的各项工作,同时集群可视化交互模块(E-MR Hue模块)还提供作业笔记在线保存、离线下载以及分享的功能,方便数据分析人员使用和分享业务数据洞察。
本发明的基于Ambari的Hadoop集群多租户管理服务方法及系统具有以下优点:
(一)本发明采用模块化设计,结合Docker技术,利用Ambari自定义服务的功能,开发出能够快速部署的具有多租户管理功能的Hadoop系统,实现了对Hadoop集群资源的高效利用和功能扩展,能满足企业多种业务场景的需求,提高了Hadoop集群操作效率,有效降低企业成本;
(二)本发明核心是Hadoop大数据系统多租户功能的实现,涉及到大数据中的Ambari、Hadoop、Yarn、Spark、Hive、HBase、Ranger、Kerberos、Hue等相关组件与技术,还涉及到Docker、IAM认证以及MySQL数据储存与备份等相关技术;Hadoop集群实现多租户功能,使得不同用户数据彼此隔离,用户根据需要申请集群的存储与计算资源,同一主账户下的不同用户又可共享资源,这样不但能够很好的保护用户的数据隐私,又能够提高集群资源的使用效率,Ambari集成EMR服务系统后,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;
(三)本发明利用Blueprint技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署,实现EMR服务“快速部署,一键启用”,这样既在Hadoop集群上实现了的多租户管理,资源隔离的功能,又使得这种能力可以简单快速的获得;
(四)本发明不仅增加了Hadoop集群的功能性,而且提高了Hadoop集群的易用性以及提高了Hadoop平台的多元性,同时提升了EMR服务部署的高效性,丰富了EMR服务的应用场景,并简化用户操作流程,优化用户体验;
(五)本发明通过修改Ambari源码,添加Ambari自定义的集群多租户管理服务-EMR,实现EMR服务的一键部署、实时监控以及预警控制等功能;
(六)本发明通过EMR Api模块与EMR Service模块实现对Hadoop集群资源管控与用户权限管理、通过EMR IAM模块实现主、子用户管理与认证、通过EMR Web模块提供Hadoop集群资源管控的交互界面以及通过EMR Hue模块实现用户对Hadoop集群的可视化交互,利用Docker技术将EMR服务系统的模块容器化,使用Docker compose进行统一管理。
附图说明
下面结合附图对本发明进一步说明。
附图1为基于Ambari的Hadoop集群多租户管理服务方法的架构图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于Ambari的Hadoop集群多租户管理服务方法及系统作以下详细地说明。
实施例1:
如附图1所示,本发明的基于Ambari的Hadoop集群多租户管理服务方法,该方法具体如下:
S1、构建Hadoop集群多租户管理系统—EMR服务系统;
S2、Ambari集成EMR服务系统:将EMR服务系统与Ambari相结合,将EMR服务系统注册到Ambari中,使EMR服务系统成为Ambari的一个自定义服务,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;
S3、Hadoop集群部署:利用Blueprint部署技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署。
其中,EMR服务系统包括,
用户管理与认证模块(EMR IAM模块),用于采用IAM与keycloak相结合,承担用户管理、用户认证以及主子账号的功能。
前端页面与后端代理模块(EMR Web UI模块),用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面;
请求处理与分发模块(EMR Api模块),用于处理来自Web前端的服务请求与业务数据;请求处理与分发模块(EMR Api模块)使用Spring Boot框架编写;
集群资源分配与操作模块(EMR Service模块),用于集群资源的分配与操作;集群资源分配与操作模块(EMR Service模块)采用Spring Boot框架编写;
数据存储模块(MySQL模块),用于数据的持久化;
集群可视化交互模块(EMR Hue模块),用于实现集群组件的可视化交互;集群可视化交互模块(EMR Hue模块)使用开源的Hue进行二次开发。
本实施例中用户管理与认证模块(EMR IAM模块)、前端页面与后端代理模块(EMRWeb UI模块)、请求处理与分发模块(EMR Api模块)、集群资源分配与操作模块(EMRService模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(EMR Hue模块)通过Docker技术进行容器化,使用Docker compose实现EMR服务系统的统一管理。
本实施例中步骤S2的Ambari集成EMR服务系统具体如下:
S201、将EMR服务系统所需的Shell脚本、Docker文件以及配置文件存储到预先确定的仓库中;
S202、修改Ambari的源码,利用Ambari的公共接口,在安装EMR服务系统时,通过命令到指定仓库去下载必要的Docker文件、Shell脚本与配置文件到Ambari的本地目录,利用不同命令调用对应的Shell脚本实现EMR服务的安装、启动以及停止;
S203、通过Ambari的service_check接口实时查看EMR服务系统中各个组件对应进程的运行状态,从而实现对整个EMR服务运行状态检测;当EMR服务系统中的任一组件发生故障,在Ambari UI及时地将故障的组件显示出来,便于后续故障的排除;
S204、将EMR服务系统的公共参数配置到Ambari UI中,用户在EMR服务系统安装过程中或是运行过程中,对任一个公共参数进行配置,方便修改服务的配置信息,使得服务更加易用。
本实施例中步骤S3的Hadoop集群部署具体如下:
S301、用户传入集群的名称到Blueprint模板中;
S302、调用Ambari的API使用Blueprint部署技术快速地部署一个具有多租户管理功能的Hadoop集群。
实施例2:
本发明的基于Ambari的Hadoop集群多租户管理服务系统,该系统包括,
系统构建模块,用于构建Hadoop集群多租户管理系统—EMR服务系统;
集成模块,用于将EMR服务系统与Ambari相结合,将EMR服务注册到Ambari中,使EMR服务系统成为Ambari的一个自定义服务,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;
部署模块,用于利用Blueprint部署技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署。
其中,EMR服务系统包括,
用户管理与认证模块(EMR IAM模块),用于采用IAM与keycloak相结合,承担用户管理、用户认证以及主子账号的功能。
前端页面与后端代理模块(EMR Web UI模块),用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面;
请求处理与分发模块(EMR Api模块),用于处理来自Web前端的服务请求与业务数据;请求处理与分发模块(EMR Api模块)使用Spring Boot框架编写;
集群资源分配与操作模块(EMR Service模块),用于集群资源的分配与操作;集群资源分配与操作模块(EMR Service模块)采用Spring Boot框架;
数据存储模块(MySQL模块),用于数据的持久化;
集群可视化交互模块(EMR Hue模块),用于实现集群组件的可视化交互;集群可视化交互模块(EMR Hue模块)使用开源的Hue进行二次开发;
本实施例利用Docker技术将EMR服务系统中的用户管理与认证模块(EMR IAM模块)、前端页面与后端代理模块(EMR Web UI模块)、请求处理与分发模块(EMR Api模块)、集群资源分配与操作模块(EMR Service模块)、数据存储模块(MySQL模块)以及集群可视化交互模块(EMR Hue模块)六个模块容器化,使用Docker compose实现EMR服务系统的统一管理。
本实施例中集成模块的工作过程如下:
(1)、将EMR服务系统所需的Shell脚本、Docker文件以及配置文件存储到预先确定的仓库中;
(2)、修改Ambari的源码,利用Ambari的公共接口,在安装EMR服务系统时,通过命令到指定仓库去下载必要的Docker文件、Shell脚本与配置文件到Ambari的本地目录,利用不同命令调用对应的Shell脚本实现EMR服务的安装、启动以及停止;
(3)、通过Ambari的service_check接口实时查看EMR服务系统中各个组件对应进程的运行状态,从而实现对整个EMR服务运行状态检测;当EMR服务系统中的任一组件发生故障,在Ambari UI及时地将故障的组件显示出来,便于后续故障的排除;
(4)、将EMR服务系统的公共参数配置到Ambari UI中,用户在EMR服务系统安装过程中或是运行过程中,对任一个公共参数进行配置,方便修改服务的配置信息,使得服务更加易用。
本实施例中部署模块的工作过程如下:
(1)、用户传入集群的名称到Blueprint模板中;
(2)、调用Ambari的API使用Blueprint部署技术快速地部署一个具有多租户管理功能的Hadoop集群。
该系统的工作过程如下:
(一)、用户通过Ambari UI进入EMR服务系统;
(二)、通过用户管理与认证模块(EMR IAM模块)的控制台创建主账号以及子账号;
(三)、使用主账号登陆到前端页面与后端代理模块(E-MR Web UI模块),为主账号及子账号开通服务,使用主账号创建namespace,并在namespace中选择HDFS、HBase、Hive、YARN及Kafka的服务;
(四)、用户通过namespace,简单快捷地使用Hadoop集群的计算和存储资源,主、子账户的功能不但实现多租户,而且能够很好地满足多人协作、资源共享的业务场景;
(五)、EMR服务系统默认启用Kerberos服务,提供企业级的安全认证功能,能够充分保障业务数据以及集群资源的安全;
(六)、用户通过集群可视化交互模块(E-MR Hue模块)交互式地操作Hadoop集群上安装的各项服务,方便数据分析人员进行数据分析、数据挖掘以及数据可视化的各项工作,同时集群可视化交互模块(E-MR Hue模块)还提供作业笔记在线保存、离线下载以及分享的功能,方便数据分析人员使用和分享业务数据洞察。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (6)

1.一种基于Ambari的Hadoop集群多租户管理服务方法,其特征在于,该方法具体如下:
构建Hadoop集群多租户管理系统—EMR服务系统;EMR服务系统包括,
用户管理与认证模块,用于采用IAM与keycloak相结合,承担用户管理、用户认证以及主子账号的功能;
前端页面与后端代理模块,用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面;
请求处理与分发模块,用于处理来自Web前端的服务请求与业务数据;请求处理与分发模块使用Spring Boot框架编写;
集群资源分配与操作模块,用于集群资源的分配与操作;集群资源分配与操作模块采用Spring Boot框架编写;
数据存储模块,用于数据的持久化;
Ambari UI,用于实现集群组件的可视化交互;Ambari UI使用开源的Hue进行二次开发;
Ambari集成EMR服务系统:将EMR服务系统与Ambari相结合,将EMR服务系统注册到Ambari中,使EMR服务系统成为Ambari的一个自定义服务,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;Ambari集成EMR服务系统具体如下:
将EMR服务系统所需的Shell脚本、Docker文件以及配置文件存储到预先确定的仓库中;
修改Ambari的源码,利用Ambari的公共接口,在安装EMR服务系统时,通过命令到指定仓库去下载EMR服务系统所需的Docker文件、Shell脚本与配置文件到Ambari的本地目录,利用不同命令调用对应的Shell脚本实现EMR服务的安装、启动以及停止;
通过Ambari的service_check接口实时查看EMR服务系统中各个组件对应进程的运行状态,从而实现对整个EMR服务运行状态检测;
将EMR服务系统的公共参数配置到Ambari UI中,用户在EMR服务系统安装过程中或是运行过程中,对任一个公共参数进行配置,方便修改服务的配置信息,使得服务更加易用;
Hadoop集群部署:利用Blueprint部署技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署。
2. 根据权利要求1所述的基于Ambari的Hadoop集群多租户管理服务方法,其特征在于,所述用户管理与认证模块、前端页面与后端代理模块、请求处理与分发模块、集群资源分配与操作模块、数据存储模块以及Ambari UI通过Docker技术进行容器化,使用Dockercompose实现EMR服务系统的统一管理。
3.根据权利要求1所述的基于Ambari的Hadoop集群多租户管理服务方法,其特征在于,Hadoop集群部署具体如下:
用户传入集群的名称到Blueprint模板中;
调用Ambari的API使用Blueprint部署技术快速地部署一个具有多租户管理功能的Hadoop集群。
4.一种基于Ambari的Hadoop集群多租户管理服务系统,其特征在于,该系统包括,
系统构建模块,用于构建Hadoop集群多租户管理系统—EMR服务系统;EMR服务系统包括,
用户管理与认证模块,用于采用IAM与keycloak相结合,承担用户管理、用户认证以及主子账号的功能;
前端页面与后端代理模块,用于使用Nginx服务实现反向代理,并使用Angular框架编写Web前端服务页面;
请求处理与分发模块,用于处理来自Web前端的服务请求与业务数据;请求处理与分发模块使用Spring Boot框架编写;
集群资源分配与操作模块,用于集群资源的分配与操作;集群资源分配与操作模块采用Spring Boot框架;
数据存储模块,用于数据的持久化;
Ambari UI,用于实现集群组件的可视化交互;Ambari UI使用开源的Hue进行二次开发;
利用Docker技术将EMR服务系统中的用户管理与认证模块、前端页面与后端代理模块、请求处理与分发模块、集群资源分配与操作模块、数据存储模块以及Ambari UI六个模块容器化,使用Docker compose实现EMR服务系统的统一管理;
集成模块,用于将EMR服务系统与Ambari相结合,将EMR服务注册到Ambari中,使EMR服务系统成为Ambari的一个自定义服务,能够通过Ambari快速便捷实现Hadoop集群的多租户管理功能;集成模块的工作过程如下:
(1)、将EMR服务系统所需的Shell脚本、Docker文件以及配置文件存储到预先确定的仓库中;
(2)、修改Ambari的源码,利用Ambari的公共接口,在安装EMR服务系统时,通过命令到指定仓库去下载EMR服务系统所需的Docker文件、Shell脚本与配置文件到Ambari的本地目录,利用不同命令调用对应的Shell脚本实现EMR服务的安装、启动以及停止;
(3)、通过Ambari的service_check接口实时查看EMR服务系统中各个组件对应进程的运行状态,从而实现对整个EMR服务运行状态检测;当EMR服务系统中的任一组件发生故障,在Ambari UI及时地将故障的组件显示出来,便于后续故障的排除;
(4)、将EMR服务系统的公共参数配置到Ambari UI中,用户在EMR服务系统安装过程中或是运行过程中,对任一个公共参数进行配置,方便修改服务的配置信息,使得服务更加易用;
部署模块,用于利用Blueprint部署技术使得带有多租户管理功能的Hadoop集群能够快速的进行部署。
5.根据权利要求4所述的基于Ambari的Hadoop集群多租户管理服务系统,其特征在于,所述部署模块的工作过程如下:
(1)、用户传入集群的名称到Blueprint模板中;
(2)、调用Ambari的API使用Blueprint部署技术快速地部署一个具有多租户管理功能的Hadoop集群。
6.根据权利要求4-5中任一所述的基于Ambari的Hadoop集群多租户管理服务系统,其特征在于,该系统的工作过程如下:
(一)、用户通过Ambari UI进入EMR服务系统;
(二)、通过用户管理与认证模块的控制台创建主账号以及子账号;
(三)、使用主账号登陆到前端页面与后端代理模块,为主账号及子账号开通服务,使用主账号创建namespace,并在namespace中选择HDFS、HBase、Hive、YARN及Kafka的服务;
(四)、用户通过namespace,简单快捷地使用Hadoop集群的计算和存储资源;
(五)、EMR服务系统默认启用Kerberos服务,提供企业级的安全认证功能,能够充分保障业务数据以及集群资源的安全;
(六)、用户通过Ambari UI交互式地操作Hadoop集群上安装的各项服务,同时AmbariUI还提供作业笔记在线保存、离线下载以及分享的功能。
CN202011160169.5A 2020-10-27 2020-10-27 基于Ambari的Hadoop集群多租户管理服务方法及系统 Active CN112241313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011160169.5A CN112241313B (zh) 2020-10-27 2020-10-27 基于Ambari的Hadoop集群多租户管理服务方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011160169.5A CN112241313B (zh) 2020-10-27 2020-10-27 基于Ambari的Hadoop集群多租户管理服务方法及系统

Publications (2)

Publication Number Publication Date
CN112241313A CN112241313A (zh) 2021-01-19
CN112241313B true CN112241313B (zh) 2022-04-12

Family

ID=74169855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011160169.5A Active CN112241313B (zh) 2020-10-27 2020-10-27 基于Ambari的Hadoop集群多租户管理服务方法及系统

Country Status (1)

Country Link
CN (1) CN112241313B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301892A (zh) * 2016-08-02 2017-01-04 浪潮电子信息产业股份有限公司 基于Apache Ambari的Hue服务部署及配置和监控办法
CN106961359A (zh) * 2017-05-22 2017-07-18 郑州云海信息技术有限公司 一种Solr服务的自动部署和监控方法及装置
CN108132775A (zh) * 2016-11-30 2018-06-08 新华三技术有限公司 一种租户管理系统及方法
CN109643242A (zh) * 2016-05-23 2019-04-16 摩根大通国家银行 用于多租户hadoop集群的安全设计和架构
CN109803018A (zh) * 2019-01-24 2019-05-24 云南电网有限责任公司信息中心 一种基于Mesos和YARN结合的DCOS云管理平台
CN110209407A (zh) * 2019-06-12 2019-09-06 浪潮软件股份有限公司 一种大数据集群自动化部署系统及方法
CN110519100A (zh) * 2019-09-03 2019-11-29 浪潮云信息技术有限公司 一种多集群管理方法、终端及计算机可读存储介质
CN111259378A (zh) * 2020-01-08 2020-06-09 中国建设银行股份有限公司 多租户管理系统和多租户管理系统的实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392363B2 (en) * 2018-01-11 2022-07-19 Robin Systems, Inc. Implementing application entrypoints with containers of a bundled application

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109643242A (zh) * 2016-05-23 2019-04-16 摩根大通国家银行 用于多租户hadoop集群的安全设计和架构
CN106301892A (zh) * 2016-08-02 2017-01-04 浪潮电子信息产业股份有限公司 基于Apache Ambari的Hue服务部署及配置和监控办法
CN108132775A (zh) * 2016-11-30 2018-06-08 新华三技术有限公司 一种租户管理系统及方法
CN106961359A (zh) * 2017-05-22 2017-07-18 郑州云海信息技术有限公司 一种Solr服务的自动部署和监控方法及装置
CN109803018A (zh) * 2019-01-24 2019-05-24 云南电网有限责任公司信息中心 一种基于Mesos和YARN结合的DCOS云管理平台
CN110209407A (zh) * 2019-06-12 2019-09-06 浪潮软件股份有限公司 一种大数据集群自动化部署系统及方法
CN110519100A (zh) * 2019-09-03 2019-11-29 浪潮云信息技术有限公司 一种多集群管理方法、终端及计算机可读存储介质
CN111259378A (zh) * 2020-01-08 2020-06-09 中国建设银行股份有限公司 多租户管理系统和多租户管理系统的实现方法

Also Published As

Publication number Publication date
CN112241313A (zh) 2021-01-19

Similar Documents

Publication Publication Date Title
CN110752947B (zh) 一种k8s集群部署方法及装置,一种部署平台
CN110389900B (zh) 一种分布式数据库集群测试方法、装置及存储介质
CN107733704B (zh) 一种基于虚拟化和容器技术的勘探开发云的系统和方法
US20140137111A1 (en) Host naming application programming interface
CN102664747B (zh) 一种云计算平台系统
CN105574082A (zh) 基于Storm的流处理方法及系统
CN110995480B (zh) 区块链网络部署方法、装置、电子设备和介质
CN103685568A (zh) 云计算环境下paas平台的平台服务应用部署方法和系统
CN110008005B (zh) 基于云平台的电网通信资源虚拟机迁移系统及方法
CN112199157A (zh) 一种云环境管理方法
CN111984274A (zh) 一种一键自动化部署etcd集群的方法及装置
CN112748983A (zh) 一种基于OpenStack的虚拟私有云系统及其搭建方法
Khalel et al. Enhanced load balancing in kubernetes cluster by minikube
CN102831494A (zh) 调度方法、设备及系统
CN112241313B (zh) 基于Ambari的Hadoop集群多租户管理服务方法及系统
CN112564979B (zh) 构建任务的执行方法、装置、计算机设备和存储介质
CN111581285B (zh) 数据信息的同步方法、装置、电子设备和介质
CN103034545B (zh) 基于ace的通信框架和方法、及功能模块间的通信方法
US20230336407A1 (en) Automated server restoration construct for cellular networks
CN112241312B (zh) 基于Docker的快捷集成式Elastic MapReduce服务系统及实现方法
CN114745377B (zh) 边缘云集群服务系统及实现方法
CN115313642A (zh) 一种面向电力系统场景及配置的托管系统及托管方法
CN114070889A (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN109379383B (zh) 一种虚拟私有网络vpn客户端及实现方法
Lu et al. Research on the technology of power unified cloud management platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant