首页 > 其他分享 >KingbaseES V8R6集群部署案例之---openEuler系统脚本部署故障

KingbaseES V8R6集群部署案例之---openEuler系统脚本部署故障

时间:2023-09-18 16:26:38浏览次数:44  
标签:脚本 V8R6 部署 ping --- vip openEuler 172.31

案例说明:
在openEuler系统下通过脚本方式部署KingbaseES V8R6集群,脚本执行过程中,加载vip失败。本次故障问题,主要是因为openEuler系统shell和脚本的不兼容引起。

适用版本:
KingbaseES V8R6

系统环境:
openEuler-22.03-LTS

一、问题现象
通过脚本方式部署KingbaseES V8R6集群,脚本执行过程,提示“ vip无法加载”。

二、问题分析

1、查看install.conf配置(vip相关配置)

[kingbase@node101 ~]$ cat install.conf |grep -v ^#|grep -v ^$
[install]
on_bmj=0
all_ip=(172.31.*.27 172.31.*.28 172.31.*.29)
.....
virtual_ip="172.31.*.121/24"
net_device=(ens33 ens33 ens33)
net_device_ip=(172.31.*.27 172.31.*.28 172.31.*.29)
ipaddr_path="/usr/sbin"
arping_path="/home/kingbase/cluster/kingbase/bin"
ping_path="/usr/bin"
.......

如上所示,和vip相关的配置正确。

2、查看故障日志
如下图所示,在测试vip地址是否已被占用(ping)测试,返回的变量值为空。

3、分析部署脚本'vip Cannot use'的原因
如下图所示,脚本通过ping vip和当前主机是否已经加载vip来判断vip地址是否被占用,当ping返回的结果非0,而且vip已经被加载,将提示 ’vip Cannot use‘错误。

4、执行ping测试

1)CentOS系统测试
如下图所示,对ip地址执行ping测试,可ping通地址返回结果非0,没有被使用的ip,无法ping通返回0。

2)openEuler系统测试

如下图所示,在openEuler测试,ping不通的ip返回空值。

如下图所示,系统执行ping测试后返回的提示为中文,而脚本是通过英文‘received’过滤,因此返回空值。

经过多次测试,需要将语句改为如下:(返回0)

三、问题解决
1、修改部署脚本判断vip是否被占用ping语句,如下图所示:

2、执行部署脚本,部署成功。

四、问题总结
此次部署问题,是由openEuler系统shell和脚本部分语句部兼容引起:

1、系统提示,显示为中文,脚本语句通过英文单词执行过滤,过滤失败。
2、grep中‘-w’参数,中文支持问题。-w,按照单词过滤,在系统提示‘已接收’,用-w ‘接收’无法过滤。
3、 2>/dev/null,对于语句执行错误的提示写入到/dev/null,对于CentOS系统,能返回ping结果,但是openEuler将不再返回ping结果。

在一些比较特殊的操作系统,通过脚本部署时,要注意shell的兼容性。

标签:脚本,V8R6,部署,ping,---,vip,openEuler,172.31
From: https://www.cnblogs.com/kingbase/p/17561172.html

相关文章

  • KingbaseES V8R6集群运维案例之---sys_monitor.sh start启动动态库错误
    案例说明:在KingbaseESV8R6集群部署了postgis后,执行sys_monitor.shstart启动集群时,出现动态库错误,如下图所示:适用版本:KingbaseESV8R6操作系统:KylinV10Server一、问题分析1、手工执行sys_ctl启动数据库服务,启动正常。2、执行sh-xsys_monitor.shstart查看脚本启动......
  • docker-dockerfile
    1.dockerfile是什么?dockerfile是一个文本文件,其中包含了一条条指令(instruction),用于构建docker镜像。每一条指令构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。dockerfile用于指示dockerimagebuild命令自动构建Image的源代码是纯文本文件示例:dockerb......
  • KingbaseES V8R6集群备份恢复案例之---备份初始化“can not find primary node”故障
    案例说明:KingbaseESV8R6集群,备库作为repo-path节点,建立类型为‘cluster’模式的备份,在执行sys_backup.shinit时,出现“cannotfindprimarynode”故障。故障如下图所示:适用版本:KingbaseESV8R6一、集群及备份配置1、集群节点状态[kingbase@node101bin]$./repmgrclus......
  • KingbaseES V8R3集群运维案例---failover切换故障分析
    案例说明:KingbaseESV8R3集群主库数据库服务重启后,failover切换失败,分析failover失败的具体原因。适用版本:KingbaseESV8R3一、集群架构node13----->主库(primary)node25----->管理备库(standby)node58----->备库(standby)二、故障现象1主2备集群,172.31.*......
  • KingbaseES V8R3集群运维案例之---流复制异步同步及全同步模式配置
    案例说明:通过案例描述KingbaseESV8R3集群异步、同步及全同步强一致性配置,本案例为一主二备的架构。适用版本:KingbaseESV8R3集群架构:集群复制配置参数说明:1)sync_flag[kingbase@node101bin]$cat../etc/HAmodule.conf|grep-isync_#1->synchronouscluster,0->async......
  • Kingbase ES 函数返回-return语句
    文章概要:本文在https://www.cnblogs.com/kingbase/p/15703611.html一文的基础上总结了KingbaseES中函数能支持的return语句,整体上兼容oracle的基础上,也和PG语法一样。同时列举了sqlserevr表值函数和代码故障案例。一,关于return语句有5个return语句可以用来从KES函数中返回数......
  • kingbaseES V8R3集群运维案例之---集群部署前后ssh端口修改
    kingbaseESV8R3集群运维案例之---集群部署前后ssh端口修改案例说明:kingbaseESV8R3集群部署读写分离的集群是使用ssh的默认端口(22)部署,当改为非默认端口时,在部署中或部署后会因kingbasecluster脚本ssh的连接而失败,现提出以下解决方案。适用版本:KingbaseESV8R31......
  • SQL系列1-检索过滤处理汇总数据
    什么是SQL?SQL(发音为字母S-Q-L或sequel)是StructuredQueryLanguage(结构化查询语言)的缩写。SQL是一种专门用来与数据库沟通的语言。本学习过程中用的数据库管理系统(DBMS)为Mysql,图形化工具为MySQLWorkbench。查询与排序在此过程中的样例表以及数据可下载:博客后台-博客园......
  • SQL系列2-分组数据
    sql系列2-分组数据✅```sqlSELECTorder_num,COUNT(*)ASitemsFROMOrderItemsGROUPBYorder_numHAVINGCOUNT(*)>=3ORDERBYitems,order_num;```编写SQL语句,返回名为cheapest_item的字段,该字段包含每个供应商成本最低的产品(使用Products表中的prod_price),然后从最......
  • SQL系列3-连表查询
    SQL系列3-连表查询✅子查询嵌套子查询进行过滤:SELECTcust_name,cust_contact#顾客信息FROMCustomersWHEREcust_idIN(SELECTcust_id#订单所属顾客FROMOrdersWHEREorder_numIN(SELECTorder_num#包含物品RGAN01的订单FROMOrderItemsWHE......