gpactivatestandby

gpactivatestandby

激活备机并使其成为Greenplum数据库系统的活动主机。

概要

gpactivatestandby [-d standby_master_datadir] [-f] [-a] [-q] 
    [-l logfile_directory]

gpactivatestandby -v 

gpactivatestandby -? | -h | --help

描述

gpactivatestandby工具激活了一台备份的后备Master主机,并将其作为Greenplum数据库系统的活动Master实例运行。被激活的后备Master节点有效地成为Greenplum数据库的Master来接受端口上的客户端连接。

在初始化后备Master时,默认情况下使用与活动Master相同的端口。有关后备Master的Master端口的信息,请参考gpinitstandby

用户必须从正在激活的Master主机上运行此工具,而不是在被禁用的失效Master主机上运行。运行此工具时候假设用户为系统配置了一台后备Master主机。(参见gpinitstandby)。

该工具执行以下步骤:

  • 停止后备Master上的同步进程 (walreceiver)
  • 使用日志更新后备Master的系统目录表
  • 激活后备Master成为系统中新的活动Master
  • 重启带有新Master主机的Greenplum数据库系统

在Greenplum的主要Master主机变得不可操作时,备份的后备Master主机充当“温备份”的角色。后备Master通过事务日志复制进程(walsenderwalreceiver)保持最新状态,这两个进程一个运行在主Master,一个运行在后备Master,并使得主Master和后备Master之间保持数据同步。

如果主Master出现故障,日志复制进程将关闭,后备Master可以通过使用 gpactivatestandby工具在其位置激活。一旦后备Master激活,复制的日志将用于重建上次成功提交事务之后Greenplum中Master主机的状态。

为了使用gpactivatestandby来激活一个新的主要Master主机,之前充当主要Master的Master主机则不能再运行。该工具会检查已被禁用的Master主机的数据目录中的postmaster.pid文件,如果发现该文件,则会假定旧的Master机仍处于活动状态。在某些情况下,在运行gpactivatestandby(例如,如果被禁用的Master主机进程被意外终止)之前,用户可能需要从被禁用的Master主机的数据目录中删除postmaster.pid

激活后备Master之后,运行ANALYZE来更新数据库查询统计信息。例如:

psql dbname -c 'ANALYZE;'

将后备的Master激活成为主要Master之后,该Greenplum数据库系统将不再配置有后备Master。用户可能想要用gpinitstandby工具指定另外一台主机作为新的后备。

选项

-a(不要提示)
不要提示用户确认
-d standby_master_datadir
用户正在激活的Master主机的数据目录的绝对路径。
如果未指定此选项,gpactivatestandby 将使用用户正在激活的Master主机上的MASTER_DATA_DIRECTORY环境变量设置。如果指定了这一选项,它会覆盖MASTER_DATA_DIRECTORY的设置。
如果无法确定目录,则该工具将返回错误。
-f(强制激活)
使用此选项强制激活备份的Master主机。只有在确定后备Master主机和主要Master主机一致的情况下,才能使用此选项。
-l logfile_directory
写入日志文件的目录。默认为~/gpAdminLogs
-q(没有屏幕输出)
以静默模式运行。命令输出不会显示在屏幕上,但是仍然会写入日志文件。
-v(显示工具的版本)
显示这一工具的版本、状态、上次更新的日期和校验和。
-? | -h | --help(帮助)
显示在线帮助。

示例

激活后备Master主机并使其成为Greenplum数据库系统的活动Master实例(从正在激活的备份Master主机运行):

gpactivatestandby -d /gpdata