KingbaseES V8R6集群部署案例之---脚本部署节点环境检查故障
KingbaseES V8R6集群部署案例之---脚本部署节点环境检查故障
案例说明:
KingbaseES V8R6集群在部署前会对集群节点系统环境进行检测,检测失败后,将中断部署;其中一个检测项,检测节点上是否已经存在数据库服务。如果已经存在数据库服务,则部署将会中断。
适用版本:
KingbaseES V8R6
一、问题现象
在BMJ环境下,通过脚本部署KingbaseES V8R6集群,检测发现其中一个节点运行数据库服务,导致检测失败,部署终止,如下图所示:

二、问题分析
1、检查失败节点数据库服务状态
如下图所示,实际本节点是一台应用节点,只是连接数据库进行了业务访问,并没有运行数据库服务(无监听数据库端口的进程)。

2、查看脚本检测机制
如下图所示:
1)通过netstat检测数据库服务端口,是否有进程访问。
2)如果访问数据库服务端口的进程数是0,将检测成功。
3)非0,如果是BMJ环境,将执行sys_ctl关闭数据库服务。
4)如果数据库服务关闭失败,将检测失败。

3、执行检测语句
如下图所示,此节点访问数据库端口的进程数非0,没有运行数据库服务(监听数据库端口),此系统为BMJ环境,执行sys_ctl关闭数据库将失败,检测结果失败。

三、问题解决
1、通用机环境
如以下测试,此节点没有运行数据库服务,但是访问了数据库服务,通过netstat检测有两个进程访问数据库服务端口。在检测语句里增加‘grep -i listen'过滤后(监听数据库服务的进程),统计结果将为0,可以通过脚本检测。
[kingbase@node103 bin]$ ./ksql -h 192.168.1.102 -U system test
ksql (V8.0)
Type "help" for help.
test=#
[kingbase@node103 ~]$ netstat -apn 2>/dev/null|grep -w 54321
tcp 0 0 192.168.1.103:10483 192.168.1.102:54321 TIME_WAIT -
tcp 0 0 192.168.1.103:10484 192.168.1.102:54321 ESTABLISHED 3720/./ksql
[kingbase@node103 ~]$ netstat -apn 2>/dev/null|grep -w 54321|wc -l
2
# 检测语句增加‘grep -i listen’
[kingbase@node103 ~]$ netstat -apn 2>/dev/null|grep -w 54321|grep -i listen|wc -l
0
如下图所示,增加对数据库端口监听进程的过滤:(可以修改脚本检测语句通过检测)

2、BMJ环境
由于BMJ环境下,脚本不允许被修改(脚本文件已经被hash认证,修改破坏认证校验),对于此种情况只能在业务访问数据库服务结束后部署,或选择另外干净的节点再部署。
四、总结
在部署集群时,尽量选择无其他业务的节点作为数据库服务器,否则将影响集群正常部署;并且部署后业务负载和数据库服务负载叠加,影响业务访问数据库服务的性能。
KingbaseES V8R6集群部署案例之---脚本部署节点环境检查故障的更多相关文章
- KingbaseES V8R6集群维护案例之---停用集群node_export进程
案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...
- KingbaseES V8R6集群维护案例之--修改securecmdd工具服务端口
案例说明: 在一些生产环境,为了系统安全,不支持ssh互信,或限制root用户使用ssh登录,KingbaseES V8R6可以使用securecmdd工具支持主机之间的通讯.securecmdd工具 ...
- KingbaseES V8R6集群维护案例之---将securecmdd通讯改为ssh案例
案例说明: 在KingbaseES V8R6的后期版本中,为了解决有的主机之间不允许root用户ssh登录的问题,使用了securecmdd作为集群部署分发和通讯的服务,有生产环境通过漏洞扫描,在88 ...
- KingbaseES V8R6集群维护案例之--单实例数据迁移到集群案例
案例说明: 生产环境是单实例,测试环境是集群,现需要将生产环境的数据迁移到集群中运行,本文档详细介绍了从单实例环境恢复数据到集群环境的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingb ...
- KingbaseES V8R6集群维护之--修改数据库服务端口案例
案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...
- KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例
案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...
- KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障
案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...
- kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份
案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...
- KingbaseES V8R6集群外部备份案例
案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:集群采用CentOS 7系统,repo采用kylin V10 Server. 一主一备+外部备份 此场景为主备双机常 ...
- KingbaseES V8R3集群维护案例之---在线添加备库管理节点
案例说明: 在KingbaseES V8R3主备流复制的集群中 ,一般有两个节点是集群的管理节点,分为master和standby:如对于一主二备的架构,其中有两个节点是管理节点,三个数据节点:管理节 ...
随机推荐
- 【Unity3D】动画回调函数、动画事件、动画曲线
1 动画回调函数 动画回调函数是指动画在开始时.执行中.结束时回调的函数,主要有:OnStateEnter.OnStateUpdate.OnStateExit.OnStateMove.OnStat ...
- Git将某个文件合并到指定分支
企业开发中,经常会单独拉分支去做自己的需求开发,但是某些时候一些公共的配置我们需要从主线pull,这时候整个分支merge显然不合适 1.切换至待合并文件的分支 git checkout <br ...
- 2021-10-25 css中零值0后面是否要省略单位
原理 在css中如果值为0,可以省略单位. 在css应用场景中,有可能是多端多人维护.即可能维护的人有A及B及C-,应用场景中有电脑端及手机端及小程序及打印机之类的. 结论 个人认为不要省略单位,不要 ...
- mp4v2开发笔记(一): mp4v2库介绍,mp4v2在ubuntu上交叉编译移植到海思Hi35xx平台
前言 在海思上需要将h264码流封装成mp4可使用mp4v2库. 其他相关 <Qt开发笔记之编码x264码流并封装mp4(四):mp4v2库的介绍和windows平台编译> ...
- 基于javaweb的个人音乐网站
一 .需求 ① 前台用户: 用户注册和登录以及完善个人资料: 添加好友功能(用户之间可通过发送好友申请添加好友,被添加人可以同意或拒绝好友申请): 下载歌曲功能(当用户点击下载按钮时,就能下载相对应的 ...
- offline RL | 读读 Decision Transformer
论文标题:Decision Transformer: Reinforcement Learning via Sequence Modeling,NeurIPS 2021,6 6 7 9 poster( ...
- 2、zookeeper的简单命令
Zookeeper的常用命令本篇不包括权限acl相关以及集群相关,那些要另开篇章.使用的版本是Zookeeper3.4.14,不同版本会有一定的差异性. 节点的存储信息 新增命令 语法:create ...
- C++中的不规则二维数组
技术背景 最近刚学习C++的一些编程技巧,对于一些相对比较陌生的问题,只能采取一些简单粗暴的方案来实现.就比如说,我们可以在Python中定义一个[[0,0,0],[1,2],[1,1,1],[3]] ...
- 完整塔建一个spring 注解版 mybaties 过程可供复制代码
第一步引导包.新建工程maven模块 pom.xml 中导入相对应包 ++++++++++++++++++++++++++++++++++++++++++++ 1 +++++++ ...
- 感慨 vscode 支持win7最后一个版本 1.70.3 于2022年7月发布
为什么 家里电脑一直是win7,也懒的升级,nodejs也不能用最新的,没想到vscode也停产了 https://code.visualstudio.com/updates/v1_70 后记 别用u ...