启动和停止Greenplum数据库

启动和停止Greenplum数据库

在一个Greenplum数据库DBMS中,数据库服务器实例(Master和所有的Segment)在系统中所有的主机上一起被启动或者停止,它们以这样一种方式作为一个统一的DBMS工作。

由于一个Greenplum数据库系统分布在很多机器上,启动和停止一个Greenplum数据库系统的过程与普通PostgreSQL DBMS不同。

分别使用gpstartgpstop工具来启动和停止Greenplum数据库。这些工具位于Greenplum数据库的Master主机的$GPHOME/bin目录中。

重要: 不要发出kill命令来结束任何Postgres进程。而是使用数据库命令pg_cancel_backend()

发出kill -9或者kill -11可能会导致数据库损坏并且妨碍对根本原因的分析。

有关gpstartgpstop的信息请见Greenplum数据库工具指南

启动Greenplum数据库

通过在Master实例上运行gpstart可以启动一个初始化好的Greenplum数据库系统。

可以使用gpstart工具来启动一个已经由gpinitsystem工具初始化好但已经被gpstop工具停止的Greenplum数据库系统。gpstart通过启动Greenplum数据库集群上所有的Postgres数据库实例来启动Greenplum数据库。gpstart会精心安排这一过程并且以并行的方式执行它。
在Master主机上运行gpstart启动Greenplum数据库:
$ gpstart

重启Greenplum数据库

停止Greenplum数据库系统然后重新启动它。

-r选项的gpstop工具可以停止Greenplum数据库,并且在关闭完成后重新启动Greenplum数据库。
要重启Greenplum数据库,在Master主机上输入下面的命令:
$ gpstop -r

仅重新载入配置文件更改

重新载入对Greenplum数据库配置文件的更改而不中断系统。

gpstop工具可以在不中断服务的前提下重新载入对pg_hba.conf配置文件和Master上postgresql.confpg_hba.conf文件中运行时参数的更改。活动会话将会在它们重新连接到数据库时使用这些更新。很多服务器配置参数需要完全重启系统(gpstop -r)才能激活。有关服务器配置参数的信息请见Greenplum数据库参考指南
使用gpstop工具重新载入配置文件更改而不关闭系统:
$ gpstop -u

以维护模式启动Master

只启动Master来执行维护或者管理任务而不影响Segment上的数据。

例如,可以用维护模式连接到一个只在Master实例上的数据库并且编辑系统目录设置。更多有关系统目录表的信息请见Greenplum数据库参考指南
  1. 使用-m模式运行gpstart
    $ gpstart -m
  2. 以维护模式连接到Master进行目录维护。例如:
    $ PGOPTIONS='-c gp_session_role=utility' psql postgres
  3. 在完成管理任务后,停止处于维护模式的额Master。然后以生产模式重启它。
    $ gpstop -mr
    警告:

    对维护模式连接的不当使用可能会导致不一致的系统状态。只有技术支持才应该执行这一操作。

停止Greenplum数据库

gpstop工具可以停止或者重启Greenplum数据库系统,它总是运行在Master主机上。当被激活时,gpstop会停止系统中所有的postgres进程,包括Master和所有的Segment实例。gpstop工具使用一种默认的最多64个并行工作者线程的方式来关闭构成整个Greenplum数据库集群的Postgres实例。系统在关闭之前会等待所有的活动事务完成。要立即停止Greenplum数据库,可以使用快速模式。
  • 要停止Greenplum数据库:
    $ gpstop
  • 要以快速模式停止Greenplum数据库:
    $ gpstop -M fast
    默认情况下,如果有任何客户端连接存在,就不允许关闭Greenplum数据库。使用-M fast选项可以在关闭前回滚所有正在进行中的事务并且中断所有连接。