如何使用PTK一键安装opengaussdb 5.0

news2024/11/17 5:55:12

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.yml

Support from: v0.2

Use "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 Results
                Item                |  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 安装 MogHA
  uninstall-mogha           卸载 MogHA
  scale-in                  对一个MogDB集群进行缩容
  scale-out                 对一个MogDB集群进行扩容
  show-hba                  打印数据库 pg_hba.conf 内容
  set-hba                   设置并重新加载数据库的 pg_hba.conf
  show-guc                  打印数据库参数
  set-guc                   设置并重新加载数据库参数
  show-config               打印集群拓扑配置文件
  modify-comment            修改指定集群的备注
  shell                     执行 shell 命令或脚本
  refresh                   更新集群配置
  promote                   将一个数据库实例从备库提升为主库, 或从级联备库提升为备库
  demote                    将数据库角色从 Primary 降级为 Standby,或从 Standby 降级为 Cascade Standby
  upgrade                   升级集群的数据库版本
  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-tools
  uninstall-compat-tools    Uninstall compat-tools
  createdb                  创建Database

Flags:
  -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.1

Use "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.coloradmin.cn/o/2104342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(2)Django生产环境数据库的切换以及环境配置python-dotenv方案

简介 本文分享下个人目前在用的&#xff0c;DRF项目开发环境、生产环境数据库切换的方案。没做过什么大项目&#xff0c;可能实现的不是那么优雅。 主要思路就是通过python-dotenv库&#xff0c;编辑.env环境配置文件区分开发环境和生产环境&#xff0c;再使用数据库路由&…

IP 协议详解

一、认识 IP 地址与网络层的职责 网络层是OSI七层模型中的第三层&#xff0c;也是TCP/IP四层模型中的网络接入层。在这一层&#xff0c;数据包被封装并加上IP层的头部信息&#xff0c;以便在网络之间传输。网络层的主要功能包括路由选择、分段与重组、拥塞控制以及IP地址管理等…

深度学习--机器学习相关(2)

1.适 应 性 矩 估 计 适应性矩估计(Adaptive Moment Estimation,Adam)是一种可以代替传统的梯度下降 (SGD 和 MBGD) 的优化算法。Adam算法结合了适应性梯度算法和均方根传播的优点。 Momentum 在学习机器学习时是很可能遇到的&#xff0c;是动量的意思。动量不是速度和学…

智能提醒助理系列-AIGC模型如何对接公众号2-扣子

本系列文章记录“智能提醒助理”wx公众号 建设历程。 一、需求出发点 在公众号中对接上大模型。 二、实现路径分析 上次使用直接调用火山引擎大模型的方案&#xff1a;智能提醒助理系列-AIGC模型如何对接公众号 近期 跟朋友跟朋友交流的过程中发现&#xff0c;通过扣子制作…

一招制胜!掌握 Python 中pip的8个必备命令

在Python编程中&#xff0c;pip 是一个非常重要的工具。它是Python包管理器&#xff0c;帮助你安装、更新、删除和管理Python软件包。如果你想要轻松地使用第三方库&#xff08;比如requests、numpy、pandas&#xff09;&#xff0c;就离不开pip。 什么是 pip&#xff1f; pip…

Midjourney提示词——黑神话悟空角色生成提示词!

应广大群友和粉丝要求&#xff0c;我们也来盘一盘最近大火的黑神话悟空的提示词。 这里给大家准备了一份关于AI绘画详细的资料包&#xff0c;扫描下方二维码皆可获取&#xff01; 1号齐天大圣 The full-body portrait of the Monkey King in-game, clad in intricate war rob…

Java运行环境的下载、安装、配置与运行

一、实验目的及要求 目的&#xff1a;掌握如何下载java JDK软件包&#xff0c;如何设置Java程序的运行环境&#xff0c;如何编写与运行Java程序&#xff0c;了解Java概貌。 要求&#xff1a; 1、安装Java JDK软件包&#xff1b; 2、练习编写简单的Java Application程序并掌握…

2.5 SQL注入之文件读写

SQL注入之文件读写 文件读写注入的原理 就是利用文件的读写权限进行注入&#xff0c;它可以写入一句话木马&#xff0c;也可以读取系统文件的敏感信息。 文件读写注入的条件 高版本的MYSQL添加了一个新的特性secure_file_priv&#xff0c;该选项限制了mysql导出文件的权限 …

步进、闭环、交流伺服三类电机驱动方案对比

1、步进、闭环、交流伺服产品对比 2.4步进电机特点 低速力矩大&#xff0c;转矩会随着转速的提高而降低&#xff0c;一般在800rpm以上力矩下降加快&#xff0c;精度是步距角的3%~5%&#xff0c;整圈没有累积误差&#xff0c;两相混合步进电机精度为0.18&#xff1b;步进电机采…

