kingbaseES V8R3集群运维案例之---集群部署前后ssh端口修改

案例说明:

kingbaseES V8R3集群部署读写分离的集群是使用ssh的默认端口(22)部署,当改为非默认端口时,在部署中或部署后会因kingbasecluster脚本ssh的连接而失败,现提出以下解决方案。

适用版本:

KingbaseES V8R3

1、系统修改ssh监听端口

[root@node102 ~]#  cat /etc/ssh/sshd_config|grep -i port
# If you want to change the port on a SELinux system, you have to tell
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
Port 2222 [root@node102 ~]# cat /etc/services |grep ssh
ssh 2222/tcp # The Secure Shell (SSH) Protocol
ssh 2222/udp # The Secure Shell (SSH) Protocol

重启sshd服务或主机后,ssh连接的端口会改为指定端口。

验证ssh互信:

2、部署kingbasecluster(修改ssh端口)

如上图所示,修改ssh端口为指定端口(如2222)。

3、部署kingbasecluster出现错误

查看" /home/kingbase/cluster/kha/log/cluster.log"日志,可以获取ssh通讯错误信息。

4、修改kingbasecluster部署脚本(ssh通讯)(在所有node上完成)

以上脚本分别位于集群安装目录的(db/bin和kingbasecluster/bin)目录下:

[kingbase@srv1 bin]$ pwd
/home/kingbase/cluster/kha/db/bin [kingbase@srv1 bin]$ ls -lh *.sh
-rwxrwxr-x 1 kingbase kingbase 13K 9月 15 20:25 all_monitor.sh
-rwxr-xr-x 1 kingbase kingbase 2.9K 6月 21 17:30 change_vip.sh
-rwxr-xr-x 1 kingbase kingbase 2.8K 6月 21 17:30 esHAmodel.sh
-rwxr-xr-x 1 kingbase kingbase 8.6K 6月 21 17:30 kingbase_checkpoint.sh
-rwxr-xr-x 1 kingbase kingbase 14K 9月 15 20:25 kingbase_monitor.sh
-rwxr-xr-x 1 kingbase kingbase 8.4K 6月 21 17:30 kingbase_promote.sh
-rwxr-xr-x 1 kingbase kingbase 46K 9月 15 20:25 network_rewind.sh
-rwxr-xr-x 1 kingbase kingbase 5.4K 6月 21 17:30 sync_async.sh
-rwxr-xr-x 1 kingbase kingbase 8.2K 6月 21 17:30 timingbackup.sh [kingbase@srv1 bin]$ pwd
/home/kingbase/cluster/kha/kingbasecluster/bin
[kingbase@srv1 bin]$ ls -lh *.sh
-rwxrwxr-x 1 kingbase kingbase 13K 9月 15 20:26 all_monitor.sh
-rwxrwxr-x 1 kingbase kingbase 15K 9月 15 20:26 failover_stream.sh
-rwxrwxr-x 1 kingbase kingbase 26K 6月 20 15:49 restartcluster.sh

用vi编辑器替换脚本中的ssh命令语句,如下所示:(其中2222为ssh通讯端口)。

Tips:

在所有node上,替换完成后需做以下操作后,才能继续完成部署。

5、删除备库目录,重新创建备库"data"目录并授权

因为在部署kingbasecluster之前database已经部署完成,修改完脚本后会重新部署数据库,如果备库data目录存在,在做sys_basebackup时会报错,备库创建失败。如下图所示:

所以需要手工删除备库data目录,重新通过sys_basebackup创建备库:

备库执行以下操作:

[kingbase@srv2 db]$ rm -rf data
[kingbase@srv2 db]$ mkdir data
[kingbase@srv2 db]$ chmod 700 data

重新创建备库目录后,点击“继续”部署,完成集群的部署。

6、部署完成

7、查看主备复制状态

[kingbase@srv1 cluster]$ ksql -Usystem -W123456 TEST
ksql (V008R003C002B0061)
Type "help" for help. TEST=# select usename,application_name,client_addr, client_hostname,sync_state from sys_stat_replication;
usename | application_name | client_addr | client_hostname | sync_state
---------+------------------+-------------+-----------------+------------
SYSTEM | node2 | 192.168.1.3 | | sync
(1 row)

8、查看ip分配信息(主库节点)

9、通过脚本kingbase_monitor.sh一键启停

[kingbase@srv2 bin]$ ./kingbase_monitor.sh restart
-----------------------------------------------------------------------
2020-09-16 10:26:19 KingbaseES automation beging...
...
now we check again
=======================================================================
| ip | program| [status]
[ 192.168.1.2]| [kingbasecluster]| [active]
[ 192.168.1.3]| [kingbasecluster]| [active]
[ 192.168.1.2]| [kingbase]| [active]
[ 192.168.1.3]| [kingbase]| [active]
=======================================================================

Tips:

以上测试是在CentOS 7 及x86环境下完成,其他系统环境需要进一步测试,部署成功后,后续的主备故障切换还需要继续测试。

