如何使用PTK一键安装opengaussdb 5.0

news/2024/9/17 9:54:03/ 标签: 数据库, 服务器, go

1、关于PTK工具

MogDB数据库是云和恩墨基于openGauss开源数据库打造,安稳易用的企业级关系型数据库

PTK是云和恩墨出品的一款工具,帮助用户更便捷地部署管理MogDB数据库

1.1 使用场景

  • 开发人员快速启动多个本地 MogDB 环境
  • 用户通过 PTK 快速安装部署 MogDB
  • DBA 日常运维使用
  • 第三方运维平台集成

1.2 推荐部署架构

PTK 的定位是一个中心化多集群管理软件,作为一个中控软件的角色,通过 SSH 的方式远程管理多个数据库集群,所以,我们推荐您将PTK部署在单独的一台控制服务器上,然后将数据库部署到数据库专属的服务器上,如下图。当然,PTK也支持本地部署,您可以根据您的机器情况自行安排安装位置。

(注:PTK依赖本地元数据来进行集群管理,不同操作系统用户安装的PTK相互独立不可见)

                           +-----------+|    PTK    |+-----------+/---ssh-----/   |    \---ssh----\/               ssh               \/                 |                 \+-----------+      +-----------+      +-----------+|   MogDB   |      |   MogDB   |      |   MogDB   |+-----------+      +-----------+      +-----------+

1.3 PTK 支持部署 MogDB 的操作系统

最新列表请通过 ptk candidate os 查看

软件下载地址:https://www.mogdb.io/downloads/ptk/all

PTK软件使用说明书:https://docs.mogdb.io/zh/ptk/v2.0/overview

云和恩墨的软件许可看得出,这家软件还是比较宽松的,允许大家进行测试,这点十分的友好。

MogDB: Privacy下面是截取的一段说明:

云和恩墨授予您非排他性、不可转让的、不可再许可、不可分许可且可撤销的有限许可,允许您在遵守本协议所述限制的前提下,**仅出于开发、测试、原型设计和演示您的应用程序的目的,并且仅在您的应用程序未用于任何数据处理、业务、商业或生产目的的情况下,且不得用于任何其他目的。**您可以允许您的承包商使用程序,前提是他们代表您行使本协议中授予的许可权利,并且您及您的承包商有责任在此类使用中遵守本协议。您将与您的承包商签订书面协议,严格限制他们使用程序的权利,并以其他方式保护云和恩墨及【MogDB】软件的知识产权,其程度不得低于本协议。您可以在合理必要的范围内复制程序,以行使本协议中授予的许可权利。若云和恩墨发现您允诺使用程序的承包商有不符合要求或使用限制的,云和恩墨可单方中断承包商的使用权限。

目前最新的PTK版本是V1.7.0,在8月30号刚刚发布。
在这里插入图片描述

2、安装PTK

2.1 在线安装

注:命令行安装方式不支持 Windows 系统

在终端中,执行以下指令即可自动完成安装:

curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh

该指令会自动将 PTK 安装在用户的家目录 $HOME/.ptk 目录下,该目录以后会作为 PTK 工具的工作目录, 其产生的缓存文件、数据文件以及集群的配置信息,备份信息等文件均会存储到该目录下。 同时,安装指令会自动将 $HOME/.ptk/bin 的路径加入到对应 SHELL Profile 文件(安装日志的末尾会显示)的 PATH 环境变量中, 这样在用户登录到服务器后就可以直接使用 ptk 指令了。

执行安装完成后,用户重新打开终端即可激活 ptk 命令。

2.2 离线安装

如果您的服务器无法直接访问互联网或者是需要在 Windows 系统上使用 PTK 工具,此时可以通过手动方式进行安装。

请按照以下操作步骤进行安装:

  1. 先从下面链接页面下载对应服务器架构的安装包:

    🔗 https://www.mogdb.io/downloads/ptk/all

  2. 将安装包上传到目标服务器上解压即可

    mkdir -p $HOME/.ptk/bin
    tar -xvf ptk_1.7.0_linux_x86_64.tar.gz -C $HOME/.ptk/bin
    echo "export PATH=$HOME/.ptk/bin:$PATH" >> $HOME/.bashrc
    source $HOME/.bashrc
    

3、使用PTK一键部署openGauss

3.1 安装前准备

整体安装过程如下:

1、生成模板文件

2、检查操作系统是否满足要求并生成整改文件脚本

3、执行安装

另外说一句,执行之前需要提前配置好主机名及hosts文件,只有这些!

这里示例使用的环境如下:

操作系统:银河麒麟V10

数据库版本:openGauss 5.02 for openEuler 22.03

3.2 生成模板文件

使用ptk template 命令即可,以上是命令帮助

[root@ogserver ~]# ptk template -h
生成配置模板Usage:ptk template [flags]Available Commands:create      交互式创建配置文件mogha       生成 MogHA 配置scale-out   生成扩容配置Flags:-d, --base-dir string       指定数据库要安装的基目录 (default "/opt/mogdb")-n, --cluster-name string   指定集群名称, 默认会随机生成-g, --group string          指定系统用户组 (default "omm")-l, --local                 生成安装本地数据库的配置文件-p, --port int              指定数据库端口 (default 26000)-u, --user string           指定系统用户名 (default "omm")Global Flags:--disable-color         禁用彩色日志--disable-debug-log     不生成调试日志文件--disable-progressbar   全局不显示进度条-h, --help                  打印帮助信息--log-file string       指定运行日志文件路径--log-format string     指定运行日志的输出格式, 可选项: [text, json] (default "text")--log-level string      指定运行日志级别, 可选项: [debug, info, warning, error, panic] (default "info")--silence               不打印日志到标准输出--skip-fix-ssh          无需通过交互修复 ssh 连接Examples:
# 生成本地单实例配置模板
ptk template -l > config.yml# 生成多实例集群的配置模板
ptk template > config.yml# 自定义部分配置字段的值
ptk template -n <CLUSTER_NAME> -u <OS_USER> -g <OS_USERGROUP> -d <BASE_DIR> -p <DB_PORT> > config.ymlSupport from: v0.2Use "ptk template [command] --help" for more information about a command.

