gpinitstandby
为Greenplum数据库系统添加或初始化后备Master主机。
概要
gpinitstandby { -s standby_hostname [-P port]
[-F list_of_filespaces] | -r | -n }
[-a] [-q] [-D] [-l logfile_directory]
gpinitstandby -v
gpinitstandby -?
描述
gpinitstandby工具为用户的Greenplum数据库系统添加一个备份的后备Master主机。如果用户的系统已经配置了后备Master主机,请在添加新的后备Master主机之前使用-r 选项将其删除。
在运行此工具之前,请确保Greenplum数据库软件已安装在后备Master主机上,并且用户已在主机之间交换了SSH密钥。推荐在Master主机和后备Master主机上将主端口设置为相同的端口号。
此工具应该在当前活动的主要Master主机上运行。方法请参见Greenplum数据库安装指南。
该工具执行以下的步骤:
- 更新该Greenplum数据库系统目录来删除现有的后备Master主机信息(如果指定了 -r)
- 更新该Greenplum数据库系统 目录来添加新的后备Master主机信息
- 编辑Greenplum数据库Master的pg_hba.conf来允许从新添加的后备Master主机进行访问。
- 在后补Master主机上设置后备Master实例
- 开始同步进程
如果主Master主机变为不可操作,后备Master主机将作为“热备用”。后备Master通过事务日志复制进程(walsender和walreceiver)保持最新状态,这些进程在主Master主机和后备Master主机上运行,并使两者的数据保持同步。如果主Master失效,日志复制过程将关闭,后备Master可以使用gpactivatestandby 工具在其位置激活。一旦后备Master激活,复制日志将用于重建最后一次成功提交事务时Master主机的状态。
激活的后备Master实际上成为Greenplum数据库的Master,在主端口上接受客户端连接并执行正常的Master操作,例如SQL命令处理和负载管理。
重要: 如果gpinitstandby工具之前初始化后备Master失败,则必须显示删除后备Master数据目录中的文件,然后再次运行gpinitstandby。后备Master数据目录在初始化失败后不会被清理,因为它包含可帮助确定失败原因的日志文件。
如果发生初始化失败,则会在后备主机目录 /tmp中生成摘要报告文件。该报告列出了后备主机上需要清理的目录。
选项
-a (不提示)
不要提示用户确认
-D (调试)
设置日志级别为debug。
-F list_of_filespaces
文件空间名称和关联位置的列表。每个文件空间名称和它的位置用冒号分隔。如果有多个文件空间名称,则每对(名称和位置)用逗号分隔。例如:
filespace1_name:fs1_location,filespace2_name:fs2_location
如果未指定此选项,gpinitstandby将提示用户输入空间名称和位置。
如果列表格式不正确或文件空间数量与系统中已创建的文件空间数量不匹配,gpinitstandby将返回错误。
-l logfile_directory
写入日志的目录,默认为~/gpAdminLogs。
-n(重启被主机)
指定此选项以启动已配置但由于某种原因已停止的Greenplum数据库的后备Master。
-P port
此选项指定Greenplum数据库的后备Master使用的端口。默认值是Greenplum数据库的活动Master使用的端口。
如果Greenplum数据库的后备Master和活动Master在同一台主机上,则端口必须不同。如果活动Master和后备Master的端口相同,并且所在的主机也相同,则该工具将返回错误。
-q (无屏幕输出)
以静默模式运行。命令输出不显示在屏幕上,但是仍然写入日志文件。
-r (移除后备Master)
从Greenplum数据库系统中删除当前已配置的后备Master。
-s standby_hostname
后备Master的主机名
-v (显示工具版本)
显示该工具的版本、状态、上次更新的日期和校验和。
-? (帮助)
显示在线帮助
示例
添加一个后备Master到用户的Greenplum数据库系统,并重启同步进程:
gpinitstandby -s host09
开启一个存在的后备Master主机,并且和当前的主Master主机同步:
gpinitstandby -n
注意: 不要在同一命令指定-n和-s选项。
指定一个不同的端口向Greenplum数据库系统添加一台后备Master主机:
gpinitstandby -s myhost -P 2222
如果指定的主机名与Greenplum数据库的活动Master相同,则用作后备Master的Greenplum数据库软件必须与Greenplum数据库的活动Master的软件位于不同位置。 另外,后备Master使用的文件空间位置必须与Greenplum数据库的活动Master不同。
从Greenplum系统配置中删除现有的后备Master:
gpinitstandby -r