案例说明:

对于KingbaseES V8R6C5版本在部集群时,需要建立kingbase、root用户在节点间的ssh互信,如果在生产环境禁用root用户ssh登录,则通过ssh部署会失败;在图形化部署时可以借用securecmdd工具进行节点之间通讯;

数据库版本:

官方文档:

https://help.kingbase.com.cn/stage-api/profile/document/kes/v8r6/html/highly/highly-tools/cluster-use/cluster-use-7.html?highlight=securecmdd

配置SYS_SECURECMDD说明:

SYS_SECURECMDD是集群中自带的工具,集群监控、管理集群时通过SYS_SECURECMDD安全执行命令。SYS_SECURECMDD主要包含以下文件:

sys_securecmdd,服务端二进制,集群中每个节点都有sys_securecmdd进程运行,默认监听8890端口,接受sys_securecmd的连接并执行指定的命令

  • sys_securecmd,客户端二进制,集群通过sys_securecmd发送指令给服务端并执行
  • sys_HAscmdd.sh,管理sys_securecmdd的脚本,主要负责秘钥协商的初始化、sys_securecmdd进程高可用管理等
  • sys_HAscmdd.conf,配置文件,sys_HAscmdd.sh读取此文件
  • securecmdd_config,配置文件,sys_securecmdd读取此文件,初始化阶段由sys_HAscmdd.sh自动配置
  • securecmd_config,配置文件,sys_securecmd读取此文件,初始化阶段由sys_HAscmdd.sh自动配置

脚本sys_HAscmdd.sh使用方法(都需要root权限执行):

#初始化,主要初始化sys_securecmdd/sys_securecmd需要的配置文件和秘钥协商
sys_HAscmdd.sh init #启动sys_securecmdd进程和进程高可用能力
# start_method=systemd 将securecmdd.service服务文件拷贝到/etc/systemd/system目录下,并启动sys_securecmdd服务
# start_method=crontab 在/etc/cron.d/KINGBASECRON中设置sys_securecmdd的定时任务
sys_HAscmdd.sh start #查看sys_securecmdd进程状态
sys_HAscmdd.sh status #关闭sys_securecmdd进程和进程高可用能力
sys_HAscmdd.sh stop #卸载sys_securecmdd的配置文件和服务
sys_HAscmdd.sh uninstall

一、在节点上部署securecmdd工具(all_nodes)

1、查看数据库软件安装包(自带securecmdd工具)

[kingbase@node1 zip]$ pwd
/opt/Kingbase/ES/V8R6_054/ClientTools/guitools/DeployTools/zip [kingbase@node1 zip]$ ls -lh
total 341M
-rw-rw-r--. 1 kingbase kingbase 338M Apr 7 16:18 db.zip
-rw-rw-r--. 1 kingbase kingbase 9.7K Apr 7 16:18 install.conf
-rw-rw-r--. 1 kingbase kingbase 2.1M Apr 7 16:18 securecmdd.zip
-rwxrwxr-x. 1 kingbase kingbase 4.0K Apr 7 16:18 trust_cluster.sh
-rwxrwxr-x. 1 kingbase kingbase 138K Apr 7 16:18 V8R6_cluster_install.sh

2、将securecmdd.zip拷贝到/home/kingbase/cluster下

[kingbase@node1 zip]$ cp securecmdd.zip /home/kingbase/cluster/
[kingbase@node1 cluster]$ unzip securecmdd.zip
[root@node2 ~]# cd /home/kingbase/cluster/securecmdd/share [root@node2 bin]# ls -lh
total 2.0M
-rwxr-xr-x 1 kingbase kingbase 34K Apr 7 16:18 sys_HAscmdd.sh
-rwxr-xr-x 1 kingbase kingbase 856K Apr 7 16:18 sys_securecmd
-rwxr-xr-x 1 kingbase kingbase 938K Apr 7 16:18 sys_securecmdd
-rwxr-xr-x 1 kingbase kingbase 149K Apr 7 16:18 sys_secureftp [root@node2 share]# ls -lh
total 24K
-rw------- 1 kingbase kingbase 381 May 23 10:26 accept_hosts
-rw------- 1 kingbase kingbase 1.7K May 23 10:26 key_file
-rw------- 1 kingbase kingbase 315 May 23 10:26 securecmd_config
-rw------- 1 kingbase kingbase 586 May 23 10:26 securecmdd_config
-rw-r--r-- 1 kingbase kingbase 275 May 23 10:26 securecmdd.service
-rw-r--r-- 1 kingbase kingbase 246 May 23 10:26 sys_HAscmdd.conf

