gpstate

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

概要

  1. gpstate [-d master_data_directory] [-B parallel_processes]
  2. [-s | -b | -Q | -e] [-m | -c] [-p] [-i] [-f] [-v | -q] | -x
  3. [-l log_directory]
  4. 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 hostMaster的主机名
Master postgres process ID主数据库侦听进程的PID
Master data directory主数据目录的文件系统位置
Master portMaster上postgres数据库监听器进程的端口
Master current roledispatch = 常规操作模式

utility = 维护模式

Greenplum array configuration typeStandard = 每台主机一个NIC

Multi-Home = 每台主机多个NIC

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

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

Table 2. gpstate为Segment给出的输出数据
输出数据描述
Hostname系统配置的主机名
Address网络地址主机名(NIC名称)
DatadirSegment数据目录的文件系统位置
PortSegment的postgres数据库监听器进程的端口号
Current RoleSegment的当前角色: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.pidpostmaster.pid锁文件的状态: FoundMissing
PID from postmaster.pid filepostmaster.pid文件中找到的PID
Lock files in /tmp为Segment的postgres会在 /tmp中创建Segment端口锁文件(当Segment关闭时会移除该文件)
Active PIDSegment的活动进程ID
Master reports status as系统目录中报告的Segment状态: UpDown
Database statusGreenplum数据库对进入请求的状态: 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 stateWAL发送者同步状态:sync
Sent LocationWAL发送者事务日志(xlog)记录发送位置
Flush LocationWAL接收者xlog记录刷入位置
Replay Location后备上xlog记录重放位置

示例

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

  1. gpstate -s

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

  1. gpstate -Q

显示关于镜像Segment实例的信息:

  1. gpstate -m

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

  1. gpstate -f

显示Greenplum软件版本信息:

  1. gpstate -i

另见

gpstartgpexpandgplogfilter