黑神话悟空小黄龙怎么打 妖王小黄龙攻略

​黑神话悟空小黄龙是游戏中难度较高的BOSS之一&#xff0c;击败他可以解锁[龙]变身、解锁橙武[飞龙宝杖]&#xff0c;如果想要获得这两个法宝却又不知道如何击败小黄龙的话&#xff0c;一起来看看下面这篇攻略吧。 一、BOSS位置 【盘丝岭】-【盘丝洞】-【堕龙壁】。 二、Boss…

深入探索Springboot2.x依赖注入Bean的CGLIB代理类

问题起源 笔者最近在做一个功能&#xff0c;使用了工厂模式/策略模式设计的&#xff0c;定义了一个接口&#xff0c;下面有多种实现并通过Component注解定义为Bean&#xff0c;在运行时根据不同的业务调用不同实现的Bean&#xff0c;所以需要在运行时动态获取Bean。因此&#…

Keil5如何生成静态库.lib文件

一、这是一个Keil5工程 二、我想把这个文件输出成一个.lib文件&#xff0c;里面有一个加法函数&#xff0c;其它工程想实现加法只需调用这个函数即可 三、因为我只需要输出这一个文件成.lib&#xff0c;所以我需要屏蔽其它文件 1、右键其它文件&#xff0c;点击这个 2、把这个…

欧元承压续跌,黄金市场波动待指引

欧元兑美元延续跌势&#xff0c;季节性因素加剧市场担忧 &#xff0c;欧元/美元汇率继续徘徊在两周低点附近&#xff0c;美元的强势表现以及即将公布的关键经济数据共同施压欧元。市场分析指出&#xff0c;欧元在9月的历史表现普遍不佳&#xff0c;尤其是过去五年连续下跌的记录…

深入理解神经网络:从基础到深度学习

深入理解神经网络&#xff1a;从基础到深度学习 前言1. 神经元模型的构建代码示例&#xff1a;M-P神经元模型 2. 感知机与多层网络的实现代码示例&#xff1a;简单感知机模型 3. 误差逆传播算法&#xff08;BP&#xff09;的实践代码示例&#xff1a;BP算法的简化实现 4. 探索全…

Altium Designer爬虫工具/网页信息获取工具

使用Altium Designer脚本系统的爬虫功能&#xff0c;可以有效的提高数据处理能力&#xff0c;作为新质生产力工具&#xff0c;可以在很多方面使用到爬虫功能或者网页信息读取功能&#xff0c;如一份原理图文档有很多的物料&#xff0c;需要整理这些物料的价格、是否有现货和数据…

HiGPT:异构图语言模型的突破

人工智能咨询培训老师叶梓 转载标明出处 人工智能领域的一大挑战是如何从海量复杂的数据中提取有价值的信息&#xff0c;特别是在处理异构图数据时。异构图由多种类型的节点和边组成&#xff0c;它们之间的相互关系丰富而复杂。传统的图神经网络&#xff08;GNNs&#xff09;在…

2024最新PyCharm下载安装激活汉化教程!(附激活码)

激活码&#xff08;文末附带精品籽料&#xff09;&#xff1a; K384HW36OB-eyJsaWNlbnNlSWQiOiJLMzg0SFczNk9CIiwibGljZW5zZWVOYW1lIjoibWFvIHplZG9uZyIsImxpY2Vuc2VlVHlwZSI6IlBFUlNPTkFMIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6I…

【NAT】NAT:实现网络地址转换

目录 什么是NAT&#xff1f;NAT的功能NAT的弊端NAT的工作原理NAT分类SNAT&#xff08;源NAT&#xff09;DNAT&#xff08;目的NAT&#xff09;双向NAT 什么是NAT&#xff1f; NAT是一种在IP数据包传输过程中&#xff0c;将源IP地址或目标IP地址在私有网络和公有网络之间进行转…

芯片设计五部曲之四 | 电磁玄学宗师——射频芯片

去年我们发布的《芯片设计五部曲》&#xff0c;还挺受欢迎的&#xff1a; 芯片设计五部曲之一 | 声光魔法师——模拟IC 芯片设计五部曲之二 |‍ 图灵艺术家——数字IC 芯片设计五部曲之三 | 战略规划家——算法仿真 不少人辗转问过我们下一集什么时候出。 放心&#xff0c;…

U盘不小心格式化了怎么恢复?别慌!教你快速恢复

在日常工作和生活中&#xff0c;U盘已成为我们存储和传输数据的重要工具。然而&#xff0c;有时由于误操作或其他原因&#xff0c;我们可能会不小心格式化U盘&#xff0c;导致重要数据的丢失。这时&#xff0c;如何恢复这些数据就显得尤为重要。下面&#xff0c;我们将介绍几种…