二、执行securecmdd初始化

1、执行sys_HAscmdd.sh init

[root@node2 bin]# sh sys_HAscmdd.sh  init
successfully initialized the sys_securecmdd, please use "sys_HAscmdd.sh start" to start the sys_securecmdd

2、查看初始化生成的文件

systemctl管理资源配置文件:(用于systemctl管理)*

[root@node2 bin]# ls -lh /etc/systemd/system/securecmdd.service
-rw-r--r-- 1 root root 312 May 23 15:20 /etc/systemd/system/securecmdd.service # 查看securecmdd.service
[root@node2 bin]# cat /etc/systemd/system/securecmdd.service
[Unit]
Description=KingbaseES - sys_securecmdd daemon
After=network.target [Service]
Type=simple
ExecStart=/home/kingbase/cluster/securecmdd/bin/sys_securecmdd -f /etc/.kes/securecmdd_config
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
RestartSec=10s [Install]
WantedBy=multi-user.target

查看认证配置文件:

[root@node2 bin]# ls -lh /etc/.kes/
total 8.0K
drwxr-xr-x 2 root root 6 May 23 11:36 empty
-rwxr-xr-x 1 root root 315 May 23 15:20 securecmd_config
-rwxr-xr-x 1 root root 603 May 23 15:20 securecmdd_config
You have new mail in /var/spool/mail/root
[root@node2 bin]# date
Mon May 23 15:21:36 CST 2022
[root@node2 bin]# ls -lh /root/.es
total 8.0K
-rw------- 1 root root 381 May 23 15:20 accept_hosts
-rw------- 1 root root 1.7K May 23 15:20 key_file
[root@node2 bin]# ls -lh /home/kingbase/.es
total 8.0K
-rw------- 1 kingbase kingbase 381 May 23 15:20 accept_hosts
-rw------- 1 kingbase kingbase 1.7K May 23 15:20 key_file
  • 查看securecmdd服务配置文件:
[root@node2 .kes]# cat securecmdd_config
Port 8890
HostKey ~/.es/key_file
AuthorizedKeysFile .es/accept_hosts
PidFile /var/run/sys_securecmdd.pid
AddressFamily any
LogLevel QUIET
PasswordAuthentication yes
IgnoreUserKnownHosts yes
ChallengeResponseAuthentication no
X11Forwarding no
Subsystem sftp /home/kingbase/cluster/securecmdd/bin/sys_secureftp
# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
MaxStartups 128:10:256
UsePAM yes

三、启动securecmdd服务

