===
Table of Contents
- 产品介绍
- 虚拟机规划
- 安装流程
- 检查配置
- 集群规划
- 安装准备
- 安装部署
- 连接测试
- 集群启停
- **数据库卸载**
- 状态检查
- 查看 GBase 8c 所有组件状态
- 查看 GHA\_SERVER 节点状态
- 查看 DCS 节点状态
- 查看 GTM 节点状态
- 查看 CN 节点状态
- 查看 DN 节点状态
- CN 节点上的参数修改链接任意IP
- 使用数据库管理工具远程连接 GBase 8c 数据库-dbeaver
- 使用 GBase 8c 提供的 gs\_check 工具检查系统 CPU 情况
- 使用 GBase 8c 提供的 gs\_checkperf 工具检查数据库性能状态
- 查看各组件日志
- 查看 gbase 相关服务
- 参考资料
===
产品介绍
GBase 8c 是基于 openGauss 3.0.0 构建的一款多模多态的分布式数据库,支持行存、列存、内存等多种存储模式和单机、主备与分布式等多种部署形态。GBase 8c具备高性能、高可用、弹性伸缩、高安全性等特性,支持强一致性的分布式事务,支持主流的RC和RR的事务隔离级别。可以部署在物理机、虚拟机、容器、私有云和公有云,为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。
虚拟机规划
序号
主机名
CPU
内存
硬盘
SWAP大小
1
gbase8c_1
1
4G
40G
8G
2
gbase8c_2
1
4G
40G
8G
3
gbase8c_3
1
4G
40G
8G
安装流程
检查配置
检查CPU
lscpu
检查内存
cat /etc/meminfo
检查swap
free -h
检查硬盘
fdisk -l |grep Disk
检查操作系统版本
cat /etc/redhat-release
集群规划
物理规划
IP
hostname
角色
192.168.245.161
gbase8c_1
gha_server(高可用服务)、dcs(分布式配置存储)、gtm(全局事务管理)、coordinator(协调器)
192.168.245.162
gbase8c_2
datanode(数据节点) 1
192.168.245.163
gbase8c_3
datanode(数据节点) 2
逻辑规划
节点类型
节点名称
所在机器
PROT
角色
work_dir(基目录为/home/gbase)
gha_server
gha_server
gbase8c_1
20001
主
NA
dcs
NA
gbase8c_1
2379
NA
NA
gtm
gtm
gbase8c_1
6666
主
/home/gbase/data/gtm/gtm1
coordinator
CN1
gbase8c_1
5432
NA
/home/gbase/data/coord/cn1
datanode
dn_1
gbase8c_2
15432
主
/home/gbase/data/dn1/dn1_1
datanode
dn_2
gbase8c_3
20010
主
/home/gbase/data/dn2/dn2_1
为了空间节省,最小化安装方式,没有多个dcs,没有多个CN,DN没有配置冗余。
安装准备
检查和关闭防火墙
systemctl stop firewalld.service
systemctl status firewalld.service
systemctl disable firewalld.service
检查和关闭selinux
(1) 每个节点执行
# sestatus
如果系统提示以下信息说明 selinux 已被禁用
SELinux status: disabled
1
(2) 否则,打开每个节点的 selinux 配置文件
# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
将 SELINUX 关键字的值修改为 disabled,存盘退出,执行
# shutdown -r
重启操作系统。
环境检查
检查主机名
192.168.245.161 gbase8c_1
192.168.245.162 gbase8c_2
192.168.245.163 gbase8c_3
检查软件包
rpm -q bison flex patch bzip2
yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel bzip2 firewalld crontabs net-tools openssh-server openssh-clients which sshpass
检查是否支持rdtscp
cat /proc/cpuinfo|grep rdtscp
检查核心环境变量
【目的】避免信号量不足无法初始化。
【现象】如果信号量不足,执行安装脚本会发现以下错误
or – 执行修改信号量最大值的命令:
# sysctl -w kernel.sem=“250 85000 250 330”
[step 1]: check parameter
[step 2]: check install env and os setting
On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please check it.
The required value should be greater than 321. You can modify it in file ‘/etc/sysctl.conf’.
在sysctl.conf 配置文件中,配置参数如下:
kernel.sem = 40960 2048000 40960 20480
保存并退出。执行 sysctl -p 生效。
创建用户与配置sudo
创建用户
useradd gbase
echo gbase | passwd --stdin gbase
配置sudo
sed -i.bak ‘/^root/a\gbase ALL=(ALL) NOPASSWD:ALL’ /etc/sudoers
grep ‘gbase’ /etc/sudoers -B1
–
三个节点都要执行
# visudo
打开 sudoer 配置文件,找到 ”root ALL=(ALL) ALL” 行,在下方增加
“gbase ALL=(ALL) NOPASSWD:ALL”
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
gbase ALL=(ALL) NOPASSWD:ALL
完成 sudoer 配置后,数据库安装就可以用 gbase 用户了。
–
NTP同步
yum -y install ntp
- 主安装节点(10.168.245.161)作为 server
vi /etc/ntp.conf
restrict 192.168.245.161 nomodify notrap nopeer noquery --新增加
restrict 127.0.0.1
restrict ::1
# Hosts on local network are less restricted.
restrict 192.168.245.255 mask 255.255.255.0 nomodify notrap --新增加
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
注释这4行
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
2)启动
[root@gbase8c_1 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabl ed; vendor preset: disabled)
Active: inactive (dead)
[root@gbase8c_1 ~]# vi /etc/ntp.conf
[root@gbase8c_1 ~]# vi /etc/ntp.conf
[root@gbase8c_1 ~]# systemctl start ntpd
[root@gbase8c_1 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2023-03-21 20:02:49 CST; 6s ago
Process: 46443 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 46444 (ntpd)
CGroup: /system.slice/ntpd.service
└─46444 /usr/sbin/ntpd -u ntp:ntp -g
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: Listen and drop on 1 v6wildcard :: UDP 123
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: Listen normally on 2 lo 127.0.0.1 UDP 123
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: Listen normally on 3 ens33 192.168.245.161 UDP 123
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: Listen normally on 4 lo ::1 UDP 123
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: Listening on routing socket on fd #21 for interface updates
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: 0.0.0.0 c016 06 restart
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Mar 21 20:02:49 gbase8c_1 ntpd[46444]: 0.0.0.0 c011 01 freq_not_set
Mar 21 20:02:50 gbase8c_1 ntpd[46444]: 0.0.0.0 c514 04 freq_mode
[root@gbase8c_1 ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
3)检查
[root@gbase8c_1 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*LOCAL(0) .LOCL. 5 l 23 64 1 0.000 0.000 0.000
162节点
restrict 192.168.245.162 nomodify notrap nopeer noquery --新增加
restrict 127.0.0.1
restrict ::1
注释和增加
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.10.70
Fudge 192.168.10.70 stratum 10
[root@gbase8c_2 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabl ed; vendor preset: disabled)
Active: inactive (dead)
[root@gbase8c_2 ~]# vi /etc/ntp.conf
[root@gbase8c_2 ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@gbase8c_2 ~]# systemctl start ntpd
[root@gbase8c_2 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2023-03-21 20:08:14 CST; 4s ago
Process: 13844 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 13845 (ntpd)
CGroup: /system.slice/ntpd.service
└─13845 /usr/sbin/ntpd -u ntp:ntp -g
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: Listen and drop on 1 v6wildcard :: UDP 123
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: Listen normally on 2 lo 127.0.0.1 UDP 123
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: Listen normally on 3 ens33 192.168.245.162 UDP 123
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: Listen normally on 4 ens33 fe80::ba15:3bc4:237:e83c UDP 123
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: Listen normally on 5 lo ::1 UDP 123
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: Listening on routing socket on fd #22 for interface updates
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: 0.0.0.0 c016 06 restart
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Mar 21 20:08:14 gbase8c_2 ntpd[13845]: 0.0.0.0 c011 01 freq_not_set
[root@gbase8c_2 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
192.168.10.70 .INIT. 16 u - 64 0 0.000 0.000 0.000
[root@gbase8c_2 ~]#
[root@gbase8c_3 ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@gbase8c_3 ~]# systemctl start ntpd
[root@gbase8c_3 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2023-03-21 20:10:36 CST; 4s ago
Process: 17795 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 17796 (ntpd)
CGroup: /system.slice/ntpd.service
└─17796 /usr/sbin/ntpd -u ntp:ntp -g
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: Listen and drop on 1 v6wildcard :: UDP 123
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: Listen normally on 2 lo 127.0.0.1 UDP 123
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: Listen normally on 3 ens33 192.168.245.163 UDP 123
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: Listen normally on 4 lo ::1 UDP 123
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: Listen normally on 5 ens33 fe80::451a:d5f9:2fc9:2a79 UDP 123
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: Listen normally on 6 ens33 fe80::952f:9450:874b:d73 UDP 123
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: Listening on routing socket on fd #23 for interface updates
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: 0.0.0.0 c016 06 restart
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Mar 21 20:10:36 gbase8c_3 ntpd[17796]: 0.0.0.0 c011 01 freq_not_set
[root@gbase8c_3 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
gbase8c_1 LOCAL(0) 6 u 7 64 1 0.558 0.355 0.000
[root@gbase8c_3 ~]#
配置互信
注意:每个节点都要执行以下命令
(1) 切换到 gbase 用户下
# su - gbase
(2) 创建秘钥目录和必要的授权
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
(3) 生成秘钥文件
$ ssh-keygen -t rsa -N ‘’ -f /home/gbase/.ssh/id_rsa -q
(4) 将公钥文件上传至其他节点即可实现免密登录(所有节点都要执行):
$ for i in {161…163}; do sshpass -p ‘gbase’ ssh-copy-id -o stricthostkeychecking=no gbase@192.168.245.$i; done
(5)验证
ssh gbase8c_1 date;ssh gbase8c_2 date;ssh gbase8c_3 date
or
每个节点都要执行以下命令——
(1) 切换到 gbase 用户下
# su - gbase
(2) 创建秘钥目录和必要的授权
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
(3) 生成秘钥文件(连续回车即可)
$ ssh-keygen -t rsa
(4) 将公钥文件上传至其他节点即可实现免密登录:
此操作需输入 gbase 的密码,三个节点都要执行——
$ ssh-copy-id gbase@10.168.10.70
$ ssh-copy-id gbase@10.168.10.71
$ ssh-copy-id gbase@10.168.10.72
$ echo ‘StrictHostKeyChecking no’ >> ~/.ssh/config; echo ‘UserKnownHostsFile ~/.ssh/known_hosts’ >> ~/.ssh/config; chmod 644 ~/.ssh/config
安装部署
上传和解压软件包
gbase@gbase8c_1 ~]$ tar -zxvf GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz
GBase8cV5_S3.0.0B76_CentOS_x86_64_om.sha256
GBase8cV5_S3.0.0B76_CentOS_x86_64_om.tar.gz
GBase8cV5_S3.0.0B76_CentOS_x86_64_pgpool.tar.gz
GBase8cV5_S3.0.0B76_CentOS_x86_64.sha256
GBase8cV5_S3.0.0B76_CentOS_x86_64.tar.bz2
包放到/home/gbase/gbase8c_pkg下
解压安装包 GBase8cV5_S3.0.0B76_CentOS_x86_64_om.tar.gz
tar zxf GBase8cV5_S3.0.0B76_CentOS_x86_64_om.tar.gz
编辑配置文件
gha_server:
- gha_server1:
host: 192.168.245.161
port: 20001
dcs:
- host: 192.168.245.161
port: 2379
# - host: 192.168.245.162
# port: 2379
# - host: 192.168.245.163
# port: 2379
gtm:
- gtm1:
host: 192.168.245.161
agent_host: 192.168.245.161
role: primary
port: 6666
agent_port: 8001
work_dir: /home/gbase/data/gtm/gtm1
# 实验环境只保留一个 gtm
# - gtm2:
# host: 100.0.1.17
# agent_host: 10.0.1.17
# role: standby
# port: 6666
# agent_port: 8002
# work_dir: /home/gbase/data/gtm/gtm2
coordinator:
- cn1:
host: 192.168.245.161
agent_host: 192.168.245.161
role: primary
port: 5432
agent_port: 8003
work_dir: /home/gbase/data/coord/cn1
# 实验环境只保留一个 cn
# - cn2:
# host: 100.0.1.18
# agent_host: 10.0.1.18
# role: primary
# port: 5432
# agent_port: 8004
# work_dir: /home/gbase/data/coord/cn2
datanode:
- dn1:
- dn1_1:
host: 192.168.245.162
agent_host: 192.168.245.162
role: primary
port: 15432
agent_port: 8005
work_dir: /home/gbase/data/dn1/dn1_1
# 实验环境只保留 primary dn
# - dn1_2:
# host: 100.0.1.18
# agent_host: 10.0.1.18
# role: standby
# port: 15433
# agent_port: 8006
# work_dir: /home/gbase/data/dn1/dn1_2
# - dn1_3:
# host: 100.0.1.16
# agent_host: 10.0.1.16
# role: standby
# port: 15433
# agent_port: 8006
# work_dir: /home/gbase/data/dn1/dn1_3
- dn2:
- dn2_1:
host: 192.168.245.163
agent_host: 192.168.245.163
role: primary
port: 20010
agent_port: 8007
work_dir: /home/gbase/data/dn2/dn2_1
# numa:
# cpu_node_bind: 0,1
# mem_node_bind: 0,1
# - dn2_2:
# host: 100.0.1.16
# agent_host: 10.0.1.16
# role: standby
# port: 20010
# agent_port: 8008
# work_dir: /home/gbase/data/dn2/dn2_2
# # numa:
# # cpu_node_bind: 2
# # mem_node_bind: 2
# - dn2_3:
# host: 100.0.1.17
# agent_host: 10.0.1.17
# role: standby
# port: 20010
# agent_port: 8009
# work_dir: /home/gbase/data/dn2/dn2_3
# # numa:
# # cpu_node_bind: 3
# # mem_node_bind: 3
env:
# cluster_type allowed values: multiple-nodes, single-inst, default is multiple-nodes
cluster_type: multiple-nodes
pkg_path: /home/gbase/gbase8c_pkg # 安装包所在路径
prefix: /home/gbase/gbase_db # 运行目录
version: V5_S3.0.0B76 # 与安装包版本一致 GBase8cV5_S3.0.0B76
user: gbase
port: 22
# constant:
# virtual_ip: 100.0.1.254/24
执行安装
cd /home/gbase/gbase8c_pkg/script/
./gha_ctl install -c gbase -p /home/gbase/gbase8c_pkg
A. 数据库名称缺省 gbase8c,如果需要更名可以使用 -c 参数;
B. 配置文件路径缺省为 /home/gbase,如果需要更改可以使用 -p 参数。
[gbase@gbase8c_1 script]$ ./gha_ctl install -c gbase -p /home/gbase/gbase8c_pkg
{
“ret”:0,
“msg”:“Success”
}
连接测试
在主节点 gbase8c_1 执行 $ gsql -d postgres -p 5432,出现 postgres=# 操作符说明客户端工具 gsql 成功连接 GBase 8c 数据库。
gsql -d postgres -p 5432
[root@gbase8c_1 gbase]# su - gbase
Last login: Tue Mar 21 20:29:07 CST 2023 on pts/1
[gbase@gbase8c_1 ~]$ gsql -d postgres -p 5432
gsql ((multiple_nodes GBase8cV5 3.0.0B76 build 47948f99) compiled at 2023-02-27 16:04:20 commit 0 last mr 1232 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type “help” for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------±------±---------±--------±------±------------------
postgres | gbase | UTF8 | C | C |
template0 | gbase | UTF8 | C | C | =c/gbase +
| | | | | gbase=CTc/gbase
template1 | gbase | UTF8 | C | C | =c/gbase +
| | | | | gbase=CTc/gbase
(3 rows)
集群启停
检查
gha_ctl monitor -l http://192.168.245.161:2379 -H
-H 参数:如指定该参数,则集群状态结果以表格形式展示。
状态
running:节点处于正常运行状态
stopped:节点处于正常停止状态
unstable:节点处于不稳定的中间状态。检查故障处理
[gbase@gbase8c_1 ~]$ gha_ctl monitor -l http://192.168.245.131:2379 -H
{
“ret”:80000301,
“msg”:“Transport endpoint unreach”
}
[gbase@gbase8c_1 ~]$ gha_ctl monitor -l http://192.168.245.161:2379 -H
±—±------------±----------------±------±--------±-------+
| No | name | host | port | state | leader |
±—±------------±----------------±------±--------±-------+
| 0 | gha_server1 | 192.168.245.161 | 20001 | running | True |
±—±------------±----------------±------±--------±-------+
±—±-----±----------------±-----±--------------------------±--------±--------+
| No | name | host | port | work_dir | state | role |
±—±-----±----------------±-----±--------------------------±--------±--------+
| 0 | gtm1 | 192.168.245.161 | 6666 | /home/gbase/data/gtm/gtm1 | running | primary |
±—±-----±----------------±-----±--------------------------±--------±--------+
±—±-----±----------------±-----±---------------------------±--------±--------+
| No | name | host | port | work_dir | state | role |
±—±-----±----------------±-----±---------------------------±--------±--------+
| 0 | cn1 | 192.168.245.161 | 5432 | /home/gbase/data/coord/cn1 | running | primary |
±—±-----±----------------±-----±---------------------------±--------±--------+
±—±------±------±----------------±------±---------------------------±--------±--------+
| No | group | name | host | port | work_dir | state | role |
±—±------±------±----------------±------±---------------------------±--------±--------+
| 0 | dn1 | dn1_1 | 192.168.245.162 | 15432 | /home/gbase/data/dn1/dn1_1 | running | primary |
| 1 | dn2 | dn2_1 | 192.168.245.163 | 20010 | /home/gbase/data/dn2/dn2_1 | running | primary |
±—±------±------±----------------±------±---------------------------±--------±--------+
±—±----------------------------±-------±--------±---------+
| No | url | name | state | isLeader |
±—±----------------------------±-------±--------±---------+
| 0 | http://192.168.245.161:2379 | node_0 | healthy | True |
±—±----------------------------±-------±--------±---------+
停止
语法格式
gha_ctl stop all -l dcslist <-c cluster>
-c 参数:指定数据库名称,为可选字段。缺省默认值 gbase。
dcslist 为 DCS 地址,一般情况下可以只列出一个节点地址,其他节点会自动同步消息。
为了保证高可用,也可以列出所有节点地址。
示例
具体操作命令如下:
[gbase@gbase8c ~]$ gha_ctl stop all -l http://10.0.7.16:2379
返回操作成功信息:
{
“ret”:0,
“msg”:“Success”
}
gha_ctl stop all -l http://192.168.245.161:2379
启动
语法格式
gha_ctl start all -l dcslist <-c cluster>
-c 参数:指定数据库名称,为可选字段。缺省默认值 gbase。
dcslist 为 DCS 地址,一般情况下可以只列出一个节点地址,其他节点会自动同步消息。
为了保证高可用,也可以列出所有节点地址。
示例
具体操作命令如下:
gha_ctl start all -l http://192.168.245.161:2379
数据库卸载
语法格式
GBase 8c 数据库集群卸载语法格式:
gha_ctl uninstall <-f> <-c cluster> -l dcslist
卸载完成后删除 DCS 工具:
gha_ctl destroy dcs -l dcslist
-c 参数:指定数据库名称,为可选字段。缺省默认值 gbase。
-f 参数:表示清理安装目录,为可选字段。缺省保留目录文件夹。
dcslist 为 DCS 地址,一般情况下可以只列出一个节点地址,其他节点会自动同步
消息。为了保证高可用,也可以列出所有节点地址。
集群卸载具体操作命令为:
[gbase@gbase8c ~]$ gha_ctl uninstall -c gbase -l http://192.168.245.161:2379
返回操作成功信息:
{
“ret”:0,
“msg”:“Success”
}
在集群卸载后环境变量自动清除,因此再次执行 gha_ctl 命令需要进入 script 目录。卸
载 DCS 工具的具体操作命令为:
[gbase@gbase8c ~]$ cd /home/gbase/gbase_package/script
[gbase@gbase8c script]$ ./gha_ctl destroy dcs -l http://192.168.245.161:2379
返回操作成功信息:
{
“ret”:0,
“msg”:“Success”
}
状态检查
查看 GBase 8c 所有组件状态
gha_ctl monitor -l http://192.168.245.161:2379 -H
[gbase@gbase8c_1 ~]$ gha_ctl monitor -l http://192.168.245.161:2379 -H
±—±------------±----------------±------±--------±-------+
| No | name | host | port | state | leader |
±—±------------±----------------±------±--------±-------+
| 0 | gha_server1 | 192.168.245.161 | 20001 | running | True |
±—±------------±----------------±------±--------±-------+
±—±-----±----------------±-----±--------------------------±--------±--------+
| No | name | host | port | work_dir | state | role |
±—±-----±----------------±-----±--------------------------±--------±--------+
| 0 | gtm1 | 192.168.245.161 | 6666 | /home/gbase/data/gtm/gtm1 | running | primary |
±—±-----±----------------±-----±--------------------------±--------±--------+
±—±-----±----------------±-----±---------------------------±--------±--------+
| No | name | host | port | work_dir | state | role |
±—±-----±----------------±-----±---------------------------±--------±--------+
| 0 | cn1 | 192.168.245.161 | 5432 | /home/gbase/data/coord/cn1 | running | primary |
±—±-----±----------------±-----±---------------------------±--------±--------+
±—±------±------±----------------±------±---------------------------±--------±--------+
| No | group | name | host | port | work_dir | state | role |
±—±------±------±----------------±------±---------------------------±--------±--------+
| 0 | dn1 | dn1_1 | 192.168.245.162 | 15432 | /home/gbase/data/dn1/dn1_1 | running | primary |
| 1 | dn2 | dn2_1 | 192.168.245.163 | 20010 | /home/gbase/data/dn2/dn2_1 | running | primary |
±—±------±------±----------------±------±---------------------------±--------±--------+
±—±----------------------------±-------±--------±---------+
| No | url | name | state | isLeader |
±—±----------------------------±-------±--------±---------+
| 0 | http://192.168.245.161:2379 | node_0 | healthy | True |
±—±----------------------------±-------±--------±---------+
查看 GHA_SERVER 节点状态
gha_ctl monitor server -l http://192.168.245.161:2379
[gbase@gbase8c_1 ~]$ gha_ctl monitor server -l http://192.168.245.161:2379
{
“cluster”: “gbase”,
“version”: “V5_S3.0.0B76”,
“server”: [
{
“name”: “gha_server1”,
“host”: “192.168.245.161”,
“port”: “20001”,
“state”: “running”,
“isLeader”: true
}
]
查看 DCS 节点状态
gha_ctl monitor dcs -l http://192.168.245.161:2379
[gbase@gbase8c_1 ~]$ gha_ctl monitor dcs -l http://192.168.245.161:2379
{
“cluster”: “gbase”,
“version”: “V5_S3.0.0B76”,
“dcs”: {
“clusterState”: “healthy”,
“members”: [
{
“url”: “http://192.168.245.161:2379”,
“id”: “41c5342c28fd1ed5”,
“name”: “node_0”,
“isLeader”: true,
“state”: “healthy”
}
]
}
}
查看 GTM 节点状态
gha_ctl monitor gtm -l http://192.168.245.161:2379
[gbase@gbase8c_1 ~]$ gha_ctl monitor gtm -l http://192.168.245.161:2379
{
“cluster”: “gbase”,
“version”: “V5_S3.0.0B76”,
“gtm”: [
{
“name”: “gtm1”,
“host”: “192.168.245.161”,
“port”: “6666”,
“workDir”: “/home/gbase/data/gtm/gtm1”,
“agentPort”: “8001”,
“state”: “running”,
“role”: “primary”,
“agentHost”: “192.168.245.161”
}
]
}
查看 CN 节点状态
gha_ctl monitor coordinator -l http://192.168.245.161:2379
[gbase@gbase8c_1 ~]$ gha_ctl monitor coordinator -l http://192.168.245.161:2379
{
“cluster”: “gbase”,
“version”: “V5_S3.0.0B76”,
“coordinator”: [
{
“name”: “cn1”,
“host”: “192.168.245.161”,
“port”: “5432”,
“workDir”: “/home/gbase/data/coord/cn1”,
“agentPort”: “8003”,
“state”: “running”,
“role”: “primary”,
“agentHost”: “192.168.245.161”,
“central”: true
}
]
}
查看 DN 节点状态
gha_ctl monitor datanode -l http://192.168.245.161:2379
[gbase@gbase8c_1 ~]$ gha_ctl monitor datanode -l http://192.168.245.161:2379
{
“cluster”: “gbase”,
“version”: “V5_S3.0.0B76”,
“datanode”: {
“dn1”: [
{
“name”: “dn1_1”,
“host”: “192.168.245.162”,
“port”: “15432”,
“workDir”: “/home/gbase/data/dn1/dn1_1”,
“agentPort”: “8005”,
“state”: “running”,
“role”: “primary”,
“agentHost”: “192.168.245.162”
}
],
“dn2”: [
{
“name”: “dn2_1”,
“host”: “192.168.245.163”,
“port”: “20010”,
“workDir”: “/home/gbase/data/dn2/dn2_1”,
“agentPort”: “8007”,
“state”: “running”,
“role”: “primary”,
“agentHost”: “192.168.245.163”
}
]
}
}
CN 节点上的参数修改链接任意IP
gs_guc check -Z coordinator -N all -I all -c “listen_addresses”
gs_guc reload -Z coordinator -N all -I all -h “host all all 0.0.0.0/0 sha256”
[gbase@gbase8c_1 ~]$ gs_guc check -Z coordinator -N all -I all -c “listen_addresses”
The gs_guc run with the following arguments: [gs_guc -Z coordinator -N all -I all -c listen_addresses check ].
Total GUC values: 1.
The value of parameter listen_addresses is same on all instances.
listen_addresses=‘localhost,192.168.245.161’
[gbase@gbase8c_1 ~]$ gs_guc reload -Z coordinator -N all -I all -h “host all all 0.0.0.0/0 sha256”
The gs_guc run with the following arguments: [gs_guc -Z coordinator -N all -I all -h host all all 0.0.0.0/0 sha256 reload ].
Begin to perform the total nodes: 3.
Popen count is 1, Popen success count is 1, Popen failure count is 0.
Begin to perform gs_guc for coordinators.
Command count is 1, Command success count is 1, Command failure count is 0.
Total instances: 1.
ALL: Success to perform gs_guc!
使用数据库管理工具远程连接 GBase 8c 数据库-dbeaver
下载驱动
注意:不能用初始gbase用户链接
使用 GBase 8c 提供的 gs_check 工具检查系统 CPU 情况
CPU 使用率
gs_check -i CheckCPU -L
CPU 超线程是否开启
gs_check -i CheckHyperThread
使用 GBase 8c 提供的 gs_checkperf 工具检查数据库性能状态
gs_checkperf -i pmk -U gbase
查看各组件日志
GTM
cd /home/gbase/gbase_db/log/pg_log/gtm1
tailf postgresql-2023-03-16_000000.log
CN
cd /home/gbase/gbase_db/log/pg_log/cn1
tailf postgresql-2023-03-16_000000.log
DN
cd /home/gbase/gbase_db/log/pg_log/dn1_1
tailf postgresql-2023-03-16_000000.log
查看 gbase 相关服务
systemctl list-units | grep -i gbase
[gbase@gbase8c_1 ~]$ systemctl list-units | grep -i gbase
coordinator_gbase_cn1.service loaded active running gha_agent deamon
gtm_gbase_gtm1.service loaded active running gha_agent deamon
server_gbase_gha_server1.service loaded active running gha_server deamon
sudo systemctl status coordinator_gbase_cn1.service
sudo systemctl status gtm_gbase_gtm1.service
sudo systemctl status server_gbase_gha_server1.service
sudo systemctl status datanode_gbase_dn2_1.service ----162节点
sudo systemctl status datanode_gbase_dn1_1.service ---- 161节点
参考资料
[GBase 8c V5 主备式部署实操] https://blog.csdn.net/wiserhowe/article/details/127261720?spm=1001.2014.3001.5502
[严少安-快速搭建 GBase 8c 集群环境] https://www.modb.pro/db/618721
[严少安-GBase 8c 分布式数据库 常用命令 & 常见问题 集锦] https://www.modb.pro/db/619360