gpstate

gpstate

显示正在运行的Greenplum数据库系统的状态。

概要

gpstate [-d master_data_directory] [-B parallel_processes] 
          [-s | -b | -Q | -e] [-m | -c] [-p] [-i] [-f] [-v | -q] 
          [-l log_directory]

gpstate -? | -h | --help

描述

gpstate工具显示有关正在运行的Greenplum数据库实例的信息。由于Greenplum数据库系统由跨多台机器的多个PostgreSQL数据库实例(Segment)组成,因此用户可能需要了解关于Greenplum数据库系统的额外信息。gpstate工具为Greenplum数据库系统提供了额外的状态信息,例如:

  • 哪台Segment主机已被关闭?
  • Master和Segment配置信息(主机、数据目录等)。
  • 系统使用的端口。
  • 主Segment到其相应的镜像Segment的映射。

选项

-b (简要状态)
可选。显示Greenplum数据库系统状态的简要概述。这是默认选项。
-B parallel_processes
并行检查的Segment数。如果未指定,则工具将根据需要检查多少个Segment实例启动最多60个并行进程。
-c (显示主Segment到镜像Segment的映射)
可选。显示主Segment到镜像Segment的映射。
-d master_data_directory
可选。Master的数据目录。如果未指定,则使用为$MASTER_DATA_DIRECTORY设置的值。
-e (显示镜像状态出问题的Segment)
显示具有潜在问题的主要/镜像Master对的详细信息,例如1)活动Segment正在Change Tracking模式下运行,表示Segment处于关闭状态;2)活动Segment处于重新同步模式,这意味着它正在赶上对镜像的更改;3)一个Segment不是它的首选角色,例如在系统初始化时作为一个主Segment的现在作为一个镜像Segment,这意味着用户可能有一台或多台Segment主机的处理负载不平衡。
-f (显示后备Master的详情)
显示后备Master主机的详细信息(如果配置)。
-i (显示Greenplum数据库的版本)
显示每个实例的Greenplum数据库软件版本信息。
-l logfile_directory
写入日志文件的目录。默认为 ~/gpAdminLogs
-m (列出镜像)
可选。列出系统中的镜像Segment实例及其当前角色和同步状态。
-p (显示端口)
列出整个Greenplum数据库系统使用的端口号。
-q (没有屏幕输出)
可选。以静默模式运行。除了警告信息之外,屏幕上不显示命令输出。但是,这些信息仍然写入到日志文件中。
-Q (快速状态)
可选。在Master主机上的系统目录中检查Segment的状态。不直接向Segment征询状态。
-s (详细状态)
可选。显示Greenplum数据库系统的详细状态信息.
-v (详细输出)
可选。显示错误消息并输出详细的状态和进度信息。
-? | -h | --help (help)
显示在线帮助。

输出字段定义

以下输出字段由主机的gpstate -s报告:

表 1. gpstate为Master给出的输出数据
输出数据 描述
Master host Master的主机名
Master postgres process ID 主数据库侦听进程的PID
Master data directory 主数据目录的文件系统位置
Master port Master上postgres数据库监听器进程的端口
Master current role dispatch = 常规操作模式

utility = 维护模式

Greenplum array configuration type Standard = 每台主机一个NIC

Multi-Home = 每台主机多个NIC

Greenplum initsystem version 系统第一次初始化时的Greenplum数据库版本
Greenplum current version Greenplum数据库当前的版本
Postgres version Greenplum数据库基于的PostgreSQL版本
Greenplum mirroring status 物理镜像或无镜像
Master standby 后备Master的主机名
Standby master state 后备Master的状态:活跃或被动

以下输出字段由gpstate -s为每个Segment报告:

表 2. gpstate为Segment给出的输出数据
输出数据 描述
Hostname 系统配置的主机名
Address 网络地址主机名(NIC名称)
Datadir Segment数据目录的文件系统位置
Port Segment的postgres数据库监听器进程的端口号
Current Role Segment的当前角色:Mirror或者Primary
Preferred Role 系统初始化时的角色:Mirror或者Primary
Mirror Status 主/镜像Segment对的状态:

Synchronized = 两者上的数据都是最新

Resynchronization = 数据当前正被从一个拷贝到另一个

Change Tracking = Segment停止并且活动Segment正在记录更改

Change tracking data size 当处于Change Tracking模式中时,更改日志文件的尺寸(如果应用压缩,尺寸可能增长或者收缩)
Estimated total data to synchronize 当处于Resynchronization模式中时,剩下要同步的数据的估计尺寸
Data synchronized 当处于Resynchronization模式中时,已经被同步的数据的估计尺寸
Estimated resync progress with mirror 当处于Resynchronization模式中时,完成百分比的估计值
Estimated resync end time 当处于Resynchronization模式中时,完成时间的估计
File postmaster.pid postmaster.pid锁文件的状态:Found或者Missing
PID from postmaster.pid file postmaster.pid文件中找到的PID
Lock files in /tmp 为Segment的postgres会在/tmp中创建Segment端口锁文件(当Segment关闭时会移除该文件)
Active PID Segment的活动进程ID
Master reports status as 系统目录中报告的Segment状态: Up或者Down
Database status Greenplum数据库对进入请求的状态:UpDown或者SuspendedSuspended状态意味着当Segment正从一种状态转移到另一种状态时,数据库活动被临时暂停。

以下输出字段由gpstate -f为每个后备Master复制状态报告:

表 3. gpstate对Master复制给出的输出数据
输出数据 描述
Standby address 后备Master的主机名
Standby data dir 后备Master的数据目录的文件系统位置
Standby port 后备Master的postgres数据库监听器进程的端口
Standby PID 后备Master的进程ID
Standby status 后备Master的状态:Standby host passive
WAL Sender State 预写式日志(WAL)流状态: streamingstartupbackupcatchup
Sync state WAL发送者同步状态:sync
Sent Location WAL发送者事务日志(xlog)记录发送位置
Flush Location WAL接收者xlog记录刷入位置
Replay Location 后备上xlog记录重放位置

示例

显示Greenplum数据库系统的详细信息:

gpstate -s

在Master主机系统目录中快速检查下游Segment:

gpstate -Q
显示关于镜像Segment实例的信息:
gpstate -m

显示关于后备Master配置的信息:

gpstate -f

显示Greenplum软件版本信息:

gpstate -i

另见

gpstartgplogfilter