如果你是小白,推荐使用ptk template create 执行交互式创建,下面是示例:

[root@ogserver ~]# ptk template create
✔ 请输入集群名称 (默认: swirles): dbserver
✔ 请输入系统用户名 (默认: omm): omm
✔ 请输入用户组名 (默认: omm): dbgroup
✔ 请输入数据库密码 (8~15 个字符, 3 种类型): **********
✔ 再次输入数据库密码: **********
✔ 请输入数据库端口 (范围 1024~65535) (默认: 26000): 15400
✔ 请输入数据库基础目录 (需为空目录) (默认: /opt/mogdb): /data/openGauss█
✔ 是否要安装CM组件 (默认 n) [y/n]: y
✔ 是否要安装CM组件 (默认 n) [y/n]: y
接下来, 我们来添加一些数据库实例服务器
================db server 1================
✔ 请输入服务器 IP (仅支持 IPv4): 192.168.100.10
✔ 请选择数据库角色: primary        //此处会提示你是primaty 还是standby,可以按光标选择
✔ 请输入可用区的名称 (默认: AZ1): 
✔ 请输入可用区 ("AZ1") 的优先级 (默认: 1): 
================ end ================
✔ 您想添加另一个数据库实例吗 (默认 n) [y/n]: n
Generate /root/config.2024-09-03T15_51_58.yaml successfully

3.3 执行安装前检查

执行ptk checkos -f <模板文件> --detail就会显示出检查情况,并详细列出哪有不符合Abnormal,哪里是告警Warning建议调整。

这里示例执行输出如下,随后会自动生成 个修改脚本,只要执行一下,就可以完成abnormal项的修改。

