gpacttivatestandby工具用于激活备用协调器主机,并使其成为Greenplum数据库系统的活动协调器。
语法
gpactivatestandby [-d <standby_coordinator_datadir>] [-f] [-a] [-q]
[-l <logfile_directory>]
gpactivatestandby -v
gpactivatestandby -? | -h | --help
描述
gpactivatstandby实用程序激活备用协调器主机,并使其作为Greenplum数据库系统的活动协调器实例运行。激活的备用协调器有效地成为Greenplum数据库协调器,在协调器端口上接受客户端连接。
注:在执行gpactivatstandby之前,请务必执行gpstate -f命令,确认备用协调器已与当前协调器节点同步。如果已同步,gpstate -f输出的最后一行将类似于:20230607:06:50:06:004205 gpstate:test1-m:gpadmin-[INFO]:——Sync state: Sync
初始化备用协调器时,默认情况是使用与活动协调器相同的端口。有关备用协调器的协调器端口的信息,请参见gpinitstandby。
您必须从正在激活的协调器主机运行此实用程序,而不是从正在停用的失败的协调器主机运行此实用程序。运行此实用程序假设您为系统配置了一个备用协调器主机(请参阅gpinitstandby)。
该实用程序将执行以下步骤:
- 停止备用协调器上的同步进程(walreceiver)
- 使用日志更新备用协调器的系统编目表
- 激活备用协调器,使其成为系统的新活动协调器
- 使用新的协调器主机重新启动Greenplum Database系统
当主Greenplum协调器主机无法运行时,备用Greenplum协调器主机充当“热备用”。备用协调器由事务日志复制进程(walsender和walreceiver)保持最新状态,它们在主协调器和备用协调器主机上运行,并保持主协调器和备用协调器主机之间的数据同步。
如果主协调器发生故障,则关闭日志复制进程,并且可以通过使用gpactivatstandby实用程序在其位置上激活备用协调器。激活备用协调器后,复制的日志用于重建Greenplum协调器主机在最后一次成功提交事务时的状态。
为了使用gpactivatstandby激活一个新的主协调器主机,以前作为主协调器的协调器主机不能运行。该实用程序检查postmaster.pid文件放在已停用的协调器主机的数据目录中,如果在那里找到它,它将假定旧的协调器主机仍然处于活动状态。在某些情况下,您可能需要移除postmaster.pid。在运行gpactivatstandby之前,从未激活的协调器主机数据目录中获取Pid文件(例如,如果未激活的协调器主机进程被意外终止)。
激活备用协调器后,运行ANALYZE更新数据库查询统计信息。例如:
psql <dbname> -c 'ANALYZE;'
激活备用协调器作为主协调器后,Greenplum数据库系统不再配置备用协调器。您可能希望使用gpinitstandby实用程序指定另一个主机作为新的备用主机。
选项
-a(不提示)
不提示用户确认。
-d standby_coordinator_datadir
要激活的协调器主机的数据目录的绝对路径。
如果未指定该选项,gpactivatstandby将使用正在激活的协调器主机上的COORDINATOR_DATA_DIRECTORY环境变量设置的值。如果指定了这个选项,它将覆盖COORDINATOR_DATA_DIRECTORY的任何设置。
如果无法确定目录,则该实用程序返回错误。
-f(强制激活)
使用此选项强制激活备份协调器主机。只有在确定备用和主协调器主机一致时才使用此选项。
-l logfile_directory
写入日志文件的目录。默认为~/gpAdminLogs。
-q(无屏幕输出)
在安静模式下运行。命令输出信息不显示在屏幕上,但仍被写入日志文件。
-v(显示实用程序版本)
显示此实用程序的版本、状态、上次更新日期和校验和。
-?| -h |——help(帮助)
显示联机帮助。
举例
激活备用协调器主机,并使其成为Greenplum数据库系统的活动协调器实例(从您正在激活的备份协调器主机运行):
gpactivatstandby -d /gpdata