CN113448947B - 一种mongo数据库分布式部署运维的方法和装置 - Google Patents
一种mongo数据库分布式部署运维的方法和装置 Download PDFInfo
- Publication number
- CN113448947B CN113448947B CN202110780249.9A CN202110780249A CN113448947B CN 113448947 B CN113448947 B CN 113448947B CN 202110780249 A CN202110780249 A CN 202110780249A CN 113448947 B CN113448947 B CN 113448947B
- Authority
- CN
- China
- Prior art keywords
- configuration information
- node
- cluster
- role
- maintenance
- 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
Links
- 241001178520 Stomatepia mongo Species 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012423 maintenance Methods 0.000 title claims abstract description 60
- 238000009434 installation Methods 0.000 claims abstract description 43
- 238000004891 communication Methods 0.000 claims abstract description 28
- 238000012544 monitoring process Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000005856 abnormality Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000011900 installation process Methods 0.000 claims description 7
- 238000013135 deep learning Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 claims 1
- 238000010276 construction Methods 0.000 abstract description 5
- 238000012790 confirmation Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/20—Administration of product repair or maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Mathematical Physics (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及数据库领域,特别是涉及一种mongo数据库分布式部署运维的方法和装置。包括:根据用户历史使用数据,获取节点的配置信息;确认配置信息中每个节点的配置信息,将每个节点的服务安装至相应设备上;根据每个节点的角色,分别进行各角色集群的搭建;对集群中的每个角色集群进行监控,确认各角色集群间和角色集群内部运行正常。本发明能够自动完成mongo数据库分布式部署时的配置信息设置、分发安装、角色集群搭建和配置时的异常处理,并在运维过程中统一对数据库中的角色集群的通信情况和性能进行监控和告警,减少了运维人员的人工处理操作量,提供了一种自动化、智能化的mongo数据库分布式部署运维的方法。
Description
【技术领域】
本发明涉及数据库领域,特别是涉及一种mongo数据库分布式部署运维的方法和装置。
【背景技术】
随着WEB网管和增值应用在工程上的应用日益成熟,mongo数据库部署的规模越来越大,网络中每天都会产生海量数据,动辄就达到TB级别,规模带来的压力已超出集中式mongo数据库的处理能力,性能远远达不到客户的要求。如果通过不断的增加cpu核数、大容量内存、磁盘容量,集中式数据库性能的提升终究是有限,而且成本这一块也是极大的开销。因此,在需要进行数据库容量扩展时,通常会选用分布式部署的方式,通过增加mongo分片集群节点,提升数据库的扩展能力。
但是,目前针对mongo数据库分布式部署和运维,一般都需要运维人员手工操作。同时,已有的mongo数据库分布式部署方式较为复杂,不支持部署信息、数据库状态信息的统一管理,无法简化开发人员的部署维护过程,部署过程中的问题经常遇到疑难问题,不同的开发人员处理问题的经验也不同,处理部署过程中的疑难问题未提供统一的处理方法,无法降低部署过程中的时间成本。
鉴于此,如何克服现有技术所存在的缺陷,解决现有mongo数据库人工部署运维造成的部署效率低、运营成本高,以及无法对分布式mongo数据库统一管理和监控的现象,是本技术领域待解决的问题。
【发明内容】
针对现有技术的以上缺陷或改进需求,本发明解决了现有mongo数据库分布式部署运维时手工部署效率低且无法统一进行运维管理的问题。
本发明实施例采用如下技术方案:
第一方面,本发明提供了一种mongo数据库分布式部署运维的方法,具体为:根据用户历史使用数据,获取节点的配置信息;确认配置信息中每个节点的配置信息,将每个节点的服务安装至相应设备上;根据每个节点的角色,分别进行各角色集群的搭建;对集群中的每个角色集群进行监控,确认各角色集群间和角色集群内部运行正常。
优选的,获取节点的配置信息,具体包括:记录用户历史配置数据,根据历史配置数据中的用户偏好获取推荐的配置信息。
优选的,确认配置信息中每个节点的配置信息,具体包括:对配置信息中的角色划分、ip信息、集群分配和磁盘占用等配置信息中的一项或多项进行确认;若出现配置问题,对配置信息自动修改,和/或提供多个方案供用户选择。
优选的,将每个节点的服务安装至相应设备上,具体包括:根据配置信息中的ip信息,将每个节点对应的服务安装包拷贝至相应设备上;根据用户需求,筛选性能最优的配置信息;根据最优的配置信息,完成服务安装包的安装配置。
优选的,进行各角色集群的搭建,具体包括:根据配置信息中的集群名称,获取每个集群的主从节点信息;依次远程登录各集群主节点所在的设备,根据各节点的角色服务进行相应配置;将配置后的节点根据角色服务分别整合为相应的集群。
优选的,对集群中的每个角色集群进行监控,具体包括:监控各集群之间的通信以及集群内各节点之间的通信是否正常;若出现通信异常,根据通信链路由故障点推测故障源头,按照相应的预设处理方案对故障进行处理。
优选的,对集群中的每个角色集群进行监控,还包括:周期性获取mongo性能指标进行性能分析,根据性能分析结果对下一次部署的推荐配置信息进行调整。
优选的,对集群中的每个角色集群进行监控,还包括:根据历史通信数据或历史性能指标,对性能指标进行预测;若预测性能指标即将达到预设性能阈值或超过预设性能阈值,对配置信息进行调整。
优选的,还包括:以可视化的形式向用户呈现各节点安装过程、各集群搭建过程、通信监控数据和性能监控数据中的一项或多项,并在节点安装、集群搭建、通信指标和/或性能指标出现异常时进行告警。
另一方面,本发明提供了一种mongo数据库分布式部署运维的装置,具体为:包括至少一个处理器和存储器,至少一个处理器和存储器之间通过数据总线连接,存储器存储能被至少一个处理器执行的指令,指令在被处理器执行后,用于完成第一方面中的mongo数据库分布式部署运维的方法。
与现有技术相比,本发明实施例的有益效果在于:自动完成mongo数据库分布式部署时的配置信息设置、分发安装、角色集群搭建和配置时的异常处理,并在运维过程中统一对数据库中的角色集群的通信情况和性能进行监控和告警,减少了运维人员的人工处理操作量,提供了一种自动化、智能化的mongo数据库分布式部署运维的方法。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种mongo数据库分布式部署运维的方法流程图;
图2为本发明实施例提供的另一种mongo数据库分布式部署运维的方法流程图;
图3为本发明实施例提供的另一种mongo数据库分布式部署运维的方法流程图;
图4为本发明实施例提供的另一种mongo数据库分布式部署运维的方法流程图;
图5为本发明实施例提供的另一种mongo数据库分布式部署运维的方法流程图;
图6为本发明实施例提供的mongo数据库分布式部署运维的方法搭建的集群结构示意图;
图7为本发明实施例提供的一种mongo数据库分布式部署运维的装置结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明是一种特定功能***的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
实施例1:
为了便于mongo数据库的扩展和运维,需要在mongo数据库的安装部署过程中在安装和运维过程中对分布式节点的配置信息、安装部署结果和运行情况进行统一的检验、解析和监控,并及时有效的获取异常信息向用户进行告警或预警通知。
具体的,如图1所示,本发明实施例提供的mongo数据库分布式部署运维的方法具体步骤如下:
步骤101:根据用户历史使用数据,获取节点的配置信息。
分布式mongo数据库中的节点分为配置服务节点、路由节点和数据节点三种角色。在进行mongo数据库扩展时,需要根据每个节点的角色分别进行安装配置,再将相同角色的节点搭建为角色集群。进行节点安装配置时,首先需要的需要将节点信息整理成相应的配置信息,并自动将相应的配置推荐给用户。具体的,在数据库前期的运维过程中,自动收集用户搜索的关键词以及浏览信息,并自动整理mongo分片相关节点的配置信息,记录用户历史配置数据,收集并筛选用户的偏好。进行扩展时,依据用户提供的数据量规模,根据历史配置数据中的用户偏好获取推荐的配置信息,用户可以直接根据需要选择一套完整的配置信息使用。并记录用户的选择,以便后续进行配置类型的自动变更。通过记录用户配置信息、筛选用户偏好、进行配置信息推荐,可以使运维人员不需要对每个节点的每个配置项目进行逐一手工配置,减小了配置信息输入的工作量,也避免了手工操作时的误填或误选,或因运维人员经验不足或配置习惯不同等原因导致的配置参数非最优或配置冲突。
步骤102:确认配置信息中每个节点的配置信息,将每个节点的服务安装至相应设备上。
对每个节点进行安装部署时,首先需要为各节点分配需要使用的硬件资源,如占用的端口、磁盘、内存资源的占用空间等。分配完毕后,还需要对配置信息进行解析和确认,以避免出现端口冲突、资源占用过大、分片集群过大、角色缺少等分配不合理的情况,如果发现了不合理的配置信息,还需要将有问题的配置项呈现给用户。具体的,如图2示,可以使用以下步骤完成信息确认和异常告警。
步骤201:对配置信息中的角色划分、ip信息、集群分配和磁盘占用等配置信息中的一项或多项进行确认。
在具体实施时,可以使用如图3示的流程对配置信息中的各项依次进行确认。在具体实施中,需确认的问题包括:端口冲突、资源占用过大、分片集群过大、角色缺少等。
步骤301:解析服务角色信息,判断角色划分是否正确。
步骤302:解析ip信息对应的端口是否能够访问,端口是否有冲突。
步骤303:解析集群分配是否合理。
步骤304:解析服务器内存占用和磁盘使用空间是否合理。
通过步骤301-步骤304,可以完成配置信息的解析确认,还可以根据需要增加其它项目的确认。具体的,可以通过阈值对比、与标准模板对比、冲突检测等方式确认每个配置信息是否合理或是否存在冲突。
步骤202:若出现配置问题,对配置信息自动修改,和/或提供多个方案供用户选择。
在步骤201的解析确认过程中,若出现配置问题或冲突,还需要将解析过程中有问题的配置项展示给用户进行确认,并修改为正确的配置信息。具体实施中,为了使修改过程自动化,可以根据配置问题的具体情况采用不同的自动修改方式。当配置错误较为简单的情况下,根据用户选择偏好,通过大数据分析进行用户选择偏好收集,根据用户的历史选择、预测选择或默认配置参数对配置信息进行自动修改。例如,内存占用空间超过占用阈值,可以自动修改为占用阈值允许的最大值,或自动修改为小于占用阈值的历史占用值;当出现多个配置问题或出现不同配置项之间存在冲突的情况下,根据用户偏好或默认配置信息,提供多个修改方案供用户选择,根据用户选择自动整体修改,用户不需要对多个错误或冲突逐一修改。
通过步骤201-步骤202,可以完成对配置信息的确认和修改,确保后续的安装部署过程,及后续使用中不会因配置错误导致运行错误、异常或冲突。
对配置信息进行确认后,即可根据配置信息将每个节点的服务安装至相应设备上。具体的,如图4示,可以使用以下步骤完成每个节点的安装和部署。
步骤401:根据配置信息中的ip信息,将每个节点对应的服务安装包拷贝至相应设备上。
mongo数据库的分布式部署中,各节点分布式设置在不同的设备上,并通过网络进行连接。在进行安装时,首先需要根据配置信息中各个节点的ip配置,按照每个节点对应设备的操作***,执行相应的远程拷贝命令,将安装包通过网络拷贝至各个需要部署mongo服务节点的设备上。将服务安装包拷贝至各个设备上,以备后续通过安装包进行安装。其中,不同角色对应的节点会使用相应服务的安装包,每个节点对应的安装包中包含了该节点对应的配置信息。为了确保拷贝过程正确,避免因参数错误、网络传输或数据拷贝错误导致拷贝未完成或拷贝错误,还需要将相应的拷贝过程进行回滚,并将异常信息进行解析,将拷贝过程中出现的错误或异常信息展示给用户进行确认,在用户确认问题后,同样可以自动修改配置或者自动进行异常处理,不需用户进行手动更改。
步骤402:根据用户需求,筛选性能最优的配置信息。
对不同角色的节点进行安装配置时,为了确保各节点性能最优,还可以根据不同节点的角色特性和设备属性对配置信息进行筛选,为每个节点选择最优的配置信息。具体的:(1)在安装配置服务节点时,根据用户提供的安全性规模和要求,优先推荐较优的配置服务器相关配置,最大化提升配置服务器的数据安全性和非易失性。(2)在安装路由服务节点时,根据用户提供的并发性要求,优先推荐较优的配置服务器相关配置,最大化提升路由服务的并发能力。(3)在安装数据服务节点时,根据用户提供的数据规模,优先推荐较优相关配置,最大化提升数据服务的读写性能。
步骤403:根据最优的配置信息,完成服务安装包的安装配置。
为每个节点选择了合适的最优配置信息后,即可按照配置信息,运行安装包进行自动安装,完成每个节点的服务加载和部署。具体的,在各节点的安装包都远程拷贝完成后,依次远程登录上各节点对应的主机。具体的,首先需要根据配置信息确认该节点上的安装包对应的服务是路由节点、配置服务器节点还是数据节点。然后,根据节点的角色不同,执行对应角色的mongo安装命令进行服务的安装。例如:路由服务是mongos命令,配置服务器为mongod-cofigsrv命令,数据节点为mongod命令。在安装的过程中,如果发生了异常,将异常信息进行解析并把异常原因呈现给用户进行处理。进一步的,安装完成后,还可以收集用户使用的相关配置,进行推荐集群规模的相应调整,分析用户的偏好,结合节假日、部署区域、数据规模、性能要求等指标,后续推出更符合用户偏好的配置。
通过步骤401-步骤403,即可完成每个节点的相应服务安装,并实现了最优的性能配置,为后续集群搭建提供了基础。
步骤103:根据每个节点的角色,分别进行各角色集群的搭建。
为了便于对所有节点进行统一管理,还需要将不同的角色的节点分别搭建为集群,针对不同角色,mongo路由节点搭建路由集群、服务器节点搭建服务器集群、数据节点搭建数据服务集群。每个节点相应的角色服务安装完成后,读取集群信息中各个角色服务的集群信息,将服务器节点、路由节点、数据节点分别整合成相应的集群。
如图5示,可以通过以下步骤进行各角色集群的搭建。
步骤501:根据配置信息中的集群名称,获取每个集群的主从节点信息。
根据用户提供的主机规模和性能要求,进行集群部署的推荐,确认各个角色节点(路由、配置服务器、数据节点)需要搭建成集群的信息,根据集群配置中的主、从、裁判节点进行集群的搭建。
步骤502:依次远程登录各集群主节点所在的设备,根据各节点的角色服务进行相应配置。
在mongo数据库中,每个集群的主节点作为本集群的主控单元,管理本集群中的从节点。获取到每个集群的主从节点信息后,在主节点运行相应的配置脚本,即可完成相应集群的搭建和配置。本实施例中,需要依次登录服务器集群主节点、路由集群主节点、数据节点集群主节点,依次分别执行完成相应的配置脚本完成搭建配置。步骤503:将配置后的节点根据角色服务分别整合为相应的集群。
完成各节点的配置后,即可根据角色特性,依次完成不同角色集群的搭建。首先处理配置服务器集群,根据配置文件中配置服务器主、从、裁判节点的信息,执行配置服务集群mongo命令,将已安装的配置服务器节点搭建成集群模式,保证高可用。再处理路由集群,同样读取相应配置,执行路由集群mongo命令,进行路由集群的搭建。最后将mongo数据节点搭建成mongo数据节点集群。
通过步骤501-步骤503,可以将不同角色的节点搭建为如图6示的集群,保证各个角色服务的高可用。
步骤104:对集群中的每个角色集群进行监控,确认各角色集群间和角色集群内部运行正常。
各个角色集群搭建完成后,分布式mongo数据库即可开始正常运行使用。为了确保运行正常,便于运维人员及时获取***运行情况,在开始运行时,还需要同时开启角色集群监控任务,监控各个集群的通信状况和性能。
在数据库运行时,通常需要对通信状况和性能指标进行监控。以下简单提供通信状况和性能指标监控的具体方式,在具体实施中,可以参考类似的方式对其它需要监控的指标进行监控。
(1)通信监控:监控各集群之间的通信以及集群内各节点之间的通信是否正常。若出现通信异常,根据通信链路由故障点推测故障源头,按照相应的预设处理方案对故障进行处理。在本实施例的优选方案中,当有故障产生时,优先根据调用链算法,从故障点推测出故障源头,并自动进行故障的处理。如果处理失败,将通知人工介入,进行故障恢复。
(2)性能监控:周期性获取mongo性能指标进行性能分析,根据性能分析结果对配置信息进行调整。具体实施中,可以开启周期性的监控任务,默认为30min,也可以根据实际需要设置其它监控周期。每个周期内的监控任务中调用mongo性能查询命令获取数据库实例的运行状态、数据库使用状态等。例如,使用db.serverStatus()命令主要获取inserts/s每秒***次数、query/s每秒查询次数、update/s每秒更新次数、当前全部队列量、当前全部客户端连接量、当前活动连接量等关键指标;使用db.stats()命令主要获取表数量、对象数量、对象大小、索引大小、索引数量、文件大小等关键指标。获取性能指标后,还需要对性能进行分析,将分析后的数据以图形或表格的方式呈现给用户,并根据相关状态自动调整相关指标,保证性能的稳定。还可以将相应指标值和其对应的阈值进行对比,接近预设性能阈值时,会进行预警操作。在本实施例中,当达到预设性能阈值的90%时进行预警,实际使用时,预警值的比例由实际运行需要决定。
进一步的,为了提高数据库运行的稳定性,还可以根据历史通信数据或历史性能指标,对性能指标进行预测。具体的,可以使用回归分析的方式建立回归模型进行预测,或使用深度学习的方式建立预测模型进行预测。若预测性能指标即将达到预设性能阈值或超过预设性能阈值,对配置信息进行调整,在性能指数达到阈值之前实现提前预警和调整,避免出现性能瓶颈影响数据库使用效率。
通过步骤101-步骤104,能够自动完成mongo数据库分布式部署、安装和运维监控,尽可能减少了运维人员安装部署和日常运维时的手工操作,提高了部署和运维的效率。
进一步的,在上述过程中,所有的步骤都能够以可视化的形式向用户呈现安装过程和监控数据,并在通信和性能指标异常时进行告警。
在步骤101-步骤104中,可以通过相关命令对每个节点或集群的安装和运行状态进行监控和性能进行分析,并将关键指标进行图形化或者表格化的方式呈现给用户。例如,在步骤102中,将各个节点绘制在界面中进行展示,各个服务安装成功前均为红色,安装成功后,各个服务安装成绿色,同时实时显示每个正在进行安装的节点当前安装进度;在步骤103中,将不同的角色进行区分显示,每个搭建好的集群使用同样的图示或颜色进行表示;在步骤104中,对出现通信异常或性能指数异常的节点或通信链路突出显示。通过可视化显示,能够将所有服务的整体安装进度和运行状况全部呈现在界面通过绘图显示,方便用户跟踪进度和问题。
另一方面,在当安装和运维过程中出现错误或异常时,或运维过程中预测会出现性能异常时,需要对用户进行告警。具体的,可以根据运维需要和告警级别使用界面呈现、短信通知、app通知、邮件发送等方式进行告警,也可以根据需要使用其它告警方式或同时使用多种告警方式结合。例如,在某个关键节点设备掉线时,监控界面上红色告警灯亮,蜂鸣器发出报警声,并向远端监控中心发出告警信息,以提醒运维人员及时进行处理,避免故障影响数据库的运行。
通过上述可视化显示和告警,可以将整个自动安装过程和运行情况展示给运维人员,帮助运维人员掌握安装部署的整体状况,避免自动运行中出现错误而导致无法正常安装或运行,并使运维人员能够及时对数据库的故障和性能不足等状况进行处理。
进一步的,在设备安装和集群搭建时,为了便于能够更精准的进行配置信息推荐、配置信息确认和故障处理,在具体实施中,还可以建立云仓库,将每组配置信息和其对应的性能指数,以及每种故障对应的处理方式上传云仓库进行存储,在需要进行配置参数推荐、配置参数修改和故障处理时,以云仓库中的数据作为模板进行选择和处理。具体的,可以保存大量用户使用的配置信息,从中筛选中使用人数最多的一组配置信息作为推荐配置信息;或,保存相同场景下多组配置信息,根据数据库运行时的性能指数,根据用户的使用场景,选择相应场景下性能指数最佳的一组配置信息;或,保存同一场景下多组配置信息,根据数据库运行时的性能指数,根据用户选择的性能指数关注项,选择关注项的性能指数最优的配置信息。另一方面,将每次人工处理故障的故障数据和故障处理方案存储至云仓库,当出现配置错误、故障或异常时,对当前配置数据或故障数据收集存储并上传,与云仓库中的故障数据进行数据对比,查出错误或故障原因后反馈给客户,并将云仓库中整理的故障类型和故障处理方案推荐给客户,或根据客户的设置自动进行处理。通过云仓库的方式,可以进一步的优化配置参数推荐和故障处理过程,提升配置参数推荐和确认的精准度,帮助运维人员更好的对数据库进行配置和维护。
进一步的,还可以通过深度学习的方式提升配置信息推荐和故障预测的精度和预测度。具体的,可以根据现有的配置信息和性能指数,对不同配置参数下的性能进行性能模拟,并以自学习的方式获取不同场景下性能最优化的配置信息参数组合或针对不同需求的配置信息参数组合,以供运维人员选择使用,减少运维人员的配置时间或测试验证的时间。或,可以定期的对性能数据进行预测模型的训练,根据用户的偏好,结合节假日、部署区域、数据规模、性能要求视故障情况通过人工智能计算时间等信息,训练出符合用户需求的预测模型,定期的对各个指标的性能值进行预测,当预测值即将达到阈值或超过阈值后,提前通知用户进行性能预警的防护。
本实施例提供的mongo数据库分布式部署运维方式,能够统一管理mongo分布式数据库服务的安装过程,分析服务安装过程中的异常问题,给排查异常提供了有效的解决方案,大量的减少了人工运维人员的操作量。同时,也能监控mongo数据库分布式部署后的性能指标,周期性的通过图形化界面反馈给运维人员,并可以通过性能预警通知,将程序异常通知到运维人员,降低了数据库达到性能阈值长时间无人感知导致重大问题的风险。
实施例2:
在上述实施例1提供的mongo数据库分布式部署运维的方法的基础上,本发明还提供了一种可用于实现上述方法的mongo数据库分布式部署运维的装置,如图7示,是本发明实施例的装置架构示意图。本实施例的mongo数据库分布式部署运维的装置包括一个或多个处理器11以及存储器12。其中,图7以一个处理器11为例。
处理器11和存储器12可以通过总线或者其他方式连接,图7以通过总线连接为例。
存储器12作为一种mongo数据库分布式部署运维的法非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1中的mongo数据库分布式部署运维方法。处理器11通过运行存储在存储器12中的非易失性软件程序、指令以及模块,从而执行mongo数据库分布式部署运维的装置的各种功能应用以及数据处理,即实现实施例1的mongo数据库分布式部署运维的方法。
存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器12可选包括相对于处理器11远程设置的存储器,这些远程存储器可以通过网络连接至处理器11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
程序指令/模块存储在存储器12中,当被一个或者多个处理器11执行时,执行上述实施例1中的mongo数据库分布式部署运维的方法,例如,执行以上描述的图1-图5示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为:ROM)、随机存取存储器(Random AccessMemory,简写为:RAM)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种mongo数据库分布式部署运维的方法,其特征在于,包括:
根据用户历史使用数据分析用户偏好,根据用户偏好、节假日、部署区域、数据规模、性能要求中的一项或多项指标获取配置信息;
建立所有用户共用的云仓库,将不同指标相应的配置信息,和/或,不同故障数据相应的故障处理方法上传至云仓库中;
将配置信息通过云仓库中的第三方配置信息和/或通过深度学习的方式进行评估,根据评估结果获取节点和/或集群的配置信息,并将配置信息推荐给用户,以便于用户根据推荐的配置信息选择实际使用的配置信息用于安装;
确认实际使用的配置信息中每个节点的配置信息,并根据云仓库中的第三方配置信息和/或通过深度学习的方式,对配置信息使用后的运行状态进行验证,在出现配置冲突时自动生成整体修改方案,再根据确认后的配置信息自动执行对应角色的mongo安装命令,将每个节点的服务安装至相应设备上;
根据每个节点的角色,分别进行各角色集群的搭建;
对集群中的每个角色集群进行监控,确认各角色集群间和角色集群内部运行正常;
当角色集群运行不正常时,根据云仓库中预存的故障数据或深度学习的分析结果向用户反馈故障处理方式;和/或,当配置的指标变化时,根据云仓库中的第三方配置信息或深度学习的分析结果评估当前配置信息是否适用,在配置信息不适用时为用于推荐相应的配置信息。
2.根据权利要求1所述的mongo数据库分布式部署运维的方法,其特征在于,所述获取节点和/或集群的配置信息,具体包括:
记录用户历史配置数据,根据历史配置数据中的用户偏好获取推荐的配置信息。
3.根据权利要求2所述的mongo数据库分布式部署运维的方法,其特征在于,所述确认实际使用的配置信息中每个节点的配置信息,具体包括:
对配置信息中的角色划分、ip信息、集群分配和磁盘占用等配置信息中的一项或多项进行确认;
若出现配置问题,对配置信息自动修改,和/或提供多个方案供用户选择。
4.根据权利要求1所述的mongo数据库分布式部署运维的方法,其特征在于,所述将每个节点的服务安装至相应设备上,具体包括:
根据配置信息中的ip信息,将每个节点对应的服务安装包拷贝至相应设备上;
根据用户需求,筛选性能最优的配置信息;
根据最优的配置信息,完成服务安装包的安装配置。
5.根据权利要求4所述的mongo数据库分布式部署运维的方法,其特征在于,所述进行各角色集群的搭建,具体包括:
根据配置信息中的集群名称,获取每个集群的主从节点信息;
依次远程登录各集群主节点所在的设备,根据各节点的角色服务进行相应配置;
将配置后的节点根据角色服务分别整合为相应的集群。
6.根据权利要求1所述的mongo数据库分布式部署运维的方法,其特征在于,所述对集群中的每个角色集群进行监控,具体包括:
监控各集群之间的通信以及集群内各节点之间的通信是否正常;
若出现通信异常,根据通信链路由故障点推测故障源头,按照相应的预设处理方案对故障进行处理。
7.根据权利要求1所述的mongo数据库分布式部署运维的方法,其特征在于,所述对集群中的每个角色集群进行监控,还包括:
周期性获取mongo性能指标进行性能分析,根据性能分析结果对下一次部署的推荐配置信息进行调整。
8.根据权利要求7所述的mongo数据库分布式部署运维的方法,其特征在于,所述对集群中的每个角色集群进行监控,还包括:
根据历史通信数据或历史性能指标,对性能指标进行预测;
若预测性能指标即将达到预设性能阈值或超过预设性能阈值,对配置信息进行调整。
9.根据权利要求1所述的mongo数据库分布式部署运维的方法,其特征在于,还包括:
以可视化的形式向用户呈现各节点安装过程、各集群搭建过程、通信监控数据和性能监控数据中的一项或多项,并在节点安装、集群搭建、通信指标和/或性能指标出现异常时进行告警。
10.一种mongo数据库分布式部署运维的装置,其特征在于:
包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储能被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成权利要求1-9中任一项所述的mongo数据库分布式部署运维的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110780249.9A CN113448947B (zh) | 2021-07-09 | 2021-07-09 | 一种mongo数据库分布式部署运维的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110780249.9A CN113448947B (zh) | 2021-07-09 | 2021-07-09 | 一种mongo数据库分布式部署运维的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448947A CN113448947A (zh) | 2021-09-28 |
CN113448947B true CN113448947B (zh) | 2023-10-27 |
Family
ID=77815813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110780249.9A Active CN113448947B (zh) | 2021-07-09 | 2021-07-09 | 一种mongo数据库分布式部署运维的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448947B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499304B (zh) * | 2022-07-29 | 2024-03-08 | 天翼云科技有限公司 | 一种分布式存储的自动化部署方法、装置、设备及产品 |
CN115396437B (zh) * | 2022-08-24 | 2023-06-13 | 中电金信软件有限公司 | 一种集群搭建方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337765A (zh) * | 2015-10-10 | 2016-02-17 | 上海新炬网络信息技术有限公司 | 一种分布式hadoop集群故障自动诊断修复*** |
CN106101213A (zh) * | 2016-06-08 | 2016-11-09 | 四川新环佳科技发展有限公司 | 信息分布式存储方法 |
CN109379425A (zh) * | 2018-10-16 | 2019-02-22 | 浪潮软件集团有限公司 | 一种分布式集群部署管理方法和装置 |
CN110377295A (zh) * | 2019-07-26 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种管理平台部署方法、装置及设备 |
CN110784546A (zh) * | 2019-10-31 | 2020-02-11 | 浙江大华技术股份有限公司 | 分布式集群的部署方法、服务器以及存储装置 |
-
2021
- 2021-07-09 CN CN202110780249.9A patent/CN113448947B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337765A (zh) * | 2015-10-10 | 2016-02-17 | 上海新炬网络信息技术有限公司 | 一种分布式hadoop集群故障自动诊断修复*** |
CN106101213A (zh) * | 2016-06-08 | 2016-11-09 | 四川新环佳科技发展有限公司 | 信息分布式存储方法 |
CN109379425A (zh) * | 2018-10-16 | 2019-02-22 | 浪潮软件集团有限公司 | 一种分布式集群部署管理方法和装置 |
CN110377295A (zh) * | 2019-07-26 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种管理平台部署方法、装置及设备 |
CN110784546A (zh) * | 2019-10-31 | 2020-02-11 | 浙江大华技术股份有限公司 | 分布式集群的部署方法、服务器以及存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113448947A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11614943B2 (en) | Determining problem dependencies in application dependency discovery, reporting, and management tool | |
US11556459B2 (en) | Intelligent services for application dependency discovery, reporting, and management tool | |
US11379292B2 (en) | Baseline modeling for application dependency discovery, reporting, and management tool | |
US11663055B2 (en) | Dependency analyzer in application dependency discovery, reporting, and management tool | |
US11620211B2 (en) | Discovery crawler for application dependency discovery, reporting, and management tool | |
US9900226B2 (en) | System for managing a remote data processing system | |
CN110794800B (zh) | 一种智慧工厂信息管理的监控*** | |
US11650909B2 (en) | Intelligent services and training agent for application dependency discovery, reporting, and management tool | |
CN113448947B (zh) | 一种mongo数据库分布式部署运维的方法和装置 | |
CN108322345A (zh) | 一种故障修复数据包的发布方法及服务器 | |
US11675692B2 (en) | Testing agent for application dependency discovery, reporting, and management tool | |
CN110134518A (zh) | 一种提高大数据集群多节点应用高可用性的方法及*** | |
WO2020063550A1 (zh) | 策略决策方法及装置、***、存储介质、策略决策单元及集群 | |
CN114745409A (zh) | 一种智慧物联网设备远程控制方法 | |
CN114726708A (zh) | 一种基于人工智能的网元设备故障预测方法及*** | |
WO2020264319A1 (en) | Determining problem dependencies in application dependency discovery, reporting, and management tool | |
CN113824801B (zh) | 一种智能融合终端统一接入管理组件*** | |
CN116149954A (zh) | 一种服务器智能运维***及其方法 | |
CN115550164A (zh) | 一种一键安装、管理单节点大数据组件的方法及*** | |
CN105550094A (zh) | 一种高可用***状态自动监控方法 | |
WO2024066346A1 (zh) | 一种告警处理方法、装置、存储介质及电子装置 | |
CN112433740B (zh) | 一种集群离线升级的方法、***、设备及介质 | |
CN117767566A (zh) | 一种电力调度主站集群***关键设备自动建模***和方法 | |
CN117745030A (zh) | 一种基于itss的车路协同设备运维方法 | |
CN116578412A (zh) | 机器学习集群算力资源运维方法、***、设备及存储介质 |
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 |