CN109240757A - 一种大数据组件集中配置管理系统和方法 - Google Patents
一种大数据组件集中配置管理系统和方法 Download PDFInfo
- Publication number
- CN109240757A CN109240757A CN201810812933.9A CN201810812933A CN109240757A CN 109240757 A CN109240757 A CN 109240757A CN 201810812933 A CN201810812933 A CN 201810812933A CN 109240757 A CN109240757 A CN 109240757A
- Authority
- CN
- China
- Prior art keywords
- component
- configuration
- big data
- data component
- module
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种大数据组件集中配置管理系统和方法。该系统包括实例化模块、版本控制模块和配置分发模块;所述实例化模块,用于根据接收的组件配置参数项和内置的全局组件配置模板生成组件配置实例;所述版本控制模块,用于生成所述组件配置实例的版本号和对应的版本文件;所述配置分发模块,用于将所述组件配置实例分发至位于大数据组件服务器上的组件上,使所述大数据组件服务器上的组件完成线上配置更新并生效。本发明的技术方案可提高大数据系统配置管理的工作效率并降低技术选型成本。
Description
技术领域
本发明涉及大数据技术领域,具体涉及一种大数据组件集中配置管理系统和方法。
背景技术
企业搭建一套大数据系统,需要涉及到非常多的大数据开源组件。按照大数据处理流程,通常分为数据收集部分(常用组件有Sqoop、Flume、Logstash和Kakfa等),数据存储部分(常用组件有HDFS、Ceph、HBase、MongoDB、Cassandra和Neo4j等),数据计算部分(常用组件有Hadoop、Spark和Storm等),资源调度部分(常用组件有Yarn、Mesos和Zookeeper等),数据分析部分(常用组件有Hive、Pig、Impala、Presto、Spark和Kylin等),数据可视化部分(常用组件有Tableau、Zeppelin、Qlikview和PowrerBI等)。
在传统的大数据系统组件配置管理方式中,系统运维人员需要分别登录不同组件所在主机进行更改并发布配置,面对越来越多的大数据组件,这种方式不仅需要消耗运维人员的大量精力,导致效率低下,实时性不足,并且一旦生产环境下的系统组件的配置出现错误,运维人员将很难快速准确地对系统进行恢复,大数据系统可能出现瘫痪的情况,进而造成更严重的后果。
发明内容
针对现有技术的不足,本发明提供一种大数据组件集中配置管理系统和方法。
一方面,本发明提供了一种大数据组件集中配置管理系统,该系统包括实例化模块、版本控制模块和配置分发模块。
所述实例化模块,用于根据接收的组件配置参数项和内置的全局组件配置模板生成组件配置实例。
所述版本控制模块,用于生成所述组件配置实例的版本号和对应的版本文件。
所述配置分发模块,用于将所述组件配置实例分发至位于大数据组件服务器上的组件上,使所述大数据组件服务器上的组件完成线上配置更新并生效。
另一方面,本发明提供了一种大数据组件集中配置管理方法,该方法包括:
步骤1,根据接收的组件配置参数项和内置的全局组件配置模板生成组件配置实例。
步骤2,生成所述组件配置实例的版本号和对应的版本文件。
步骤3,将所述组件配置实例分发至位于大数据组件服务器上的组件上,使所述大数据组件服务器上的组件完成线上配置更新并生效。
本发明提供的大数据组件集中配置管理系统和方法的有益效果是,当需要对大数据系统的一个或多个组件进行配置更新时,可通过例如Web操作界面形式的配置管理控制台编辑不同组件的配置参数项,基于全局组件配置模板生成可适用于全局所有组件的配置实例。一方面,由于多个批次的配置参数项的接收时间或配置对象不同,配置实例将具有不同版本,通过版本控制模块生成并记录配置实例的各个当前或历史版本文件及相应的版本号,在当前组件配置出现故障时,可通过调用相应版本文件的方式迅速恢复系统,避免系统瘫痪等严重后果。另一方面,通过配置分发模块自动将配置实例分发至位于大数据组件服务器上的一个或多个组件上,使相应组件自动完成线上配置更新并生效,避免运维人员分别对不同组件进行配置,大幅提高工作效率,并减少了对于组件配置管理方面的技术选型成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种大数据组件集中配置管理系统的结构框图;
图2为本发明另一实施例的一种大数据组件集中配置管理系统的结构框图;
图3为本发明实施例的一种大数据组件集中配置管理方法的流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明实施例的一种大数据组件集中配置管理系统包括实例化模块、版本控制模块和配置分发模块。
所述实例化模块,用于根据接收的组件配置参数项和内置的全局组件配置模板生成组件配置实例。
所述版本控制模块,用于生成所述组件配置实例的版本号和对应的版本文件。
所述配置分发模块,用于将所述组件配置实例分发至位于大数据组件服务器上的组件上,使所述大数据组件服务器上的组件完成线上配置更新并生效。
在本实施例中,当需要对大数据系统的一个或多个组件进行配置更新时,可通过例如Web操作界面形式的配置管理控制台编辑不同组件的配置参数项,基于全局组件配置模板生成可适用于全局所有组件的配置实例。一方面,由于多个批次的配置参数项的接收时间或配置对象不同,配置实例将具有不同版本,通过版本控制模块生成并记录配置实例的各个当前或历史版本文件及相应的版本号,在当前组件配置出现故障时,可通过调用相应版本文件的方式迅速恢复系统,避免系统瘫痪等严重后果。另一方面,通过配置分发模块自动将配置实例分发至位于大数据组件服务器上的一个或多个组件上,使相应组件自动完成线上配置更新并生效,避免运维人员分别对不同组件进行配置,大幅提高工作效率,并减少了对于组件配置管理方面的技术选型成本。
需要注意的是,配置管理控制台作为一个入口,可实现对组件配置的增、删、改、查等操作。另外,系统管理员可在配置管理控制台上为用户配置不同的操作权限,所有用户的操作记录被记录在控制台内置的数据库中,为系统审计提供支撑。通过统一的Web操作界面入口来管理大数据组件的各种配置,使得大数据系统开发、运维人员无需登录服务器来手动管理各种配置文件,提高了大数据系统开发、运维的效率和正确性。
大数据组件服务器可设置一个代理软件形式的客户端接收配置实例并部署到线上运行的大数据组件中使之生效。令实施例中的大数据组件集中配置管理系统为服务端,也就是用户可通过配置管理控制台对服务端进行设置,由服务端生成配置实例并将其发送至客户端,最终完成配置的部署。一旦客户端接收到服务端分发的新配置实例后,一个组件应用(S)部署新配置的过程实现为:
在不影响当前使用旧配置(C0)的组件配置实例(T0)运行的同时,使用新配置(C1)启动一个新组件配置实例(T1)。
当新组件配置实例(T1)正常启动后,结束使用旧配置的组件配置实例(T0),新组件配置实例(T1)成为该组件当前的线上运行实例,新配置(C1)成为当前的线上配置,客户端将部署成功的结果通知服务端。
当新组件配置实例(T1)无法正常启动时,结束新组件配置实例(T1),客户端将部署失败的结果通知服务端。
其中,应用也可表示为Service,配置也可表示为Configuration,实例也可表示为Task。
优选地,如图2所示,所述系统还包括配置备份模块。所述配置备份模块,用于按照备份策略和执行计划对所述组件配置实例进行备份。
配置备份模块基于文件备份实现,负责将服务端所有的配置实例文件备份到目标服务器。通过该模块,系统管理员可以在操作控制台上配置备份目标服务器地址和备份策略,并检查备份结果。用户可登录配置管理控制台,查看组件配置备份的运行情况和备份配置,并配置备份策略和执行计划并提交,备份服务按照例如以小时计或以天计进行操作的备份策略和执行计划进行。
由于所有大数据组件配置均可由后台系统自动进行备份,更改和版本自动记录在案,增强了大数据系统配置审计、版本管理和诊断等方面的能力。
优选地,所述实例化模块具体用于:采用模板替换的方式,将所述全局组件配置模板中的参数项替换为对应的所述组件配置参数项,获得所述组件配置实例。
实例化模块接收用户在配置管理控制台提交的各组件配置参数项,用户仅需填写少量的配置项,结合服务端内置的全局组件配置模板,采用基于Mustache语法的模板替换的方式,生成各组件的一份配置实例,也就是将模板中的空白或现有参数项替换为相应的组件配置参数项,形成可面向所有组件的一份组件配置实例,或者通过替换模板的参数项生成不同的组件配置实例。其中Mustache是JavaScript语言中模板系统的一种实现方式。
优选地,所述版本控制模块还用于:根据所述版本号调用对应的所述版本文件,并将所述版本文件经由配置分发模块分发至位于所述大数据组件服务器上的组件上。
版本控制模块采用文档控制(Documentation Control)生成并记录该份配置实例的版本号,并基于并发版本系统(CVS,Concurrent Version System)实现记录所有配置实例的当前版本和历史版本。
用户可以在配置管理控制台上查询和对比所有组件配置实例不同版本的变化。在出现例如当前组件配置出现故障时,可首先登录配置管理控制台,通过版本控制模块查看组件配置实例的历史版本,也就是某个时段应用的配置实例,选择某个历史版本并调用配置分发模块将其分发,实现对线上组件配置的切换或回滚,避免大数据系统的瘫痪等问题。
优选地,所述配置分发模块具体用于:基于SSH和多进程技术,并行远程分发不同组件的所述组件配置实例。
配置分发模块负责接收实例化模块生成的一份新组件配置实例并将其分发到线上所有运行的大数据组件配置客户端。配置分发模块基于SSH(Secure Shell)和多进程(Multi-processing)技术实现,通过并行远程方式分发不同组件的配置实例,可大幅提高组件配置分发的效率。
如图3所示,本发明实施例的一种大数据组件集中配置管理方法包括:
步骤1,根据接收的组件配置参数项和内置的全局组件配置模板生成组件配置实例。
步骤2,生成所述组件配置实例的版本号和对应的版本文件。
步骤3,将所述组件配置实例分发至位于大数据组件服务器上的组件上,使所述大数据组件服务器上的组件完成线上配置更新并生效。
优选地,所述方法还包括:
步骤4,按照备份策略和执行计划对所述组件配置实例进行备份。
优选地,所述步骤1的具体实现为:采用模板替换的方式,将所述全局组件配置模板中的参数项替换为对应的所述组件配置参数项,获得所述组件配置实例。
优选地,所述方法还包括:
步骤5,根据所述版本号调用对应的所述版本文件,并将所述版本文件经由配置分发模块分发至位于所述大数据组件服务器上的组件上。
优选地,所述步骤3的具体实现为:基于SSH和多进程技术,并行远程分发不同组件的所述组件配置实例。
本发明实施例还提供一种计算机设备,包括存储器和处理器。
所述存储器,用于存储计算机程序。
所述处理器,用于当读取所述存储器存储的所述计算机程序时,执行上述的大数据组件集中配置管理方法。
本发明实施例还提供一种计算机可读存储介质,用于存储计算机程序,当所述计算机程序被处理器执行时,实现上述的大数据组件集中配置管理方法。
下面结合具体的生产环境,以一个典型的大数据系统为例进行说明。
一个采用Hadoop/Hive/Kafka/MySQL/Oracle等组件搭建的大数据ETL(Extract-Transform-Load)流水线系统。在传统的配置管理方式中,系统运维人员需要分别登录Hadoop/Hive/Kafka/MySQL/Oracle等组件所在的主机更改并发布配置,且系统管理员没有统一的入口管理或备份不同版本的配置。当采用了本配置管理系统后,系统运维人员无需登录各组件主机,所有的更新、发布配置都可经过本系统完成,系统管理员也可集中管理和备份所有版本的组件配置。当系统集成的大数据组件的数量更多时,本系统在安全、效率和系统健壮性方面的效果会更加显著。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种大数据组件集中配置管理系统,其特征在于,所述系统包括实例化模块、版本控制模块和配置分发模块;
所述实例化模块,用于根据接收的组件配置参数项和内置的全局组件配置模板生成组件配置实例;
所述版本控制模块,用于生成所述组件配置实例的版本号和对应的版本文件;
所述配置分发模块,用于将所述组件配置实例分发至位于大数据组件服务器上的组件上,使所述大数据组件服务器上的组件完成线上配置更新并生效。
2.根据权利要求1所述的大数据组件集中配置管理系统,其特征在于,所述系统还包括配置备份模块,
所述配置备份模块,用于按照备份策略和执行计划对所述组件配置实例进行备份。
3.根据权利要求2所述的大数据组件集中配置管理系统,其特征在于,所述实例化模块具体用于:
采用模板替换的方式,将所述全局组件配置模板中的参数项替换为对应的所述组件配置参数项,获得所述组件配置实例。
4.根据权利要求3所述的大数据组件集中配置管理系统,其特征在于,所述版本控制模块还用于:
根据所述版本号调用对应的所述版本文件,并将所述版本文件经由配置分发模块分发至位于所述大数据组件服务器上的组件上。
5.根据权利要求1至4任一项所述的大数据组件集中配置管理系统,其特征在于,所述配置分发模块具体用于:
基于SSH和多进程技术,并行远程分发不同组件的所述组件配置实例。
6.一种大数据组件集中配置管理方法,其特征在于,所述方法包括:
步骤1,根据接收的组件配置参数项和内置的全局组件配置模板生成组件配置实例;
步骤2,生成所述组件配置实例的版本号和对应的版本文件;
步骤3,将所述组件配置实例分发至位于大数据组件服务器上的组件上,使所述大数据组件服务器上的组件完成线上配置更新并生效。
7.根据权利要求6所述的大数据组件集中配置管理方法,其特征在于,所述方法还包括:
步骤4,按照备份策略和执行计划对所述组件配置实例进行备份。
8.根据权利要求7所述的大数据组件集中配置管理方法,其特征在于,所述步骤1的具体实现为:采用模板替换的方式,将所述全局组件配置模板中的参数项替换为对应的所述组件配置参数项,获得所述组件配置实例。
9.根据权利要求8所述的大数据组件集中配置管理方法,其特征在于,所述方法还包括:
步骤5,根据所述版本号调用对应的所述版本文件,并将所述版本文件经由配置分发模块分发至位于所述大数据组件服务器上的组件上。
10.根据权利要求6至9任一项所述的大数据组件集中配置管理方法,其特征在于,所述步骤3的具体实现为:基于SSH和多进程技术,并行远程分发不同组件的所述组件配置实例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810812933.9A CN109240757A (zh) | 2018-07-23 | 2018-07-23 | 一种大数据组件集中配置管理系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810812933.9A CN109240757A (zh) | 2018-07-23 | 2018-07-23 | 一种大数据组件集中配置管理系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109240757A true CN109240757A (zh) | 2019-01-18 |
Family
ID=65072844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810812933.9A Pending CN109240757A (zh) | 2018-07-23 | 2018-07-23 | 一种大数据组件集中配置管理系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240757A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961230A (zh) * | 2019-03-28 | 2019-07-02 | 金瓜子科技发展(北京)有限公司 | 一种指标的配置方法、装置、存储介质及电子设备 |
CN112988130A (zh) * | 2021-02-24 | 2021-06-18 | 恒安嘉新(北京)科技股份公司 | 一种基于大数据的可视化建模方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547700A (zh) * | 2001-08-30 | 2004-11-17 | �Ҵ���˾ | 分发软件所用的集成管理系统和方法 |
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
US20130042239A1 (en) * | 2011-04-15 | 2013-02-14 | Oracle International Corporation | System and method for use of a virtual assembly builder |
CN104317610A (zh) * | 2014-10-11 | 2015-01-28 | 福建新大陆软件工程有限公司 | 一种hadoop平台自动安装部署的方法及装置 |
CN105224351A (zh) * | 2014-06-17 | 2016-01-06 | 中兴通讯股份有限公司 | 快速配置实现方法及快速配置服务器 |
CN105681547A (zh) * | 2015-12-31 | 2016-06-15 | 努比亚技术有限公司 | 中间件实例管理装置和方法 |
CN106610853A (zh) * | 2015-10-26 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
-
2018
- 2018-07-23 CN CN201810812933.9A patent/CN109240757A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547700A (zh) * | 2001-08-30 | 2004-11-17 | �Ҵ���˾ | 分发软件所用的集成管理系统和方法 |
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
US20130042239A1 (en) * | 2011-04-15 | 2013-02-14 | Oracle International Corporation | System and method for use of a virtual assembly builder |
CN105224351A (zh) * | 2014-06-17 | 2016-01-06 | 中兴通讯股份有限公司 | 快速配置实现方法及快速配置服务器 |
CN104317610A (zh) * | 2014-10-11 | 2015-01-28 | 福建新大陆软件工程有限公司 | 一种hadoop平台自动安装部署的方法及装置 |
CN106610853A (zh) * | 2015-10-26 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN105681547A (zh) * | 2015-12-31 | 2016-06-15 | 努比亚技术有限公司 | 中间件实例管理装置和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961230A (zh) * | 2019-03-28 | 2019-07-02 | 金瓜子科技发展(北京)有限公司 | 一种指标的配置方法、装置、存储介质及电子设备 |
CN112988130A (zh) * | 2021-02-24 | 2021-06-18 | 恒安嘉新(北京)科技股份公司 | 一种基于大数据的可视化建模方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110609675B (zh) | 一种工作流建模方法、装置和计算机可读存储介质 | |
CN108768728A (zh) | 运维任务处理方法、装置、计算机设备和存储介质 | |
US20190108266A1 (en) | Unified replication and recovery | |
CN106210124B (zh) | 一种统一的云数据中心监控系统 | |
CN104281906A (zh) | 一种业务流程中的流程引擎实现方法及其流程引擎系统 | |
CN105843182A (zh) | 一种基于oms的电力调度事故预案系统及方法 | |
Ahmad et al. | A framework for architecture-driven migration of legacy systems to cloud-enabled software | |
CN103412768A (zh) | 一种基于脚本程序自动化部署Zookeeper集群的方法 | |
CN103677973A (zh) | 一种分布式多任务调度管理系统 | |
CN107783816A (zh) | 虚拟机的创建方法及装置、大数据集群创建的方法及装置 | |
CN108243012B (zh) | 在线计费系统ocs中计费应用处理系统、方法及装置 | |
WO2019223178A1 (zh) | 跨平台任务调度方法、系统、计算机设备和存储介质 | |
CN107294771A (zh) | 一种适用于大数据集群的高效部署系统以及使用方法 | |
CN111459763A (zh) | 跨kubernetes集群监控系统及方法 | |
CN110569113A (zh) | 分布式任务的调度方法及系统、计算机可读存储介质 | |
Erraissi et al. | Meta-modeling of Zookeeper and MapReduce processing | |
CN115827008B (zh) | 一种基于云原生平台Kubernetes的云原生大数据组件管理系统 | |
DE112020004967T5 (de) | Änderungsverwaltung und analytik für microservices | |
CN109992278A (zh) | 一种基于容器的应用程序发布方法及装置 | |
CN110784347A (zh) | 一种容器集群的节点管理方法、系统、设备及存储介质 | |
CN109240757A (zh) | 一种大数据组件集中配置管理系统和方法 | |
CN111158743B (zh) | 大数据运维管理平台 | |
CN113746676B (zh) | 基于容器集群的网卡管理方法、装置、设备、介质及产品 | |
US11663349B2 (en) | System and method for managing data object creation | |
Bali et al. | Enhancing Efficiency Through Infrastructure Automation: An In-Depth Analysis of Infrastructure as Code (IaC) Tools |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190118 |