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端口的信息, 请参考gpinitstandby。
用户必须从正在激活的Master主机上运行此工具,而不是在被停用的故障Master主机上运行。 运行此工具时候假设用户为系统配置了一台后备Master主机。 (参见gpinitstandby)。
该工具执行以下步骤:
- 停止后备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工具指定另外一台主机作为新的后备。
选项
- -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