Greenplum数据库管理工具位于 $GPHOME/bin中。本篇介绍了:gpconfig,gpstart,gpstate,gpstop,gpssh,gpssh-exkeys,gpexpand,gpcheck,gpcheckperf,gpseginstall。
gpconfig用以在Greenplum数据库系统中所有的Segment上设置服务器配置参数。
描述gpconfig工具允许用户在Greenplum数据库系统中所有实例(Master、Segment和镜像)的postgresql.conf文件中设置、复原或查看配置参数。设置参数时,如果需要,还可以为Master指定一个不同的值。例如,诸如max_connections之类的参数要求Master的设置不同于Segment的设置。如果要设置或复原全局参数或仅可对Master设置的参数,请使用 --masteronly选项。
gpconfig只能用来管理某些参数。例如,用户不能使用它来设置port等参数,这些参数对每个Segment实例都不同。使用-l (list)选项查看gpconfig支持的配置参数的完整列表。
当gpconfig在Segment的postgresql.conf文件中设置配置参数时,新的参数设置将总是显示在该文件的底部。当用户使用gpconfig移除配置参数时,gpconfig会在所有Segment的postgresql.conf 文件中把该参数注释掉,从而恢复系统默认设置。例如,如果使用gpconfig删除(注释掉)一个参数,并且稍后把它添加回来(设置新值),则该参数会有两个实例,一个被注释掉,另一个被启用并添加到postgresql.conf文件的底部。
设置参数之后,用户必须重新启动其Greenplum数据库系统,或者重新加载postgresql.conf 文件以使得更改生效。是否需要重新启动或者加载取决于被设置的参数。
gpconfig使用以下环境变量连接到Greenplum数据库的Master实例并获取系统配置信息:
PGHOSTPGPORTPGUSERPGPASSWORDPGDATABASE
选项-c:通过在postgresql.conf 文件的底部添加新的设置来改变配置参数的设置。-v :用于由-c选项指定的配置参数的值。默认情况下,此值将应用于所有Segment及其镜像、Master和后备Master。-m:用于由-c选项指定的配置参数的Master值。如果指定,则该值仅适用于Master和后备Master。该选项只能与-v一起使用。--masteronly:当被指定时,gpconfig 将仅编辑Master的postgresql.conf文件。-r:通过注释掉postgresql.conf文件中的项删除配置参数。-l:列出所有被gpconfig工具支持的配置参数。-s:显示在Greenplum数据库系统中所有实例(Master和Segment)上使用的配置参数的值。如果实例中参数值存在差异,则工具将显示错误消息。使用-s选项运行gpconfig将直接从数据库中读取参数值,而不是从postgresql.conf文件中读取。如果用户使用gpconfig 在所有Segment中设置配置参数,然后运行gpconfig -s来验证更改,用户仍可能会看到以前的(旧)值。用户必须重新加载配置文件(gpstop -u)或重新启动系统(gpstop -r)以使更改生效。--file:对于配置参数,显示在Greenplum数据库系统中的所有Segment(Master和Segment)上的postgresql.conf文件中的值。如果实例中的参数值存在差异,则工具会显示一个消息。必须与-s选项一起指定。例如,使用ALTER ROLE为用户设置配置参数statement_mem为64MB,而postgresql.conf文件中的值为128MB。运行命令 gpconfig -s statement_mem --file显示 128MB。用户运行的命令gpconfig -s statement_mem显示64MB。
另:参数访问设置有多种情况,有些参数改变后必须重启服务器才能生效,有些参数用户可以直接改变,还有些参数需要超级用户才能改表。在postgresql中,把参数分为以下几类。
1.internal:这类参数是只读参数,不能更改。且这类参数值不能配置在postgresql.conf中,因为它们是由postgres程序在初始化实例时写死的。
2.postmaster:改变这些参数的值需要重启postgresql实例。在postgresql.conf中改变这些参数后,需要重启postgresql实例才生效。
3.sighup:在postgresql.conf文件中可以该表这些参数的值,不需要重启数据库,只需要向postmaster进程发送sighup信号,让其重新配置新的参数值即可。运行pg_ctl reload,对于greenplum,运行gpstop -u。
4.backend:同sighup,不同的是新的配置值只会出现在这之后的新的连接中,在已有的连接中,这些参数的值不会改变。
5.superuser:这类参数可以由超级用户使用set来改变。超级用户改变此参数值时,只会影响自身的session配置,不会影响其他用户。
6.user:可由普通用户使用set来改变此类参数在本连接中的配置。
gpstart启动一个Greenplum数据库系统。
描述gpstart工具用于启动Greenplum数据库服务器进程。当用户启动一个Greenplum数据库系统时,用户实际上是同时启动了几个postgres数据库服务器监听器进程(Master和所有的Segment实例)。gpstart工具处理各个实例的启动。每个实例都是并行启动的。
管理员次运行gpstart时,该工具将在用户的主目录中创建一个名为.gphostcache的主缓存文件。随后,该工具使用此主机列表更有效地启动系统。如果将新主机添加到系统中,则必须手动从gpadmin用户的主目录中删除此文件。该工具将在下次启动时创建一个新的主机缓存文件。
在启动Greenplum数据库系统之前,用户必须首先使用gpinitsystem初始化系统。
选项-a:不要提示用户确认。-m:可选。仅启动Master实例,这可能对维护任务有用。-R:以受限模式启动Greenplum数据库(只允许数据库超级用户连接)。
gpstate显示正在运行的Greenplum数据库系统的状态。
描述gpstate工具显示有关正在运行的Greenplum数据库实例的信息。由于Greenplum数据库系统由跨多台机器的多个PostgreSQL数据库实例(Segment)组成,因此用户可能需要了解关于Greenplum数据库系统的额外信息。gpstate工具为Greenplum数据库系统提供了额外的状态信息。
选项-c (显示主Segment到镜像Segment的映射)可选。显示主Segment到镜像Segment的映射。-e (显示镜像状态出问题的Segment)显示具有潜在问题的主要/镜像Master对的详细信息,例如1)活动Segment正在Change Tracking模式下运行,表示Segment处于关闭状态;2)活动Segment处于重新同步模式,这意味着它正在同步对镜像的更改;3)一个Segment不是它的首-选角色,例如在系统初始化时作为一个主Segment的现在作为一个镜像Segment,这意味着用户可能有一台或多台Segment主机的处理负载不平衡。-f (显示后备Master的详情)显示后备Master主机的详细信息(如果配置)。-i (显示Greenplum数据库的版本)显示每个实例的Greenplum数据库软件版本信息。-m (列出镜像)可选。列出系统中的镜像Segment实例及其当前角色和同步状态。-s (详细状态)可选。显示Greenplum数据库系统的详细状态信息。
常用的gpstate命令是 gpstate –s,其中的Mirror Statu显示出主/镜像Segment对的状态:Synchronized = 两者上的数据都是新Resynchronization = 数据当前正被从一个拷贝到另一个Change Tracking = Segment停止并且活动Segment正在记录更改
gpstop停止或者重启Greenplum数据库系统。
描述gpstop工具用于停止构成Greenplum数据库系统的数据库服务器。当用户停止一个Greenplum数据库系统时,用户实际上是一次停止几个postgres数据库服务器进程(Master和所有的Segment实例)。gpstop工具处理个别实例的关闭。每个实例被并行地关闭。
默认情况下,如果有任何客户端连接到数据库,则不允许关闭Greenplum数据库。使用-M fast选项来回滚所有正在进行的事务,并在关闭之前终止所有连接。如果有任何事务正在进行,则默认行为是在关闭之前等待它们提交。
使用-u选项时, 该工具会上传对主pg_hba.conf文件所做的更改,或者在postgresql.conf文件中将运行时配置参数上载到服务中。请注意,任何活动的会话在重新连接到数据库之前都不会获取更改。
选项-m:可选。关闭在维护模式下启动的Greenplum主实例。-M fast:快速关闭。任何正在进行的事务都会中断并回滚。-M immediate:立即关闭。任何正在进行的事务都会中止。(不推荐使用)该模式杀死所有postgres进程,而不允许数据库服务器完成事务处理或清理任何临时或进程内工作文件。-M smart:智能关闭。如果存在活动连接,则此命令将失败并显示警告。这是默认的关闭模式-r:关机完成后重新启动。-u:此选项将重新加载Master和Segment的pg_hba.conf文件以及postgresql.conf文件的运行时参数,但不会关闭数据库阵列。编辑postgresql.conf或pg_hba.conf之后,使用此选项可使新的配置设置处于活动状态。请注意,这仅适用于设计为运行时的配置参数。
gpssh一次提供对多台主机的SSH访问。
描述gpssh工具允许用户使用SSH(安全shell)一次在多台主机上运行bash shell命令。用户可以通过在命令行上指定一个命令来执行单个命令,也可以省略该命令以进入交互式命令行会话。
要指定参与SSH会话的主机,请使用-f选项指定包含主机名列表的文件,或使用 -h选项在命令行上指明单个主机名。至少需要一个主机名(-h)或主机文件(-f)。请注意,当前主机默认不包含在会话中 — 要包含本地主机,用户必须在会话中涉及的主机列表中明确声明它。
在使用gpssh之前,用户必须在涉及SSH会话的主机之间建立可信的主机设置。 用户可以使用工具gpssh-exkeys更新已知的主机文件并在主机之间交换公钥(如果尚未这样做的话)。
如果用户没有在命令行上指定命令,gpssh将进入交互模式。在gpssh命令提示符(=>)处,用户可以像在常规bash终端命令行中那样输入命令,并且该命令将在会话涉及的所有主机上执行。要结束交互式会话,请按键盘上的CTRL+D或键入exit或quit。
如果主机文件中没有指定用户名,则gpssh将以当前登录的用户身份执行命令。要确定当前登录的用户,请执行whoami命令。默认情况下,登录后gpssh将转到远程主机上的会话用户的$HOME。为确保所有远程主机上的命令都能正确执行,应始终输入路径。
示例:与文件hostfile_gpssh中列出的所有主机启动交互式SSH会话组:
$ gpssh -f hostfile_gpssh
在gpssh交互式命令提示符处,在此会话中涉及的所有主机上运行shell命令。
=> ls -a /data/primary/*
退出交互式会话:
=> exit=> quit
使用名为sdw1和sdw2 的主机启动非交互式SSH会话组,并将包含多个名为command_file的命令的文件传递给gpssh:
$ gpssh -h sdw1 -h sdw2 -v -e < command_file1在主机sdw2和localhost上以非交互模式执行单个命令:
$ gpssh -h sdw2 -h localhost -v -e 'ls -a /data/primary/*'$ gpssh -h sdw2 -h localhost -v -e 'echo $GPHOME'$ gpssh -h sdw2 -h localhost -v -e 'ls -1 | wc -l'
gpssh-exkeys在主机之间交换SSH公钥。
描述:gpssh-exkeys工具在指定的主机名(或主机地址)之间交换SSH密钥。这允许Greenplum主机和网络接口之间的SSH连接,而不需要口令提示。该工具用于初将Greenplum数据库系统准备好用于无口令的SSH访问,以及在扩展Greenplum数据库系统时添加额外的ssh密钥。
要指定参与初始SSH密钥交换的主机,请使用-f 选项指定包含主机名列表的文件(推荐),或使用-h选项在命令行上指出单个主机名。至少需要一个主机名(-h)或主机文件。请注意,本地主机默认包含在密钥交换中。
指定要添加到现有Greenplum数据库系统的新扩展主机,请使用-e和-x选项。-e选项指定一个文件,其中包含系统中已有SSH密钥的现有主机列表。-x 选项指定一个文件,其中包含需要参与SSH密钥交换的新主机列表
密钥要作为当前登录的用户交换。用户应该执行两次密钥交换过程:一次作为root用户,一次作为gpadmin用户(拥有Greenplum数据库安装的用户)。Greenplum数据库管理要求在Greenplum数据库系统的所有主机上创建相同的非root用户,并且这些工具必须能够以该用户的身份连接到所有主机而无需口令。
gpssh-exkeys工具使用以下步骤执行密钥交换:为当前用户创建一个RSA标识密钥对(如果尚不存在)。该密钥对中的公钥被添加到当前用户的authorized_keys文件中。使用-h、-f、-e以及-x选项指定的每台主机的主机密钥更新当前用户的known_hosts文件。使用ssh连接到每个主机,并获取authorized_keys、known_hosts和id_rsa.pub文件以设置无口令访问。将从每个主机获取的id_rsa.pub 文件中的密钥添加到当前用户的authorized_keys文件中。使用新的主机信息(如果有)更新所有主机上的authorized_keys、known_hosts和id_rsa.pub文件。
示例在文件hostfile_exkeys中列出的所有主机名和地址之间交换SSH密钥:
$ gpssh-exkeys -f hostfile_exkeys
在主机sdw1、sdw2和sdw3之间交换SSH密钥:
$ gpssh-exkeys -h sdw1 -h sdw2 -h sdw3
gpexpand在阵列中的新主机之间扩展现有的Greenplum数据库。
先决条件1、用户作为Greenplum数据库超级用户(gpadmin)登录。/2、新的Segment主机已被根据现有的Segment主机安装和配置。这包括:
配置硬件和操作系统安装Greenplum软件创建gpadmin用户帐户交换SSH密钥。
3、用户的Segment主机上有足够的磁盘空间来临时保存大表的副本。4、重新分布数据时,Greenplum数据库必须以生产模式运行。Greenplum数据库不能是受限模式或Master模式。不能指定gpstart的选项-R或者-m启动Greenplum数据库。
描述gpexpand工具分两个阶段执行系统扩展:Segment初始化和表重新分布。
在初始化阶段,gpexpand用一个输入文件运行,该文件指定新Segment的数据目录、dbid值和其他特征。用户可以手动创建输入文件,也可以在交互式对话中按照提示进行操作。
如果用户选择使用交互式对话创建输入文件,则可以选择指定包含扩展主机列表的文件。在提示输入信息时,如果用户的平台或命令shell限制可键入的主机名列表的长度,则可能不得不用-f指定主机。
除了初始化Segment,初始化阶段还执行这些操作:
1、创建扩展方案以存储扩展操作的状态,包括表的详细状态。2、将所有表的分布策略改为DISTRIBUTED RANDOMLY。原始的分布策略将在重新分布阶段中恢复。
要开始重新分布阶段,必须使用-d(持续时间)或-e(结束时间)选项运行gpexpand。在达到指定的结束时间或持续时间之前,该工具将在扩展方案中重新分布表。每个表都使用ALTER TABLE命令重新组织,以便在新的Segment上重新平衡表, 并将表设置为其原始分布策略。如果gpexpand在指定的持续时间之前完成所有表的重新组织,则会显示成功消息并结束。注意: 数据重新分布应该在低峰(相对高峰期)时段进行。重新分布可以在很长时间内分批次进行。
选项-a | --analyze
在扩展后运行ANALYZE更新表的统计信息,默认是不运行ANALYZE。
-B batch_size
在暂停一秒钟之前发送给给定主机的远程命令的批量大小。默认值是16,有效值是1-128。gpexpand工具会发出许多设置命令,这些命令可能会超出主机的已验证连接的大阈值(由SSH守护进程配置中的MaxStartups定义)。该一秒钟的暂停允许在gpexpand发出更多命令之前完成认证。
-c | --clean
删除扩展方案。
-d | --duration hh:mm:ss
扩展会话的持续时间从头到尾。
-D database_name
指定要在其中创建扩展方案和表的数据库。如果没有给出这个选项,则使用环境变量PGDATABASE的设置。数据库模板template1和template0不能使用。
-e | --end 'YYYY-MM-DD hh:mm:ss'
扩展会话的结束日期和时间。
-f | --hosts-file filename
指定包含用于系统扩展的新主机列表的文件的名称。文件的每一行都必须包含一个主机名。该文件可以包含指定或不指定网络接口的主机名。gpexpand工具处理这两种情况,如果原始节点配置了多个网络接口,则将接口号添加到主机名的末尾。
-i | --input input_file
指定扩展配置文件的名称,其中为每个要添加的Segment包含一行,格式为:
hostname:address:port:fselocation:dbid:content:preferred_role:replication_port
-n parallel_processes:要同时重新分布的表的数量。有效值是1 - 96。每个表重新分布过程都需要两个数据库连接:一个用于更改表,另一个用于在扩展方案中更新表的状态。在增加-n之前,检查服务器配置参数max_connections的当前值,并确保不超过大连接限制。
-r | --rollback
回滚失败的扩展设置操作。如果回滚命令失败,请使用-D选项指定包含要回滚的操作的扩展方案的数据库,并再次尝试。
-s | --silent
以静默模式运行。在警告时,不提示确认就可继续。
-S | --simple-progress
如果指定,gpexpand工具仅在Greenplum数据库表gpexpand.expansion_progress中记录少的进度信息。该工具不在表gpexpand.status_detail中记录关系大小信息和状态信息。指定此选项可通过减少写入gpexpand表的进度信息量来提高性能。
[-t | --tardir] directory
Segment主机上一个目录的完全限定路径,gpexpand工具会在其中拷贝一个临时的tar文件。该文件包含用于创建Segment实例的Greenplum数据库文件。默认目录是用户主目录。
-v | --verbose
详细调试输出。使用此选项,该工具将输出用于扩展数据库的所有DDL和DML。
-V | --novacuum
在创建模式拷贝之前不清理目录表。
主要使用的参数是:gpexpand -f hostfile:用以通过交互方式生成集群扩展配置文件
gpexpand -i expandfile:集群扩展,expandfile为通过gpexpand -f命令生成的配置文件。
gpexpand -d time:集群扩展,并制定扩展时间
gpexpand -c :移除扩展方案
gpcheck检查和验证Greenplum数据库平台的设置。
描述gpcheck工具确定用户正在运行Greenplum数据库的平台,并且验证各种平台相关的配置设置。gpcheck可以使用一个主机文件或者之前由–zipout选项创建的文件来验证平台设置。在成功的验证过程结束时,将显示GPCHECK_NORMAL消息。如果显示GPCHECK_ERROR,则一个或多个验证检查失败。用户也可以使用gpcheck来收集和查看主机上的平台设置,而不运行验证检查。
用户应该以root用户运行gpcheck。如果用户没有以root用户运行gpcheck,该工具将显示一条警告消息,并且将无法验证所有的配置设置;只有其中的一些设置将被验证。
选项:{-f | --file} hostfile_gpcheck
包含被gpcheck用来验证平台相关设置的主机列表的文件名称。该文件应包含Greenplum数据库系统中所有主机(Master、后备Master和Segment)的单一主机名。gpcheck使用SSH连接到这些主机。
{--h | --host} host_ID
在由host_ID指定的Greenplum数据库系统中的主机上检查平台相关的设置。gpcheck使用SSH连接到该主机。
--local
检查运行gpcheck的Segment主机上的平台相关设置。 这一选项不需要SSH认证。
--stdout
显示从gpcheck收集的主机信息。不执行检查或验证。
--zipout
将所有收集的数据保存到当前工作目录中的一个.zip 文件中。gpcheck会自动创建.zip 文件并将其命名为gpcheck_timestamp.tar.gz。不执行检查或验证。
--zipin gpcheck_zipfile
使用此选项解压缩并检查–zipout选项创建的.zip文件。gpcheck 根据用户在此选项中指定的文件执行验证任务。
示例:通过输入主机文件验证Greenplum数据库平台设置:
# gpcheck -f hostfile_gpcheck
gpcheckperf验证指定主机的基准硬件性能。
描述gpcheckperf工具在指定的主机上启动会话并运行以下性能测试:
磁盘I/O测试(dd测试) — 要测试逻辑磁盘或文件系统的顺序吞吐性能,该工具使用dd命令,该命令是一个标准的UNIX工具。它记录花费多长时间在磁盘上读写一个大文件,并以兆字节(MB)每秒为单位计算磁盘I/O性能。默认情况下,用于测试的文件尺寸按照主机上的总随机访问内存(RAM)的两倍计算。这确保了测试是真正地测试磁盘I/O而不是使用内存缓存。
内存带宽测试(流) — 为了测试内存带宽,该工具使用STREAM基准程序来测量可持续的内存带宽(以MB/s为单位)。这测试用户的系统在不涉及CPU计算性能情况下是否受系统内存带宽的限制。在数据集较大的应用程序中(如在Greenplum数据库中),低内存带宽是一个主要的性能问题。如果内存带宽明显低于CPU的理论带宽,则会导致CPU花费大量的时间等待数据从系统内存到达。
网络性能测试(gpnetbench*) — 为了测试网络性能(以及Greenplum数据库Interconnect的性能),该工具运行一种网络基准测试程序,该程序当前主机发送5秒钟的数据流到测试中包含的每台远程主机。数据被并行传输到每台远程主机,并以兆字节(MB)每秒报告小、大、平均和中位网络传输速率。如果汇总的传输速率比预期慢(小于100MB/s),则可以使用-r n选项串行地运行该网络测试以获取每台主机的结果。要运行全矩阵带宽测试,用户可以指定-r M,这将导致每台主机都发送和接收来自指定的每台其他主机的数据。该测试适用于验证交换结构是否可以承受全矩阵负载。
为了指定要测试的主机,请使用-f选项指定包含主机名列表的文件,或使用-h选项在命令行上指名单个主机名。如果运行网络性能测试,主机文件中的所有项必须是同一子网内的网络接口。如果用户的Segment主机具有在不同子网上配置的多个网络接口,请为每个子网运行一次网络测试。
用户还必须指定至少一个测试目录(使用-d)。运行gpcheckperf的用户必须具有对所有远程主机上指定测试目录的写入权限。对于磁盘I/O测试,测试目录应与用户的Segment数据目录(主Segment和/或镜像Segment)相对应。对于内存带宽和网络测试,测试程序文件需要临时目录。
在使用gpcheckperf之前,用户必须在涉及性能测试的主机之间建立可信的主机设置。用户可以使用gpssh-exkeys工具更新已知主机文件并在主机之间交换公钥(如果尚未这样做的话)。请注意,gpcheckperf调用gpssh和gpscp,这些Greenplum工具也必须在$PATH中。
选项-B block_size
指定用于磁盘I/O测试的块大小(以KB或MB为单位)。缺省值是32KB,与Greenplum数据库页面大小相同。大块大小是1 MB。
-d test_directory
对于磁盘I/O测试,指定要测试的文件系统目录位置。用户必须具有对性能测试中涉及的所有主机上测试目录的写入权限。用户可以多次使用-d选项指定多个测试目录(例如,测试主数据目录和镜像数据目录的磁盘I/O)。
-d temp_directory
对于网络和流测试,指定单个目录,测试程序文件在测试期间将被复制到该目录。用户必须具有对测试中涉及的所有主机上该目录的写入权限。
-D (显示每台主机的结果)
报告每个主机的磁盘I/O测试的性能结果。缺省情况下,仅报告具有低和高性能的主机的结果,以及所有主机的总体和平均性能。
--duration time1以秒(s)、分钟(m)、小时(h)或天数(d)指定网络测试的持续时间。默认值是15秒。
-f hostfile_gpcheckperf
对于磁盘I/O和流测试,请指定一个包含将参与性能测试的主机名的文件名称。主机名是必需的,用户可以选择指定每个主机的后补用户名和/或SSH端口号。
-f hostfile_gpchecknet
对于网络性能测试,主机文件中的所有项都必须是同一子网内的主机地址。如果用户的Segment主机在不同子网上配置有多个网络接口,请为每个子网运行一次网络测试。
-h hostname
指定将参与性能测试的单个主机名(或主机地址)。用户可以多次使用-h选项来指定多个主机名。
-r ds{n|N|M}
指定要运行的性能测试,默认是 dsn:
磁盘I/O测试(d)流测试(s)网络性能测试,串行(n)、并行(N)或全矩阵(M)模式。可选的–duration 选项指定了运行网络测试的时间(以秒为单位)。要使用并行(N)模式,用户必须在偶数台主机上运行测试。
-S file_size
指定用于-d所指定的所有目录的磁盘I/O测试的总文件尺寸。file_size应该等于主机上总RAM的两倍。如果未指定,则默认值是在执行gpcheckperf的主机上的总RAM的两倍,这确保了测试是真正地测试磁盘I/O而不是使用内存缓存。用户可以以KB、MB或GB为单位指定尺寸。
-v (详细模式)| -V (非常详细模式)
详细(Verbose)模式显示性能测试运行时的进度和状态信息。非常详细(Very Verbose)模式显示该工具生成的所有输出消息。
示例使用/data1和/data2作为测试目录在文件host_file中的所有主机上运行磁盘I/O和内存带宽测试:
$ gpcheckperf -f hostfile_gpcheckperf -d /data1 -d /data2 -r ds
gpseginstall在Segment主机上安装Greenplum数据库。
描述gpseginstall工具提供了一种在主机列表文件中指定的Segment主机上快速安装Greenplum数据库的简单方法。该工具不会在Master主机上安装或更新Greenplum数据库。用户可以以root身份或以非root用户身份运行gpseginstall。gpseginstall不执行数据库初始化。有关初始化数据库的更多信息,请参阅gpinitsystem。
以root身份运行时,gpseginstall默认操作是添加一个系统用户(默认是gpadmin),创建口令(默认是changeme),并在部分主机上部署和安装Greenplum数据库。为此,gpseginstall从当前用户的环境变量($GPHOME)中的安装路径下查找Master上的当前Greenplum数据库二进制文件。它将Greenplum数据库软件压缩成tar.gz文件并执行MD5校验和以验证文件完整性。
然后,它将Greenplum数据库拷贝到Segment主机,安装(解压缩)Greenplum数据库,并将Greenplum数据库安装的所有权更改为用户使用-u选项指定的系统用户。后,它将作为根用户以及用-u选项指定的系统用户在所有Greenplum数据库主机之间进行密钥交换。gpseginstall还会执行用户限制检查并验证所有Segment上的Greenplum数据库的版本号。
如果以非root用户的身份运行gpseginstall,则gpseginstall仅会在Segment主机上压缩、复制并安装Greenplum数据库。它还可以为当前系统用户在Greenplum数据库主机之间交换密钥,并验证所有Segment上的Greenplum数据库的版本号。
选项-c | --commands option_list
可选。这使用户可以自定义gpseginstall操作。请注意,如果不在gpseginstall语法中指定-c选项,则默认执行这些命令选项。可参考gpseginstall –h中的解释。
-f | --file hostfile
必需。指定包含要安装Greenplum数据库的Segment主机的文件。
p | --password password
可选。使用-u选项设置用户指定用户的口令。默认口令是changeme。此选项仅在以根用户身份运行gpsetinstall时使用。
-u | --user user
可选。指定系统用户。此用户也是Greenplum数据库管理用户。此用户拥有Greenplum数据库安装并且管理数据库。这也是Greenplum数据库启动/初始化的用户。此选项仅在以root身份运行gpseginstall时可用。默认是gpadmin。
示例以root身份,在所有Segment上安装Greenplum数据库,将系统用户保留为默认值(gpadmin)并将gpadmin的口令设置为secret123:
# gpseginstall -f my_host_list_file -p secret123
作为非root用户,将Greenplum数据库二进制文件压缩并复制到所有Segment(作为gpadmin):
$ gpseginstall -f host_file
参考:1.https://gp-docs-cn.github.io/docs/utility_guide/admin_utilities/util_ref.html2.《postgresql修炼之道从小工到专家 8.2.1》
本文来源:https://blog.csdn.net/hmxz2nn/article/details/86482640