System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据库领域,尤其是涉及一种基于shell脚本的分布式集群配置方法。
技术介绍
1、南大通用大规模分布式并行数据库集群系统,简称:gbase 8a mpp cluster,它是在 gbase 8a 列存储数据库基础上开发的一款 shared nothing 架构的分布式并行数据库集群,具备高性能、高可用、高扩展等特性,可以为各种规模数据管理提供高性价比的通用计算平台,并广泛用于支撑各类数据仓库系统、bi系统和决策支持系统;
2、目前,在对8a集群进行只读参数修改时存在以下问题:
3、修改8a只读参数时,需要逐个节点找到需要修改的进程的配置文件并手工修改,当集群规模较大且节点数量较多时,此操作工作量大,并且容易混淆,一旦发现配置问题,需要再次检查、确认并恢复参数,过程复杂且耗时,同时修改后的8a只读参数必须通过重启8a集群的所有节点服务才能生效,在未搭建分布式集群管理工具的情况下,需要手动到每个节点上执行重启,效率低下,且如果对8a配置文件的修改有误,可能导致集群服务无法正常重启,恢复操作也需逐台进行,异常处理时间较长。
技术实现思路
1、有鉴于此,本专利技术旨在提出一种基于shell脚本的分布式集群配置方法,以至少解决
技术介绍
中的一个问题。
2、为达到上述目的,本专利技术的技术方案是这样实现的:
3、一种基于shell脚本的分布式集群配置方法,包括:
4、通过脚本工具截取集群的架构信息和服务分布信息,并将截取的
5、根据集群架构信息判断其为存算一体版本或存算分离版本:若为存算一体版本,针对计算集群的操作下发至所有计算节点,若为存算分离版本,针对计算集群的操作仅下发至第一个计算节点;
6、对目标配置文件进行备份,备份文件存储于指定路径;
7、接收包含操作类型的指令,所述操作类型包括set、restart和rollback,根据指令确定参数修改目标;
8、在修改参数前后,对参数状态进行记录并输出。
9、进一步的,当操作类型为set时,根据输入参数确定修改目标集群的节点类型,在目标配置文件中对指定参数值进行修改或追加,所述脚本工具采用sed命令和awk命令定位进程标签范围。
10、进一步的,当操作类型为restart时,所述脚本工具获取gcluster和gnode服务节点ip信息,将主机名与ip地址存储至关联数组,向目标集群节点发送重启命令。
11、进一步的,当操作类型为rollback时,所述脚本工具从备份文件中恢复配置文件内容,使用diff命令对比文件差异并输出回滚结果。
12、进一步的,所述根据指令确定参数修改目标包括:当接收到三个参数且第一个参数为set时,根据第二个参数确定目标集群:
13、参数为c时,修改gcluster集群的配置文件;
14、参数为n时,修改gnode集群的配置文件;
15、参数为cn时,修改gcluster和gnode集群的配置文件;
16、参数为pr时,修改环境变量配置文件;
17、第三参数格式为“参数名=参数值”,若包含多个参数则多个参数以“;”分隔;
18、遍历目标配置文件中与参数名匹配的内容,并根据以下规则执行:
19、若匹配行数大于1,则逐行删除重复项,直至仅保留一行,并更新参数值;
20、若匹配行数为0,则在目标配置文件的相应进程标签下追加该参数;
21、修改完成后,再次检索并记录参数修改后的状态。
22、进一步的,当接收到的第一个参数为restart时,脚本工具通过以下步骤执行集群服务的重启:
23、获取所有gcluster和gnode服务节点的ip信息;
24、将每台服务器的主机名与其ip地址存储到关联数组中,以避免在gnode多ip部署场景中重复下发命令;
25、根据第二个参数确定重启目标:
26、参数为c时,仅重启gcluster集群;
27、参数为n时,仅重启gnode集群;
28、参数为cn时,同时重启gcluster和gnode集群;
29、遍历关联数组中的ip地址,逐一向对应服务器发送重启命令。
30、进一步的,脚本工具在执行回滚操作时,采用以下步骤:
31、接收第一个参数为rollback,第二个参数为目标集群类型;
32、根据目标集群类型,从备份文件中恢复对应配置文件内容;
33、利用diff命令对比当前配置文件与备份文件的差异,将回滚内容输出到屏幕。
34、进一步的,本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行一种基于shell脚本的分布式集群配置方法。
35、进一步的,本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现一种基于shell脚本的分布式集群配置方法。
36、相对于现有技术,本专利技术所述的一种基于shell脚本的分布式集群配置方法具有以下有益效果:
37、本专利技术所述的一种基于shell脚本的分布式集群配置方法,通过脚本工具实现对8a集群参数的便捷修改、集群服务的高效重启以及配置文件的快速恢复,通过脚本工具,可以通过一条指令修改所有集群节点对应服务的配置文件,实时反馈参数状态,支持通过一条指令重启集群中除gcware相关服务外的所有集群进程,自动返回执行信息,提供配置文件备份与回滚功能,当对修改结果不满意时,可快速恢复至修改前的状态。
本文档来自技高网...【技术保护点】
1.一种基于SHELL脚本的分布式集群配置方法,其特征在于,包括:
2.根据权利要求1所述的一种基于SHELL脚本的分布式集群配置方法,其特征在于:当操作类型为set时,根据输入参数确定修改目标集群的节点类型,在目标配置文件中对指定参数值进行修改或追加,所述脚本工具采用sed命令和awk命令定位进程标签范围。
3.根据权利要求1所述的一种基于SHELL脚本的分布式集群配置方法,其特征在于:当操作类型为restart时,所述脚本工具获取gcluster和gnode服务节点IP信息,将主机名与IP地址存储至关联数组,向目标集群节点发送重启命令。
4.根据权利要求1所述的一种基于SHELL脚本的分布式集群配置方法,其特征在于:当操作类型为rollback时,所述脚本工具从备份文件中恢复配置文件内容,使用diff命令对比文件差异并输出回滚结果。
5.根据权利要求2所述的一种基于SHELL脚本的分布式集群配置方法,其特征在于,所述根据指令确定参数修改目标包括:当接收到三个参数且第一个参数为set时,根据第二个参数确定目标集群:
6
7.根据权利要求4所述的一种基于SHELL脚本的分布式集群配置方法,其特征在于:脚本工具在执行回滚操作时,采用以下步骤:
8.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的一种基于SHELL脚本的分布式集群配置方法。
9.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述的一种基于SHELL脚本的分布式集群配置方法。
...【技术特征摘要】
1.一种基于shell脚本的分布式集群配置方法,其特征在于,包括:
2.根据权利要求1所述的一种基于shell脚本的分布式集群配置方法,其特征在于:当操作类型为set时,根据输入参数确定修改目标集群的节点类型,在目标配置文件中对指定参数值进行修改或追加,所述脚本工具采用sed命令和awk命令定位进程标签范围。
3.根据权利要求1所述的一种基于shell脚本的分布式集群配置方法,其特征在于:当操作类型为restart时,所述脚本工具获取gcluster和gnode服务节点ip信息,将主机名与ip地址存储至关联数组,向目标集群节点发送重启命令。
4.根据权利要求1所述的一种基于shell脚本的分布式集群配置方法,其特征在于:当操作类型为rollback时,所述脚本工具从备份文件中恢复配置文件内容,使用diff命令对比文件差异并输出回滚结果。
5.根据权利要求2所述的一种基于shell脚本的分布式集群配置方法,其...
【专利技术属性】
技术研发人员:秦绪升,何志强,
申请(专利权)人:天津南大通用数据技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。