gpexpand

1. 描述

扩容现有集群,应用案例请参考在线扩容

2. 参数选项

参数名 描述
-a 或 --analyze 扩容后运行ANALYZE更新表的统计信息,默认不运行ANALYZE。
-B batch_size 在每次休眠一秒钟之前,批量发送到指定主机远程命令的数量。默认值是16,有范围是1-128。
-c 或 --clean 清理扩容过程中使用的schema。
-d hh:mm:ss 或 --duration hh:mm:ss 扩容的最长执行时间,时间到即使未完成也自动停止。
-e 'YYYY-MM-DD hh:mm:ss' 或 --end 'YYYY-MM-DD hh:mm:ss' 扩容结束的截止时间,如果到该时间还未结束则自动停止。
-f filename 或 --hosts-file filename 指定用于扩容的包含新主机名的文件,每行一个主机名。不指定的话则在交互过程中填写。
-i input_file 或 --input input_file 指定扩容的配置文件,每个Segment要添加一行,格式为:
hostname:address:port:datadir:dbid:content:preferred_role
-n parallel_processes 重新分布表的并行数量。有效值是1 - 96。
每个表重新分布过程都需要两个数据库连接:一个用于重分布表,另一个用于记录状态。使用前需要检查服务器配置参数max_connections的值,确保不超过最大连接限制。
-r 或 --rollback 回滚失败的扩容。
-s 或 --silent 以静默模式运行。在警告时,不提示确认就可继续。
-S 或 --simple-progress 如果指定,gpexpand工具将在gpexpand.expansion_progress中记录最少的进度信息。
-t directory 或 --tardir directory 在Segment主机上指定临时目录用来存放tar文件。
-v 或 --verbose 详细调试输出。使用此选项,该工具将输出用于扩展数据库的所有DDL和DML。
--version 显示工具的版本号并退出。
-? 或 -h 或 --help 显示帮助信息。

3. 示例

使用配置文件新增节点:

gpexpand -i input_file

运行表重分布,并指定运行时间上限为60小时:

gpexpand -d 60:00:00