[root@ogserver ~]# ptk checkos -f /root/config.2024-09-03T15_51_58.yaml  --detail
INFO[2024-09-03T16:00:52.374] 预检查依赖工具...                                   
INFO[2024-09-03T16:00:52.434] [192.168.100.10][omm] platform: kylin_V10_64bit 
INFO[2024-09-03T16:00:52.437] [192.168.100.111][omm] 交换内存 4132860kB,总内存 2952948kB 
ERRO[2024-09-03T16:00:52.453] [192.168.100.111][omm] net.core.rmem_default=212992, expect 262144 
ERRO[2024-09-03T16:00:52.460] [192.168.100.111][omm] kernel.sem=32000	1024000000	500	32000, expect 250 6400000 1000 25600 
WARN[2024-09-03T16:00:52.463] [192.168.100.111][omm] net.ipv4.tcp_max_syn_backlog=128, expect 65535 
WARN[2024-09-03T16:00:52.469] [192.168.100.111][omm] net.ipv4.tcp_syn_retries=6, expect 5 
WARN[2024-09-03T16:00:52.472] [192.168.100.111][omm] net.core.somaxconn=128, expect 65535 
ERRO[2024-09-03T16:00:52.475] [192.168.100.111][omm] net.core.wmem_default=212992, expect 262144 
ERRO[2024-09-03T16:00:52.485] [192.168.100.111][omm] net.core.wmem_max=212992, expect 1048576 
WARN[2024-09-03T16:00:52.491] [192.168.100.111][omm] net.ipv4.tcp_keepalive_intvl=75, expect 30 
WARN[2024-09-03T16:00:52.498] [192.168.100.111][omm] net.ipv4.tcp_wmem=4096	16384	4194304, expect 8192 250000 16777216 
WARN[2024-09-03T16:00:52.500] [192.168.100.111][omm] net.ipv4.tcp_keepalive_time=7200, expect 30 
WARN[2024-09-03T16:00:52.503] [192.168.100.111][omm] net.ipv4.tcp_retries1=3, expect 5 
WARN[2024-09-03T16:00:52.505] [192.168.100.111][omm] net.ipv4.tcp_retries2=15, expect 12 
WARN[2024-09-03T16:00:52.507] [192.168.100.111][omm] net.core.netdev_max_backlog=1000, expect 65535 
WARN[2024-09-03T16:00:52.513] [192.168.100.111][omm] vm.min_free_kbytes=67584, expect 147647 
ERRO[2024-09-03T16:00:52.517] [192.168.100.111][omm] net.core.rmem_max=212992, expect 1048576 
WARN[2024-09-03T16:00:52.521] [192.168.100.111][omm] net.ipv4.tcp_tw_reuse=2, expect 1 
WARN[2024-09-03T16:00:52.523] [192.168.100.111][omm] net.ipv4.tcp_rmem=4096	131072	6291456, expect 8192 250000 16777216 
INFO[2024-09-03T16:00:52.530] [192.168.100.111][omm] 检查 kernel.core_pattern 
INFO[2024-09-03T16:00:52.534] [192.168.100.111][omm] 检查 RemoveIPC 的值       
INFO[2024-09-03T16:00:52.541] [192.168.100.111][omm] 检查 KillUserProcesses 的值 
ERRO[2024-09-03T16:00:52.554] [192.168.100.111][omm] selinux mode in /etc/selinux/config is 'enforcing' 
INFO[2024-09-03T16:00:55.427] [192.168.100.111][omm] 内核版本: 4.19.90-52.22.v2207.ky10.x86_64 
WARN[2024-09-03T16:00:55.449] [192.168.100.111][omm] device(/dev/sda) readahead value=8192, expect 16384. 
INFO[2024-09-03T16:00:55.458] [192.168.100.111][omm] 检查端口 15400            
INFO[2024-09-03T16:00:55.467] [192.168.100.111][omm] 端口 15400 空闲           
INFO[2024-09-03T16:00:55.474] [192.168.100.111][omm] 时区: +0800             
WARN[2024-09-03T16:00:55.485] [192.168.100.111][omm] device(sda) 'IO Request'=254, expect 256 
ERRO[2024-09-03T16:00:55.501] [192.168.100.111][omm] firewall status='enabled', expect 'disabled'. 
INFO[2024-09-03T16:00:55.501] 完成所有检查项                                      
INFO[2024-09-03T16:00:55.501] 将修复 OS 脚本写入 root_fix_os.0903.160055.sh 成功    
INFO[2024-09-03T16:00:55.501] 用时: 4s                                       
# Check ResultsItem                |  Level   |                                   Message                                    
------------------------------------+----------+------------------------------------------------------------------------------A1.Check_OS_Version               | OK       |                                                                              A2.Check_Kernel_Version           | OK       |                                                                              A3.Check_Unicode                  | OK       |                                                                              A4.Check_TimeZone                 | OK       |                                                                              A5.Check_Swap_Memory_Configure    | Warning  | [192.168.100.111]:                                                           |          | swap memory (4132860 KB) is lager than total memory (2952948 KB)             A6.Check_SysCtl_Parameter         | Abnormal | [192.168.100.111]:                                                           |          | Abnormal: net.core.rmem_default=212992, expect 262144                        |          | Abnormal: kernel.sem=32000	1024000000	500	32000, expect 250 6400000 1000 25600  |          | Warning: net.ipv4.tcp_max_syn_backlog=128, expect 65535                      |          | Warning: net.ipv4.tcp_syn_retries=6, expect 5                                |          | Warning: net.core.somaxconn=128, expect 65535                                |          | Abnormal: net.core.wmem_default=212992, expect 262144                        |          | Abnormal: net.core.wmem_max=212992, expect 1048576                           |          | Warning: net.ipv4.tcp_keepalive_intvl=75, expect 30                          |          | Warning: net.ipv4.tcp_wmem=4096	16384	4194304, expect 8192 250000 16777216     |          | Warning: net.ipv4.tcp_keepalive_time=7200, expect 30                         |          | Warning: net.ipv4.tcp_retries1=3, expect 5                                   |          | Warning: net.ipv4.tcp_retries2=15, expect 12                                 |          | Warning: net.core.netdev_max_backlog=1000, expect 65535                      |          | Warning: vm.min_free_kbytes=67584, expect 147647                             |          | Abnormal: net.core.rmem_max=212992, expect 1048576                           |          | Warning: net.ipv4.tcp_tw_reuse=2, expect 1                                   |          | Warning: net.ipv4.tcp_rmem=4096	131072	6291456, expect 8192 250000 16777216    A7.Check_FileSystem_Configure     | OK       |                                                                              A8.Check_Disk_Configure           | OK       |                                                                              A9.Check_BlockDev_Configure       | Warning  | [192.168.100.111]:                                                           |          | device(/dev/sda) readahead value=8192, expect 16384.                         A9.Check_Logical_Block            | OK       |                                                                              A10.Check_Asynchronous_IO_Request | OK       |                                                                              A10.Check_IO_Configure            | OK       |                                                                              A10.Check_NR_Request              | Warning  | [192.168.100.111]:                                                           |          | device(sda) 'IO Request'=254, expect 256                                     A11.Check_Network_Configure       | OK       |                                                                              A12.Check_Time_Consistency        | OK       |                                                                              A13.Check_Firewall_Status         | Abnormal | [192.168.100.111]:                                                           |          | firewall status='enabled', expect 'disabled'.                                A14.Check_THP_Status              | OK       |                                                                              A15.Check_Dependent_Package       | Warning  | [192.168.100.111]:                                                           |          | Warning: not found package: flex                                             |          | Warning: not found package: bison                                            |          | Warning: not found package: ncurses-devel                                    A16.Check_CPU_Instruction_Set     | OK       |                                                                              A17.Check_Port                    | OK       |                                                                              A18.Check_Selinux                 | Abnormal | [192.168.100.111]:                                                           |          | selinux mode in /etc/selinux/config is 'enforcing'                           A19.Check_User_Ulimit             | OK       |                                                                              A20.Check_Directory               | OK       |                                                                              
Total count 23, abnormal count 3, warning count 4
Failed to check os, can’t perform installation unless fix all the abnormal items.
You can use 'ptk checkos -i ITEM --detail' to get detail message
Please check root_fix_os.0903.160055.sh for commands to resolve.

这里我们执行一下脚本,修正不符合的参数。

[root@ogserver ~]# sh root_fix_os.0903.160055.sh 
++ ip addr
++ grep -v 'inet6\|127.0.0.1\|grep'
++ awk '{print $2}'
++ awk -F / '{print $1}'
++ grep inet
+ local_ips='192.168.100.111
192.168.233.134
192.168.122.1'
+ for ip in ${local_ips}
+ [[ 192.168.100.111 == \1\9\2\.\1\6\8\.\1\0\0\.\1\1\1 ]]
+ sed -i /net.core.rmem_default/d /etc/sysctl.conf
+ echo net.core.rmem_default = 262144
+ sed -i /kernel.sem/d /etc/sysctl.conf
+ echo kernel.sem = 250 6400000 1000 25600
+ sed -i /net.core.wmem_default/d /etc/sysctl.conf
+ echo net.core.wmem_default = 262144
+ sed -i /net.core.wmem_max/d /etc/sysctl.conf
+ echo net.core.wmem_max = 1048576
+ sed -i /net.core.rmem_max/d /etc/sysctl.conf
+ echo net.core.rmem_max = 1048576
+ sysctl -p
kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
net.core.rmem_default = 262144
kernel.sem = 250 6400000 1000 25600
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.core.rmem_max = 1048576
+ sudo sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
+ systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
+ systemctl stop firewalld
+ for ip in ${local_ips}
+ [[ 192.168.233.134 == \1\9\2\.\1\6\8\.\1\0\0\.\1\1\1 ]]
+ for ip in ${local_ips}
+ [[ 192.168.122.1 == \1\9\2\.\1\6\8\.\1\0\0\.\1\1\1 ]]

