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. sentry-native 在 windows 平台上搭建

    官方文档:https://github.com/getsentry/sentry-native 虽说官方文档有搭建步骤,奈何我用 git bash 试了 n 遍,最终都会报一大堆错误,白白浪费了我快一 ...

  2. 服务端高性能网络IO编程模型简析

    服务端高性能网络IO编程模型简析 一.客户端与服务器端 多数网络应用可以分为客户端(client)和服务器端(server)模型,然后中间通过各种定义的协议来进行两端的通信. 比如常用的 Nginx ...

  3. 多线程系列(九) -ReentrantLock常用方法详解

    一.简介 在上一篇文章中,我们介绍了ReentrantLock类的一些基本用法,今天我们重点来介绍一下ReentrantLock其它的常用方法,以便对ReentrantLock类的使用有更深入的理解. ...

  4. NodeJS内存泄露

    p.p1 { margin: 0; font: 13px "Helvetica Neue"; color: rgba(0, 0, 0, 1) } p.p2 { margin: 0; ...

  5. 关于mv命令,系统是如何区分是移动还是重命名

    ​ 引入: 精简回答版:重命名的本质仍是移动覆盖 ,所以不存在应该如何区分的问题 最近学习到linux基础命令中的mv命令,了解到mv命令的作用是对文件的移动和重命名,但自己一直想不明白系统是如何分辨 ...

  6. win上vscode出现undefined reference to `__imp_WSACleanup'

    示例代码 #include <iostream> // 推荐加上宏定义 #define WIN32_LEAN_AND_MEAN #include <winsock2.h> #i ...

  7. ReentrantLock原理CAS+AQS队列

    ReentrantLock主要利用CAS+AQS队列来实现.它支持公平锁和非公平锁,两者的实现类似. CAS:Compare and Swap,比较并交换.CAS有3个操作数:内存值V.预期值A.要修 ...

  8. TCP/IP协议 ------图解TCP/IP协议 全书知识点真理

    一. 之前在网上大致浏览了<图解TCP/IP>这本书前面的几章,是日本人写的,没有细看,感觉写的很容易理解,但是最近又翻看网后面看到的时候感觉很多累赘的地方,不知道是翻译的问题,还是书本身 ...

  9. Dash 2.16版本新特性介绍

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master 大家好我是费老师,几天前Dash发布了其2.16.0版本,随后在修复了一些潜在 ...

  10. .Net 5.0 程序在 Linux 环境访问 SqlServer 2008R2 莫名报错:Connection reset by peer

    〇.问题详情 同样的代码,在 Windows 上运行的好好的,拿到 CentOS 7 上运行就出现如下报错: [ex.message]:A connection was successfully es ...