10、总结

以上案例是在部署前修改了ssh端口,如果是部署完成后,再修改ssh端口,对于集群,只需要修改对应脚本即可,脚本修改,参考文档中的内容。

kingbaseES V8R3集群运维案例之---集群部署前后ssh端口修改的更多相关文章

  1. KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析

    ​ 案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...

  2. KingbaseES V8R3集群运维案例之---用户自定义表空间管理

    ​案例说明: KingbaseES 数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外.本案例复现了,当用户自定义表空间存储路径配置到data下时,出现的故障问 ...

  3. KingbaseES V8R3集群运维案例之---kingbase_monitor.sh启动”two master“案例

    案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...

  4. KingbaseES V8R3集群运维案例之---cluster.log ERROR: md5 authentication failed

    案例说明: 在KingbaseES V8R3集群的cluster.log日志中,经常会出现"ERROR: md5 authentication failed:DETAIL: password ...

  5. KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例

    案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...

  6. PB 级大规模 Elasticsearch 集群运维与调优实践

    PB 级大规模 Elasticsearch 集群运维与调优实践 https://mp.weixin.qq.com/s/PDyHT9IuRij20JBgbPTjFA | 导语 腾讯云 Elasticse ...

  7. 《跟老男孩学Linux运维:Web集群实战》读书笔记

    Linux 介绍 Linux 安装 Linux 调优 Web 基础 Nginx 应用 LNMP 应用 PHP 缓存加速 Nginx 调优 MySQL 应用 NFS 网络文件共享 Nginx 反向代理与 ...

  8. 集群运维ansible

    ssh免密登录 集群运维 生成秘钥,一路enter cd ~/.ssh/ ssh-keygen -t rsa 讲id_rsa.pub文件追加到授权的key文件中 cat ~/.ssh/id_rsa.p ...

  9. 阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

    作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击即可完成下载. 导读:值得阿里巴巴技术人骄傲的是 2019 ...

  10. 大数据运维尖刀班 | 集群_监控_CDH_Docker_K8S_两项目_腾讯云服务器

    说明:大数据时代,传统运维向大数据运维升级换代很常见,也是个不错的机会.如果想系统学习大数据运维,个人比较推荐通信巨头运维大咖的分享课:https://url.cn/5HIqOOr,主要是实战强.含金 ...

随机推荐

  1. SSH通道

    线下到线上  通过http协议 线上到线下  不能走http,只能通过ssh通道,建立玩ssh通道后,线上线下就可以通道ssh通道进行通信 如:线上为ssm项目  线下为linux项目,二者之间lin ...

  2. Spring源码之容器的功能拓展-ApplicationContext

    目录 一.解析预备 刷新上下文环境 例如对系统属性或者环境变量进行校验和准备 二.初始化 BeanFactory 并进行 Xml 配置文件的读取 三.对BeanFactory 各种功能填充 四.激活以 ...

  3. 新零售SaaS架构:订单履约系统的应用架构梳理

    订单履约系统的核心能力 通过分析订单履约的全流程和各个业务活动,我们可以梳理出订单履约的核心业务链路,基于业务链路,我们抽象出订单履约系统的三大系统能力,分别为履约服务表达.履约调度.物流配送. 履约 ...

  4. os.path.relpath和os.path.basename,返回文件路径中的文件名

    from os import path print(path.relpath("/home/hpcadmin/lw/demo.py", start="/home/hpca ...

  5. ubuntu 中 docker 每次都输入 sudo 命令

    查看用户组及成员 sudo cat /etc/group | grep docker 可以添加docker组 sudo groupadd docker 添加用户到docker组 sudo gpassw ...

  6. 【Python OO其一】构造函数__init__()

    Python对象包括三个部分:id(identity识别码).type(对象类型).value(对象的值) __ init __()构造函数 __ init __()方法应用定义构造函数,作用是在实例 ...

  7. 【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因

    问题描述 Web App(App Service) 经常出现500错误,但是通过高级管理工具(Kudu站点)查看了所有的日志,均没有定位到具体的原因,有那些方式可以查看到更多的信息呢? 问题解答 HT ...

  8. Volatile关键字原理

    转载请标明:https://www.cnblogs.com/tangZH/p/15113505.html 一.如果一个变量被volatile关键字修饰,那么所有线程都是可见的.所谓可见就是,当一条线程 ...

  9. 牛客“迎新春,过大年”多校程序设计竞赛A题

    题目描述: 这里有个小trick 当时也看到数据范围的问题了 \(n是1e6 \quad \sum_{i=1}^na[i]<=5e7\) 我们考虑不同的数\(1 \quad 2 \quad .. ...

  10. ThreadLocal父子间通信的四种解决方案

    ThreadLocal父子间通信的四种解决方案 ThreadLocal 是存储在线程栈帧中的一块数据存储区域,其可以做到线程与线程之间的读写隔离. 但是在我们的日常场景中,经常会出现父线程需要向子线程 ...