改完可以再检查一遍,几乎都修复完了,我就省略一下只显示结果

Total count 23, abnormal count 0, warning count 5

关于warning的选项也可根据提示手动修改。这里就不演示了。

3.4 安装openGauss数据库

执行命令,一键安装

[root@ogserver ~]#  ptk install -f /root/config.2024-09-03T15_51_58.yaml -p /root/kylinv10sp3_openGauss-5.0.2-openEuler-64bit-all_x86.tar.gz 
INFO[2024-09-03T16:15:04.983] PTK 版本: 1.7.0 release                        
INFO[2024-09-03T16:15:04.983] 从 /root/config.2024-09-03T15_51_58.yaml 加载配置 
如果您选择继续安装软件,
就代表您接受该软件的许可协议。[Y]: 接受并继续[C]: 显示许可协议内容[N]: 中止安装并退出✔ 请输入 (默认: Y): y
集群名:"dbserver"
+--------------+-----------------+--------------+-------+---------+----------------------+----------+
| az(priority) |       ip        | user(group)  | port  |  role   |       data dir       | upstream |
+--------------+-----------------+--------------+-------+---------+----------------------+----------+
| AZ1(1)       | 192.168.100.111 | omm(dbgroup) | 15400 | primary | /data/openGauss/data | -        |
+--------------+-----------------+--------------+-------+---------+----------------------+----------+
✔ 集群配置是否正确 (默认 n) [y/n]: y
INFO[2024-09-03T16:15:15.644] 检查主机名 ...                                    
INFO[2024-09-03T16:15:15.647] 主机名检查成功                                      
INFO[2024-09-03T16:15:15.647] 检查操作系统 ...                                   
INFO[2024-09-03T16:15:15.647] 预检查依赖工具...                                   
INFO[2024-09-03T16:15:15.672] [192.168.100.111][omm] platform: kylin_V10_64bit 
INFO[2024-09-03T16:15:15.674] [192.168.100.111][omm] 内核版本: 4.19.90-52.22.v2207.ky10.x86_64 
INFO[2024-09-03T16:15:15.678] [192.168.100.111][omm] 时区: +0800             
WARN[2024-09-03T16:15:15.685] [192.168.100.111][omm] device(/dev/sda) readahead value=8192, expect 16384. 
INFO[2024-09-03T16:15:15.693] [192.168.100.111][omm] 交换内存 4132860kB,总内存 2952948kB 
WARN[2024-09-03T16:15:15.696] [192.168.100.111][omm] net.ipv4.tcp_max_syn_backlog=128, expect 65535 
WARN[2024-09-03T16:15:15.706] [192.168.100.111][omm] net.ipv4.tcp_retries2=15, expect 12 
WARN[2024-09-03T16:15:15.719] [192.168.100.111][omm] net.ipv4.tcp_keepalive_intvl=75, expect 30 
WARN[2024-09-03T16:15:15.721] [192.168.100.111][omm] net.ipv4.tcp_rmem=4096	131072	6291456, expect 8192 250000 16777216 
WARN[2024-09-03T16:15:15.723] [192.168.100.111][omm] net.core.netdev_max_backlog=1000, expect 65535 
WARN[2024-09-03T16:15:15.784] [192.168.100.111][omm] vm.min_free_kbytes=67584, expect 147647 
WARN[2024-09-03T16:15:15.920] [192.168.100.111][omm] net.ipv4.tcp_keepalive_time=7200, expect 30 
WARN[2024-09-03T16:15:15.994] [192.168.100.111][omm] net.ipv4.tcp_retries1=3, expect 5 
WARN[2024-09-03T16:15:15.998] [192.168.100.111][omm] net.ipv4.tcp_wmem=4096	16384	4194304, expect 8192 250000 16777216 
WARN[2024-09-03T16:15:16.005] [192.168.100.111][omm] net.ipv4.tcp_syn_retries=6, expect 5 
WARN[2024-09-03T16:15:16.011] [192.168.100.111][omm] net.ipv4.tcp_tw_reuse=2, expect 1 
WARN[2024-09-03T16:15:16.018] [192.168.100.111][omm] net.core.somaxconn=128, expect 65535 
INFO[2024-09-03T16:15:16.020] [192.168.100.111][omm] 检查 kernel.core_pattern 
INFO[2024-09-03T16:15:16.024] [192.168.100.111][omm] 检查 RemoveIPC 的值       
INFO[2024-09-03T16:15:16.032] [192.168.100.111][omm] 检查 KillUserProcesses 的值 
INFO[2024-09-03T16:15:18.426] [192.168.100.111][omm] 检查端口 15400            
INFO[2024-09-03T16:15:18.439] [192.168.100.111][omm] 端口 15400 空闲           
WARN[2024-09-03T16:15:18.471] [192.168.100.111][omm] device(sda) 'IO Request'=254, expect 256 
INFO[2024-09-03T16:15:18.509] 完成所有检查项                                      
INFO[2024-09-03T16:15:18.509] 用时: 3s                                       
INFO[2024-09-03T16:15:18.509] 操作系统检查成功                                     
INFO[2024-09-03T16:15:18.509] 检查系统发行版 ...                                  
INFO[2024-09-03T16:15:18.509] 发行版检查成功                                      
INFO[2024-09-03T16:15:18.509] 检查用户 ...                                     
INFO[2024-09-03T16:15:18.518] 检查用户成功                                       
INFO[2024-09-03T16:15:18.518] 检查端口 ...                                     
INFO[2024-09-03T16:15:18.518] checking port 15400 on host 192.168.100.111 (db listen port) ... 
INFO[2024-09-03T16:15:18.526] checking port 15401 on host 192.168.100.111 (db HA port) ... 
INFO[2024-09-03T16:15:18.532] 端口检查成功                                       
INFO[2024-09-03T16:15:18.535] [192.168.100.111][omm] 创建操作系统用户omm, 组dbgroup 
INFO[2024-09-03T16:15:18.560] [192.168.100.111][omm] set ulimit configs    
INFO[2024-09-03T16:15:18.563] 准备安装包 ...                                    
INFO[2024-09-03T16:15:18.563] 安装包已经就绪                                      
INFO[2024-09-03T16:15:18.563] parse installation package ...               
INFO[2024-09-03T16:16:12.448] 数据库产品: openGauss, 版本: 5.0.2, number: 92.861, commit_id: 48a25b11 
INFO[2024-09-03T16:16:12.800] 将 openGauss-5.0.2-openEuler-64bit.tar.bz2 提取到目录/tmp/ptk_tmp_2235563565 
INFO[2024-09-03T16:16:31.188] execute command: gaussdb --version           
INFO[2024-09-03T16:16:31.241] parse installation package success           
INFO[2024-09-03T16:16:31.241] 开始完善配置 ...                                   
INFO[2024-09-03T16:16:31.241] 完善配置成功                                       
INFO[2024-09-03T16:16:31.241] save the topology to metadata                
INFO[2024-09-03T16:16:31.242] 开始分发安装包...                                   
INFO[2024-09-03T16:16:31.420] 安装包分发成功                                      
INFO[2024-09-03T16:16:31.420] 开始安装逻辑节点 ...                                 
INFO[2024-09-03T16:16:31.421] 部署数据库到 omm@192.168.100.111                   
INFO[2024-09-03T16:16:31.422] [192.168.100.111][omm] 创建用户omm的目录:/data/openGauss 
INFO[2024-09-03T16:16:31.835] [192.168.100.111][omm] 清除用户 omm 的 IPC 资源     
INFO[2024-09-03T16:16:31.911] [192.168.100.111][omm] 创建用户omm的目录:/data/openGauss/tool,/data/openGauss/tool/ptk_tool/bin 
INFO[2024-09-03T16:16:33.218] [192.168.100.111][omm] 将 kylinv10sp3_openGauss-5.0.2-openEuler-64bit-all_x86.tar.gz 提取到目录/data/openGauss/tool 
INFO[2024-09-03T16:16:34.078] [192.168.100.111][omm] 将 openGauss-5.0.2-openEuler-64bit-om.tar.gz 提取到目录/data/openGauss/tool 
INFO[2024-09-03T16:16:34.864] [192.168.100.111][omm] 尝试修复psutil Python库    
INFO[2024-09-03T16:16:35.444] [192.168.100.111][omm] 写入文件 /data/openGauss/tool/script/py_pstree.py 
INFO[2024-09-03T16:16:35.588] [192.168.100.111][omm] 写入文件 /data/openGauss/tool/ptk_tool/bin/README.md 
INFO[2024-09-03T16:16:35.838] [192.168.100.111][omm] 写入文件 /data/openGauss/tool/ptk_tool/bin/pscp 
INFO[2024-09-03T16:16:36.123] [192.168.100.111][omm] 写入文件 /data/openGauss/tool/ptk_tool/bin/pssh 
INFO[2024-09-03T16:16:36.262] [192.168.100.111][omm] 写入文件 /data/openGauss/tool/ptk_tool/bin/task_pool.py 
INFO[2024-09-03T16:16:36.682] [192.168.100.111][omm] 创建用户omm的目录:/data/openGauss/app 
INFO[2024-09-03T16:16:36.914] [192.168.100.111][omm] 将 openGauss-5.0.2-openEuler-64bit.tar.bz2 提取到目录/data/openGauss/app 
INFO[2024-09-03T16:16:57.317] [192.168.100.111][omm] 将 /data/openGauss/app 的权限更改为 700 
INFO[2024-09-03T16:16:57.442] [192.168.100.111][omm] 创建用户omm的目录:/data/openGauss/app/share/postgresql 
INFO[2024-09-03T16:16:57.793] [192.168.100.111][omm] 将 /data/openGauss/tool/script/gspylib/etc/sql/pmk_schema.sql 复制到 /data/openGauss/app/share/postgresql 
INFO[2024-09-03T16:16:57.866] [192.168.100.111][omm] 将 /data/openGauss/tool/script/gspylib/etc/sql/pmk_schema_single_inst.sql 复制到 /data/openGauss/app/share/postgresql 
INFO[2024-09-03T16:16:57.920] [192.168.100.111][omm] 写入文件 /data/openGauss/app/bin/transfer.py 
INFO[2024-09-03T16:16:58.077] [192.168.100.111][omm] 设置用户omm的配置文件          
INFO[2024-09-03T16:16:58.530] [192.168.100.111][omm] 验证并尝试修复 gs_initdb 的 ld 库 
INFO[2024-09-03T16:16:58.582] [192.168.100.111][omm] 验证并尝试修复 gaussdb 的 ld 库 
INFO[2024-09-03T16:16:58.654] [192.168.100.111][omm] 创建用户omm的目录:/data/openGauss/log/gs_profile,/data/openGauss/log/pg_log,/data/openGauss/log/pg_audit,/data/openGauss/log/bin,/data/openGauss/log/pg_log/dn_6001,/data/openGauss/log/pg_audit/dn_6001 
INFO[2024-09-03T16:17:01.316] [192.168.100.111][omm] 创建用户omm的目录:/data/openGauss/tmp 
INFO[2024-09-03T16:17:01.519] [192.168.100.111][omm] 将版本保存为 upgrade_version 
INFO[2024-09-03T16:17:01.868] [192.168.100.111][omm] 创建文件 cluster_manual_start 
INFO[2024-09-03T16:17:01.956] [192.168.100.111][omm] 生成 cluster_static_config 文件 
INFO[2024-09-03T16:17:02.045] [192.168.100.111][omm] 创建用户omm的目录:/data/openGauss/data 
INFO[2024-09-03T16:17:02.302] [192.168.100.111][omm] 写入文件 /data/openGauss/tool/.ptk_deployer 
INFO[2024-09-03T16:17:02.691] 生成认证文件                                       
INFO[2024-09-03T16:17:03.917] 下载认证文件                                       
INFO[2024-09-03T16:17:04.867] 认证文件安装成功                                     
INFO[2024-09-03T16:17:04.867] 在 omm@192.168.100.111 上初始化数据库                
INFO[2024-09-03T16:17:04.867] [192.168.100.111][omm] 数据库正在初始化, 请稍等一会儿      
INFO[2024-09-03T16:17:16.636] [192.168.100.111][omm] 配置 postgresql.conf 文件 
INFO[2024-09-03T16:17:16.739] [192.168.100.111][omm] 配置 pg_hba.conf 文件     
INFO[2024-09-03T16:17:16.808] [192.168.100.111][omm] 将 SSL 文件复制到数据目录       
INFO[2024-09-03T16:17:16.893] 逻辑节点安装成功                                     
INFO[2024-09-03T16:17:16.900] 生成 PTKC ...                                  
INFO[2024-09-03T16:17:17.054] 开始构建 SSH 互信 ...                              
INFO[2024-09-03T16:17:18.154] SSH 互信构建成功                                   
INFO[2024-09-03T16:17:18.154] 启动数据库 ...                                    
INFO[2024-09-03T16:17:18.154] [192.168.100.111][omm] 使用 gs_ctl 启动数据库中 ...  
INFO[2024-09-03T16:17:18.154] [192.168.100.111][omm] 数据库正在启动,请稍等一会儿        
INFO[2024-09-03T16:17:19.245] [192.168.100.111][omm] 数据库启动成功               
INFO[2024-09-03T16:17:19.245] 数据库启动成功                                      
INFO[2024-09-03T16:17:19.245] 正在清理临时目录 ...                                 
INFO[2024-09-03T16:17:19.271] 临时目录清理成功                                     
INFO[2024-09-03T16:17:19.271] 用时: 2m9s                                     cluste_name |      host       | user | port  |    status     | message  
--------------+-----------------+------+-------+---------------+----------dbserver    | 192.168.100.111 | omm  | 15400 | start_success | success 