[root@node2 bin]# sh sys_HAscmdd.sh start
[root@node2 bin]# ps -ef |grep secure
root 30443 1 0 15:23 ? 00:00:00 sys_securecmdd: /home/kingbase/cluster/securecmdd/bin/sys_securecmdd -f /etc/.kes/securecmdd_config [listener] 0 of 128-256 startups
root 30719 28302 0 15:23 pts/3 00:00:00 grep --color=auto secure
You have new mail in /var/spool/mail/root
[root@node2 bin]# netstat -antlp |grep 8890
tcp 0 0 0.0.0.0:8890 0.0.0.0:* LISTEN 30443/sys_securecmd
tcp6 0 0 :::8890 :::* LISTEN 30443/sys_securecmd [root@node2 bin]# systemctl status securecmdd
● securecmdd.service - KingbaseES - sys_securecmdd daemon
Loaded: loaded (/etc/systemd/system/securecmdd.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2022-05-23 15:23:28 CST; 16min ago
Main PID: 30443 (sys_securecmdd)
CGroup: /system.slice/securecmdd.service
└─30443 sys_securecmdd: /home/kingbase/cluster/securecmdd/bin/sys_securecmdd -f /etc/.kes/securecmdd... May 23 15:23:28 node2 systemd[1]: Started KingbaseES - sys_securecmdd daemon.
May 23 15:23:28 node2 systemd[1]: Starting KingbaseES - sys_securecmdd daemon...

四、执行图形化集群部署

=在所有节点都启动securecmdd服务后,在图形化部署集群时,就可以选择以下方式添加节点。=

KingbaseES V8R6C5集群部署启动securecmdd服务配置案例的更多相关文章

  1. KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(一)

    KingbaseES R6集群repmgr.conf参数'recovery'测试案例(一) 案例说明: 在KingbaseES R6集群中,主库节点出现宕机(如重启或关机),会产生主备切换,但是当主库 ...

  2. KingbaseES V8R6集群维护之--修改数据库服务端口案例

    ​ 案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...

  3. KingbaseES V8R3 集群专用机网关失败分析案例

    ​ KingbaseES R3集群网关检测工作机制: 1.Cluster下watchdog进程在固定间隔时间,通过ping 网关地址监控链路的连通性,如果连通网关地址失败,则修改cluster sta ...

  4. KingbaseES R6 集群修改物理IP和VIP案例

    在用户的实际环境里,可能有时需要修改主机的IP,这就涉及到集群的配置修改.以下以例子的方式,介绍下KingbaseES R6集群如何修改IP. 一.案例测试环境 操作系统: [KINGBASE@nod ...

  5. KingbaseES R3 集群cluster日志切割和清理案例

    案例说明: 对于KingbaseES R3集群的cluster日志默认系统是不做切割和清理的,随着运行时长的增加,日志将增长为一个非常大的文件,占用比较大的磁盘空间,并且在分析问题读取大文件时效率很低 ...

  6. hadoop 集群部署ganglia 监控服务与nagios 报警服务

      1. 部署ganglia 服务   ganglia 涉及到的组件:     数据监测节点(gmond):这个部件装在需要监测的节点上,用于收集本节点的运行情况,并将这些统计信息传送到gmetad, ...

  7. KingbaseES R6 集群备库网卡down测试案例

    数据库版本: test=# select version(); version ------------------------------------------------------------ ...

  8. KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(三)

    案例三:测试'recovery = manual' 1.查看集群节点状态信息: [kingbase@node1 bin]$ ./repmgr cluster show ID | Name | Role ...

  9. KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(二)

    案例二:测试'recovery = automatic' 1.查看集群节点状态信息: [kingbase@node1 bin]$ ./repmgr cluster show ID | Name | R ...

随机推荐

  1. java web 三层架构设计

    界面层(表示层):用户看得到的,可以通过此与服务器交互 业务逻辑层:处理业务逻辑. 数据访问层:操作数据存储文件

  2. UiPath官方视频Level2

    [UiPath官方视频Level2]Lesson Orchestrator-第5部分 https://www.bilibili.com/video/av81414017 [UiPath官方视频Leve ...

  3. ansible-playbook批量修改密码

    1. 将服务器ip写到ansible hosts文件中 2. 实现免密登录服务器 将ansible服务器公钥拷贝到目标服务器用户目录下的.ssh/authorized_keys 手动连接一次或者自己写 ...

  4. 十进制转换为K进制 Java 代码

    最近在读<计算机科学导论--跨学科方法>(机械工业出版社),习题索引:1.3.21: 编写一个新程序Kary,输入两个命令行参数i和k,并将i转换为基数k的数值表示.假设i是java中的l ...

  5. 边缘计算 KubeEdge+EdgeMash

    简介 KubeEdge是面向边缘计算场景.专为边云协同设计的业界首个云原生边缘计算框架,在 Kubernetes 原生的容器编排调度能力之上实现了边云之间的应用协同.资源协同.数据协同和设备协同等能力 ...

  6. Eolink 全局搜索介绍【翻译】

    随着前后端分离成为互联网项目开发的标准模式, API 成为了前后端联通的桥梁.而面对越来越频繁和复杂的调用需求,项目里的 API 数量也越来越多,我们需要通过搜索功能来快速定位到对应的 API来进行使 ...

  7. Jmeter-记一次自动化造数引发的BeanShell写入excel实例

    一.前言 最近工作和生活说忙也忙,说不忙也不忙,但就是已经感觉很长时间没有get新的技术技能了,就是一丢丢的那种也没有,哈哈哈,今天就来讲一下最近get到的小技能吧. 工作中,由于某个需求需要几百条数 ...

  8. maven exclusion 理解

    结论:exclusion 表示对传递性依赖进行排除,排除后当前项目的依赖jar中,就不会包含该传递性依赖. 扩展:项目中的jar 都会在classpath下,排除后的传递性依赖,相当于在classpa ...

  9. super与this关键字图解和java继承的三个特点

    java继承的三个特点 java语言是单继承的 一个类的直接父类只能有一个 class A{} class B extends A{}//正确 class C{} class D extends A, ...

  10. BI报表与数据开发

    先贴个不好看的图让内容好看一点,也顺便说一下数据处理的流程:收集数据,数据清洗与数据加工,数据展示 报表制作一般就是前面的开发兄弟们完成然后把数据交到报表的兄弟们,然后在根据领导要求制作报表.大概就是 ...