gpstate

gpstate

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

概要

gpstate [-d master_data_directory] [-B parallel_processes] 
          [-s | -b | -Q | -e] [-m | -c] [-p] [-i] [-f] [-v | -q] | -x 
          [-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(详细输出)
可选。显示错误消息并输出详细的状态和进度信息。
-x (expand)
Optional. Displays detailed information about the progress and state of a Greenplum system expansion.
-? | -h | --help (help)
显示在线帮助。

输出字段定义

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

Table 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报告:

Table 2. gpstate为Segment给出的输出数据
输出数据 描述
Hostname 系统配置的主机名
Address 网络地址主机名(NIC名称)
Datadir Segment数据目录的文件系统位置
Port Segment的postgres数据库监听器进程的端口号
Current Role Segment的当前角色:MirrorPrimary
Preferred Role 系统初始化时的角色:MirrorPrimary
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锁文件的状态: FoundMissing
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状态: UpDown
Database status Greenplum数据库对进入请求的状态: UpDownSuspendedSuspended状态意味着当Segment正从一种状态转移到另一种状态时, 数据库活动被临时暂停。

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

Table 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