只用时2m9s安装完毕。

4、使用PTK管理数据库

这里简单演示一下简单的管理命令

4.1 启停集群

主要是通过ptk cluster命令来管理集群

[root@ogserver ~]# ptk cluster -h
管理集群Usage:ptk cluster [flags]Available Commands:start                     启动数据库实例或集群stop                      停止数据库实例或集群restart                   重启数据库实例或集群status                    显示集群或实例的状态信息build                     重建数据库数据switchover                主备切换,升级备库为主库,降主库为备库failover                  提升一个备库为主库inspect                   返回关于集群的内部信息install-plugin            安装 MogDB 插件list-plugins              列出集群中的插件install-mogha             为 MogDB 安装 MogHAuninstall-mogha           卸载 MogHAscale-in                  对一个MogDB集群进行缩容scale-out                 对一个MogDB集群进行扩容show-hba                  打印数据库 pg_hba.conf 内容set-hba                   设置并重新加载数据库的 pg_hba.confshow-guc                  打印数据库参数set-guc                   设置并重新加载数据库参数show-config               打印集群拓扑配置文件modify-comment            修改指定集群的备注shell                     执行 shell 命令或脚本refresh                   更新集群配置promote                   将一个数据库实例从备库提升为主库, 或从级联备库提升为备库demote                    将数据库角色从 Primary 降级为 Standby,或从 Standby 降级为 Cascade Standbyupgrade                   升级集群的数据库版本upgrade-commit            确认提交升级操作(!提交后不能回滚)upgrade-rollback          回滚升级操作is-in-upgrade             查看集群是否处于升级过程中install-kerberos-server   安装 kerberos 服务器uninstall-kerberos-server 卸载 kerberos 服务add-kerberos-auth         添加 kerberos 认证del-kerberos-auth         删除 kerberos 认证load-cm-vip               管理 CM 的虚拟IP (仅 Mogdb v5.0.4+ 支持)gen-cert-files            生成ssl证书文件install-cm                安装 CM 组件uninstall-cm              卸载 CM 组件takeover                  添加一个新的实例到PTK的元数据throwout                  从PTK的元数据中移除实例rename                    重命名集群install-mogila            安装mogila示例数据install-compat-tools      安装compat-toolsuninstall-compat-tools    Uninstall compat-toolscreatedb                  创建DatabaseFlags:-n, --name string   集群名称Global Flags:--disable-color         禁用彩色日志--disable-debug-log     不生成调试日志文件--disable-progressbar   全局不显示进度条-h, --help                  打印帮助信息--log-file string       指定运行日志文件路径--log-format string     指定运行日志的输出格式, 可选项: [text, json] (default "text")--log-level string      指定运行日志级别, 可选项: [debug, info, warning, error, panic] (default "info")--silence               不打印日志到标准输出--skip-fix-ssh          无需通过交互修复 ssh 连接Support from: v0.1Use "ptk cluster [command] --help" for more information about a command.

