集群管理

本文档介绍了 MatrixDB 集群的基本运维管理,主要包含两个方面:

  • 命令行运维管理:集群基本的管理操作
  • 图形化运维管理:集群状态的直观监测

1 命令行运维管理

命令行基本运维管理包括启停集群、查看集群运行状态、修改集群配置等。
这些命令都是通过主节点(Master)控制的,所以必须在 Master 上执行。

1.1 启动集群

gpstart -a 命令可以启动 MatrixDB 集群。

[mxadmin@mdw ~]$ gpstart -a
20210723:16:00:36:002624 gpstart:sdw2:mxadmin-[INFO]:-Starting gpstart with args: -a
20210723:16:00:36:002624 gpstart:sdw2:mxadmin-[INFO]:-Gathering information and validating the environment...
20210723:16:00:36:002624 gpstart:sdw2:mxadmin-[INFO]:-Greenplum Binary Version: 'postgres (MatrixDB) 4.1.0-community (Greenplum Database) 7.0.0+dev.16905.gc6dbf4f14d build commit:c6dbf4f14d4452a414198fd45d507819803fffb2'

......

20210723:16:00:38:002624 gpstart:sdw2:mxadmin-[INFO]:-Database successfully started

注意!
gpstart 的详细使用方法请参考文档

1.2 停止集群

gpstop -a 命令用来停止一个正在运行的集群。

[mxadmin@mdw ~]$ gpstop -a
20210723:16:08:41:002827 gpstop:sdw2:mxadmin-[INFO]:-Starting gpstop with args: -a
20210723:16:08:41:002827 gpstop:sdw2:mxadmin-[INFO]:-Gathering information and validating the environment...

......

20210723:16:08:43:002827 gpstop:sdw2:mxadmin-[INFO]:-Successfully shutdown 1 of 1 segment instances
20210723:16:08:43:002827 gpstop:sdw2:mxadmin-[INFO]:-Database successfully shutdown with no errors reported

gpstop -a 停止集群的前提是当前没有活跃连接,否则将挂起直到其他连接退出。 如果要强行杀掉用户连接并关闭集群,请使用 gpstop -a -M fast

1.2.1 重启集群

gpstop -ar 可以重启集群。

1.2.2 重新加载授权配置

当修改 pg_hba.conf 授权配置之后,需要调用 gpstop -u 来重新加载授权配置。

注意!
gpstop 的详细使用方法请参考文档

1.3 查看集群状态

gpstate 可以查看集群的运行状态,包括:

  • Master 和数据节点(Segment)的配置信息
  • 镜像配置等
[mxadmin@mdw ~]$ gpstate
20210723:17:00:15:004109 gpstate:sdw2:mxadmin-[INFO]:-Starting gpstate with args:

......

20210723:17:00:15:004109 gpstate:sdw2:mxadmin-[INFO]:-Obtaining Segment details from master...
20210723:17:00:15:004109 gpstate:sdw2:mxadmin-[INFO]:-Gathering data from segments...
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-Greenplum instance status summary
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-----------------------------------------------------
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Master instance                                = Active
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Master standby                                 = No master standby configured
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total segment instance count from metadata     = 1
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-----------------------------------------------------
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Primary Segment Status
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-----------------------------------------------------
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total primary segments                         = 1
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total primary segment valid (at master)        = 1
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total primary segment failures (at master)     = 0
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number of postmaster.pid files missing   = 0
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number of postmaster.pid files found     = 1
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number of postmaster.pid PIDs missing    = 0
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number of postmaster.pid PIDs found      = 1
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number of /tmp lock files missing        = 0
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number of /tmp lock files found          = 1
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number postmaster processes missing      = 0
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Total number postmaster processes found        = 1
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-----------------------------------------------------
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Mirror Segment Status
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-----------------------------------------------------
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-   Mirrors not configured on this array
20210723:17:00:16:004109 gpstate:sdw2:mxadmin-[INFO]:-----------------------------------------------------

1.4 修改集群配置

gpconfig 用于查看或修改配置文件 postgresql.conf 中的配置参数。

1.4.1 查看配置

通过 gpconfig -s 加配置名可以查看配置:

[mxadmin@mdw ~]$ gpconfig -s shared_buffers
Values on all segments are consistent
GUC          : shared_buffers
Master  value: 1078464kB
Segment value: 1078464kB

1.4.2 修改配置

通过 gpconfig -c <配置名> -v <值> 来修改配置:

[mxadmin@mdw ~]$ gpconfig -c shared_buffers -v 128MB
20210723:17:13:35:004318 gpconfig:sdw2:mxadmin-[INFO]:-completed successfully with parameters '-c shared_buffers -v 128MB'

修改配置后要重启集群才能生效:

[mxadmin@mdw ~]$ gpstop -ar

重启后,查看配置:

[mxadmin@mdw ~]$ gpconfig -s shared_buffers
Values on all segments are consistent
GUC          : shared_buffers
Master  value: 128MB
Segment value: 128MB

注意!
gpconfig 的详细使用方法请参考文档

2 图形化运维管理

了解集群运维不仅可以对集群进行基本的管理操作,更有助于清楚的知悉数据库的运行状态,如节点运行压力是否过大,实例运行是否平稳等。
为了实现更好的用户运维体验,YMatrix 提供了核心指标监控视图及数据库拓扑结构视图,周期性采集 CPU 占用率、内存占用率等指标及实例运行状态,并实时展示,使你可以用更加直观的方式观测数据库运行状态。

2.1 准备工作

首先,你需要登录图形化界面。在浏览器里输入图形化界面 MXUI 进程所在机器的 IP(默认是 Master 的 IP)、端口号:

http://<IP>:8240

2.2 集群管理

2.2.1 指标视图

成功登录之后进入“集群管理”页面,默认展示“指标视图”,包含 2 个部分:

  1. 集群信息:包括集群状态、数据及诶但数量及数据库版本信息。
  2. 指标信息:数据库连接数资源占用情况、各节点的核心指标信息,YMatrix 每隔 5s 自动收集一次指标信息并展示,包括 CPU 占用率、内存占用率、磁盘 I/O、网络 I/O、连接数等。

2.2.2 实例视图

切换至“实例视图”,各节点信息由指标切换至实例的状态及分布情况。

鼠标悬浮于任意实例,即可得到该实例的详细信息。

2.2.3 列表视图

切换至“列表视图”,列表形式展示各节点的信息如实例的状态、 DBID、端口、存储路径等。