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](gpinitstandby.html#topic1)
。
用户必须从正在激活的Master主机上运行此工具,而不是在被禁用的失效Master主机上运行。运行此工具时候假设用户为系统配置了一台后备Master主机。(参见[gpinitstandby](gpinitstandby.html#topic1)
)。
该工具执行以下步骤:
- 停止后备Master上的同步进程 (
walreceiver
) - 使用日志更新后备Master的系统目录表
- 激活后备Master成为系统中新的活动Master
- 重启带有新Master主机的Greenplum数据库系统
在Greenplum的主要Master主机变得不可操作时,备份的后备Master主机充当“温备份”的角色。后备Master通过事务日志复制进程(walsender
和 walreceiver
)保持最新状态,这两个进程一个运行在主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](gpinitstandby.html#topic1)
工具指定另外一台主机作为新的后备。
选项
-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
另见
[gpinitsystem](gpinitsystem.html#topic1)
、[gpinitstandby](gpinitstandby.html#topic1)