PTK可以代替gs_om命令来启停集群,示例如下

[root@ogserver ~]# ptk cluster -n dbserver  status
[   Cluster State   ]
cluster_name                   : dbserver
cluster_state                  : Normal
database_version               : openGauss 5.0.2 (build 48a25b11)[  Datanode State   ]cluster_name |  id  |       ip        | port  | user | nodename | db_role | state  |  uptime  | upstream  
---------------+------+-----------------+-------+------+----------+---------+--------+----------+-----------dbserver     | 6001 | 192.168.100.111 | 15400 | omm  | dn_6001  | primary | Normal | 00:02:29 | -         
[root@ogserver ~]# ptk cluster -n dbserver  stop 
INFO[2024-09-03T16:19:52.916] 操作: stop                                     
INFO[2024-09-03T16:19:52.916] ========================================     
INFO[2024-09-03T16:19:53.643] 数据库[192.168.100.111:15400]停止中 ...            
INFO[2024-09-03T16:19:54.807] 数据库[192.168.100.111:15400]停止成功               
INFO[2024-09-03T16:19:54.807] ========================================     
INFO[2024-09-03T16:19:54.807] 停止成功                                         
[root@ogserver ~]# ptk cluster -n dbserver  start
INFO[2024-09-03T16:20:02.251] checking cluster state before start          
INFO[2024-09-03T16:20:02.699] 操作: start                                    
INFO[2024-09-03T16:20:02.699] ========================================     
INFO[2024-09-03T16:20:02.699] 数据库[192.168.100.111:15400]启动中 ...            
INFO[2024-09-03T16:20:03.993] 数据库[192.168.100.111:15400]启动成功               
INFO[2024-09-03T16:20:04.245] ========================================     
INFO[2024-09-03T16:20:04.245] 集群启动成功 

