System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及互联网,尤其涉及一种ambari节点的配置回滚方法和装置、电子设备和存储介质。
技术介绍
1、apache ambari是一种基于web的工具,支持apache hadoop集群的供应、管理和监控;目前,ambari已支持大多数hadoop组件,包括hdfs、mapreduce、hive、pig、hbase、zookeeper、sqoop和hcatalog等。
2、目前,当ambari进行版本更新之后,无法支持rollback(即,回滚)功能,如果想要实现rollback功能只能自己手动去编写回滚脚本才能实现。
3、然而,回滚脚本编写难度较大;回滚脚本不易维护,长时间容易丢失;回滚脚本不能做到自动识别源版本和目标版本,如果在跨多个版本降级的时候,可能需要执行多个回滚脚本,运维压力较大;不支持rollback会导致功能缺失,变更上线失败后无法进行快速应对。
4、因此,相关技术中对ambari进行版本回滚存在上述技术问题。
技术实现思路
1、本申请提供了一种ambari节点的配置回滚方法和装置、电子设备和存储介质,以至少解决相关技术中存在的至少一个技术问题。
2、根据本申请实施例的一个方面,提供了一种ambari节点的配置回滚方法,包括:
3、获取配置回滚指令,其中,所述配置回滚指令用于对ambari节点的配置信息进行回滚;
4、按照所述配置回滚指令,确定出所述ambari节点的回退前配置版本;按照所述配
5、根据所述目标配置版本以及所述回退前配置版本确定出需要执行的目标降级代码;
6、通过执行所述目标降级代码完成所述ambari节点的配置回滚。
7、可选地,如前述的方法,所述按照配置回滚指令,确定所述ambari节点的回退前配置版本,包括:
8、响应于所述配置回滚指令,按照所述ambari节点的节点标识,在目标数据库中进行查询,确定出所述回退前配置版本。
9、可选地,如前述的方法,所述按照配置回滚指令,确定所述ambari节点的目标配置版本,包括:
10、响应于所述配置回滚指令,在所述ambari节点的目标文件中进行版本信息查询操作,得到当前安装包版本;
11、将所述当前安装包版本确定为所述目标配置版本,其中,所述目标配置版本为待回退版本的安装包安装于所述ambari节点之后,记录于所述目标文件中的版本。
12、可选地,如前述的方法,在获取所述配置回滚指令之前,所述方法还包括:
13、在确定安装有回退前配置版本的安装包的历史ambari节点存在异常的情况下,在所述历史ambari节点中安装所述目标配置版本的安装包,得到所述ambari节点。
14、可选地,如前述的方法,所述根据所述目标配置版本以及所述回退前配置版本确定出需要执行的目标降级代码,包括:
15、确定出所述目标配置版本与所述回退前配置版本之间的版本差异信息;
16、按照所述版本差异信息指示的所述目标配置版本与所述回退前配置版本之间间隔的中间配置版本,确定出所述需要执行的目标降级代码。
17、可选地,如前述的方法,所述按照所述版本差异信息指示的所述目标配置版本与所述回退前配置版本之间间隔的中间配置版本,确定出所述需要执行的目标降级代码,包括:
18、按照所述版本差异信息指示的所述目标配置版本与所述回退前配置版本之间间隔的中间配置版本,确定出所有配置版本组,其中,所述配置版本组包括:降级前配置版本以及降级后配置版本,且位于同一个所述配置版本组的所述降级前配置版本以及降级后配置版本之间相差一个版本级别;
19、确定出与每个配置版本组对应的降级子代码;
20、根据所有降级子代码,确定出所述目标降级代码。
21、可选地,如前述的方法,所述通过执行所述目标降级代码完成所述ambari节点的配置回滚,包括:
22、根据与每个降级子代码对应的降级前配置版本,并按照各个所述降级前配置版本之间由高至低的次序,依次执行所述目标降级代码中包括的所有降级子代码;
23、完成所述ambari节点的配置回滚。
24、根据本申请实施例的另一个方面,还提供了一种ambari节点的配置回滚装置,包括:
25、获取模块,用于获取配置回滚指令,其中,所述配置回滚指令用于对ambari节点的配置信息进行回滚;
26、第一确定模块,用于按照所述配置回滚指令,确定出所述ambari节点的回退前配置版本;
27、第二确定模块,用于按照所述配置回滚指令,确定出所述ambari节点的目标配置版本;
28、代码确定模块,用于根据所述目标配置版本以及所述回退前配置版本确定出需要执行的目标降级代码;
29、回滚模块,用于通过执行所述目标降级代码完成所述ambari节点的配置回滚。
30、根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
31、根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
32、在本申请实施例中,通过配置回滚指令,确定出ambari节点的回退前配置版本以及目标配置版本;并且可以基于回退前配置版本以及目标配置版本确定出用于进行配置回滚的目标降级代码;从而最终只需执行该目标降级代码即可实现对ambari节点的配置回滚;因此,采用上述方法无需编写回滚脚本即可实现对ambari节点的配置回滚,可以极大地简化对ambari节点的配置回滚时的运维操作,并且大大减少了运维操作的命令,避免因为人为失误导致上线失败,产生故障;进而,可以有效避免相关技术中采用手动编写回滚脚本实现ambari节点的配置回滚导致的众多技术问题。
本文档来自技高网...【技术保护点】
1.一种Ambari节点的配置回滚方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述按照配置回滚指令,确定所述Ambari节点的回退前配置版本,包括:
3.根据权利要求1所述的方法,其特征在于,所述按照配置回滚指令,确定所述Ambari节点的目标配置版本,包括:
4.根据权利要求1所述的方法,其特征在于,在所述获取配置回滚指令之前,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标配置版本以及所述回退前配置版本确定出需要执行的目标降级代码,包括:
6.根据权利要求5所述的方法,其特征在于,所述按照所述版本差异信息指示的所述目标配置版本与所述回退前配置版本之间间隔的中间配置版本,确定出所述需要执行的目标降级代码,包括:
7.根据权利要求6所述的方法,其特征在于,所述通过执行所述目标降级代码完成所述Ambari节点的配置回滚,包括:
8.一种Ambari节点的配置回滚装置,其特征在于,包括:
9.一种电子设备,包括处理器、通信接口、存储器和通
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法步骤。
...【技术特征摘要】
1.一种ambari节点的配置回滚方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述按照配置回滚指令,确定所述ambari节点的回退前配置版本,包括:
3.根据权利要求1所述的方法,其特征在于,所述按照配置回滚指令,确定所述ambari节点的目标配置版本,包括:
4.根据权利要求1所述的方法,其特征在于,在所述获取配置回滚指令之前,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标配置版本以及所述回退前配置版本确定出需要执行的目标降级代码,包括:
6.根据权利要求5所述的方法,其特征在于,所述按照所述版本差异信息指示...
【专利技术属性】
技术研发人员:范育萍,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。