4.2 卸载集群

卸载前需要先停止停群,然后执行ptk uninstall -n <集群名>

[root@ogserver ~]# ptk uninstall -n dbserver
INFO[2024-09-03T16:23:05.516] PTK 版本: 1.7.0 release                        
集群名:"dbserver"
+--------------+-----------------+--------------+-------+---------+----------------------+----------+
| az(priority) |       ip        | user(group)  | port  |  role   |       data dir       | upstream |
+--------------+-----------------+--------------+-------+---------+----------------------+----------+
| AZ1(1)       | 192.168.100.111 | omm(dbgroup) | 15400 | primary | /data/openGauss/data | -        |
+--------------+-----------------+--------------+-------+---------+----------------------+----------+
✔ 您确实要卸载该集群吗? 请仔细确认 (默认 n) [y/n]: y
✔ 是否要删除数据库数据 (默认 n) [y/n]: y
✔ 是否要删除操作系统用户 (默认 n) [y/n]: y
INFO[2024-09-03T16:23:08.856] [192.168.100.111][omm] 检查数据库目录属主             
INFO[2024-09-03T16:23:09.217] [192.168.100.111][omm] 检查数据进程状态              
INFO[2024-09-03T16:23:09.376] [192.168.100.111][omm] 删除文件: /data/openGauss/app,/data/openGauss/tool,/data/openGauss/tmp,/data/openGauss/data,/data/openGauss/log 
INFO[2024-09-03T16:23:09.739] [192.168.100.111][omm] 终止用户 "omm" 现有的进程: [krb5kdc] 
INFO[2024-09-03T16:23:10.142] [192.168.100.111][omm] 从cron.allow中移除用户"omm" 
INFO[2024-09-03T16:23:10.148] [192.168.100.111][omm] 移除用户"omm"的ulimits设置   
INFO[2024-09-03T16:23:10.176] [192.168.100.111][omm] 如果 "/data/openGauss" 为空,则删除 
INFO[2024-09-03T16:23:10.189] [192.168.100.111][omm] 终止用户 "omm" 的所有进程      
INFO[2024-09-03T16:23:10.222] [192.168.100.111][omm] 删除用户"omm"             
INFO[2024-09-03T16:23:10.255] 卸载成功                                         

5 总结

要做一个好的数据库,好用的工具是必不可少的,这点MogDB确实优秀,PTK命令工具十分简洁方便,简单上手。

看了一下MogDB官网还有好几实用的工具,都可以用来进行测试。这次先测到这里,回头再详细使用。


http://www.ppmy.cn/news/1522933.html

相关文章

QString如何格式化字符串

在Qt中&#xff0c;QString类提供了多种方式来格式化字符串。这包括使用arg()方法、sprintf()风格的格式化&#xff08;通过QString::asprintf()或QString::number()等辅助函数&#xff09;&#xff0c;以及从Qt 5.10开始引入的C11风格的格式化&#xff08;虽然Qt核心库本身并不…

软件测试之压力测试知识总结

软件测试之压力测试知识总结 引言 随着信息技术的飞速发展&#xff0c;软件系统在各个行业中的应用越来越广泛&#xff0c;其稳定性和可靠性成为用户关注的焦点。压力测试作为软件测试中的一种重要方法&#xff0c;对于确保软件在高负载环境下的稳定性和可靠性具有重要意义。…

专业文字处理与协作软件Adobe InCopy(IC)2024WIN/MAC下载及安装教程

目录 简介&#xff1a; 一、Adobe InCopy软件概述 软件基本信息 主要特点 最新版本 二、下载与安装 下载 安装 Windows系统安装 Mac系统安装 三、系统要求 Windows系统要求 Mac系统要求 四、使用教程 基本操作 高级功能 协作与共享 简介&#xff1a; Adobe I…

“Jmeter-InfluxDB-Grafana“常见错误有哪些如何解决?

常见错误&#xff1a; 1.网络不同&#xff0c;检查网络IP是否写对&#xff0c;端口号有没有放开&#xff08;Centos7端口号命令&#xff09;&#xff0c;防火墙是否关闭 firewall-cmd --add-port3000/tcp --permanent firewall-cmd --add-port3000/udp --permanent firewall-…

DNN学习平台(GoogleNet、SSD、FastRCNN、Yolov3)

DNN学习平台&#xff08;GoogleNet、SSD、FastRCNN、Yolov3&#xff09; 前言相关介绍1&#xff0c;登录界面&#xff1a;2&#xff0c;主界面&#xff1a;3&#xff0c;部分功能演示如下&#xff08;1&#xff09;识别网络图片&#xff08;2&#xff09;GoogleNet分类&#xf…

【微信小程序入门】4、微信小程序的项目成员和发布上线详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

高清无损!探索PDF转JPG的最佳实践工具

在信息爆炸的今天&#xff0c;PDF文件因其跨平台兼容性和文档保护特性&#xff0c;成为了工作、学习和日常生活中不可或缺的一部分。但是很多时候我们并不需要精度那么高的文件&#xff0c;图片分享更符合快捷的要求。这次我们就一起探讨有什么PDF转jpg的工具吧。 1.福昕PDF转…

ROS笔记之在指定目录及其子目录中查找包含特定ROS话题的bag文件,并输出这些文件的路径

ROS笔记之在指定目录及其子目录中查找包含特定ROS话题的bag文件&#xff0c;并输出这些文件的路径 代码 import os import subprocessdef find_bags_with_topic(root_directory, topic):bags_with_topic []for dirpath, _, filenames in os.walk(root_directory):for filena…

前端基础面试题·第三篇——JavaScript(其二)

1.深浅拷贝 1.浅拷贝 浅拷贝会创建一个新的对象&#xff0c;这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型&#xff0c;拷贝的就是基本类型的值&#xff0c;如果属性是引用类型&#xff0c;拷贝就是改引用类型的地址。 // 常见的浅拷贝1.Object.assign({},ob…

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中&#xff0c; "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时&#xff0c;经常听到第一范式&#xff08;1NF&#xff09;、第二范式&#xff08;2NF&#xff09;、第三范式&#xff08;3NF&#xff09;以及 BCNF&#xff08;Boyce-…

【2024数学建模国赛赛题解析已出】原创免费分享

2024数模国赛赛题已正式发布 数模加油站初步分析评估了此次竞赛题目&#xff1a; A题&#xff1a;偏数学仿真建模&#xff0c;难度偏难&#xff0c;适合数学专业背景的同学 B题&#xff1a;评价决策类&#xff0c;自由度大&#xff0c;容易水&#xff0c;适合基础不太好的同…

requestIdleCallback和requestAnimationFrame有什么区别?

由react fiber引起的关注 组件树转为链表&#xff0c;可分段渲染渲染时可以暂停&#xff0c;去执行其他高优先级任务&#xff0c;空闲时在继续渲染&#xff08;JS是单线程的&#xff0c;JS执行的时候没法去DOM渲染&#xff09;如何判断空闲&#xff1f;requestIdleCallback 区…

Tuxera NTFS for Mac破解版下载 Tuxera NTFS for Mac2023激活码 mac电脑ntfs磁盘软件

Tuxera NTFS for Mac是一款优秀的Mac系统完全读写软件&#xff0c;提供Fat32、NTFS、Exfat、mac os扩展格式的转换&#xff0c;稳定性好&#xff0c;传输速度极快。Tuxera NTFS for Mac功能丰富&#xff0c;能修复NTFS卷、创建NTFS磁盘映像、创建NTFS分区等等。同时软件支持所有…

C++入门9——list的使用

目录 1.什么是list&#xff1f; 2.list的构造 3.list迭代器的使用&#xff08;list iterator&#xff09; 4.list capacity 5.list modifiers 6.list的其他操作 1.什么是list&#xff1f; 在官网中&#xff0c;对list有这样的介绍&#xff1a; Lists are sequence co…

《数字信号处理》学习05-单位冲击响应与系统响应

目录 一&#xff0c;单位冲激响应 二&#xff0c;LTI系统对任意序列的系统响应 三&#xff0c;LTI系统的性质 通过上一篇文章《数字信号处理》学习04-离散时间系统中的线性时不变系统-CSDN博客的学习&#xff0c;我已经知道了离散时间线性时不变系统&#xff08;LTI&#x…

输送线相机拍照信号触发(博途PLC高速计数器中断立即输出应用)

博途PLC相关中断应用请参考下面文章链接: T法测速功能块 T法测速功能块(博途PLC上升沿中断应用)-CSDN博客文章浏览阅读165次。本文介绍了博途PLC中T法测速的原理和应用,包括如何开启上升沿中断、配置中断以及T法测速功能块的使用。重点讲述了在中断事件发生后执行的功能块处…

git submodule子模块的使用

子模块的使用 添加子模块 添加子模块 git submodule add <子仓库URL> <子仓库路径> 例子&#xff1a; git submodule add http://192.168.100.181/guideir/poco.git 3rdparty/poco 若子模块存在好几个分支&#xff0c;可以在添加子模块时&#xff0c;指定分支 g…

fastadmin 文件上传腾讯云

1-安装腾讯云SDK composer require qcloud/cos-sdk-v5 2-腾讯云配置 <?phpnamespace app\common\controller;use Qcloud\Cos\Client; use think\Controller; use think\Db;class Tencent extends Controller {/*** 上传文件* param $config* param $key* return array*/p…

点云处理实操(四) -PCL中的点云三角化

目录 一、什么是点云三角化 二、常见的三角化算法 1. 贪婪投影三角化(Greedy Projection Triangulation) 2. 泊松表面重建(Poisson Surface Reconstruction) 3. Delaunay三角化(Delaunay Triangulation) 4. 球面法三角化(Ball Pivoting Algorithm, BPA) 5. Alpha…

vue ts as断言处理

在Vue中&#xff0c;使用TypeScript时&#xff0c;你可能会遇到需要初始化数组并为其指定类型的情况。在这种情况下&#xff0c;你可以使用TypeScript的as关键字来断言数组的类型。 例如&#xff0c;如果你有一个Item类型&#xff0c;你可以这样初始化一个空数组并将其类型断言…