Greenplum的启动和关闭

0    81    1

Tags:

👉 本文共约5742个字,系统预计阅读时间或需22分钟。

简介

在一个Greenplum数据库管理系统中,所有主机上的数据库实例(Master和所有的Segment)一起被启动或者停止启停操作统一由Master实例发起,它们步调一致,在外界看来是一个完整的数据库管理系统。

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

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

Important: 不要采用kill命令来直接杀掉任何后台Postgres进程。 可以使用数据库内命令pg_cancel_backend()来完成此操作。

采用 kill -9 或 kill -11 可能引发数据库损坏并且妨碍根据目前数据库的表现进行问题根源分析。

启动Greenplum数据库

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

可以使用gpstart工具来启动一个已经由gpinitsystem工具初始化好的Greenplum数据库系统,前提是该系统已经被gpstop工具停止。 gpstart 通过启动整个Greenplum数据库集群中的所有Postgres数据库实例来启动Greenplum数据库。 gpstart 会精心安排这一过程并且以并行的方式执行它。

在Master主机上运行gpstart以启动一个Greenplum数据库:

重启Greenplum数据库

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

执行gpstop工具并带有-r选项时,会停止Greenplum数据库并在数据库完全关闭后重新启动它。

要重启Greenplum数据库,在Master主机上输入下面的命令:

仅重新载入配置文件更改

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

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

使用gpstop工具重新载入配置文件更改而不关闭系统:

以维护模式启动Master

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

例如,可以用维护模式连接到一个只在Master实例上的数据库并且编辑系统目录设置。

  1. 使用-m模式运行gpstart:

  2. 以维护模式连接到Master进行目录维护。例如:

  3. 在完成管理任务后,停止处于维护模式的额Master。然后以生产模式重启它。

    Warning:

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

停止Greenplum数据库

gpstop工具可以停止或者重启Greenplum数据库系统,它总是运行在Master主机上。 当被激活时,gpstop 会停止系统中所有的postgres进程,包括Master和所有的Segment实例。 gpstop工具使用一种默认的最多64个并行工作线程的方式来关闭构成整个Greenplum数据库集群的Postgres实例。 系统在关闭之前会等待所有的活动事务完成。要立即停止Greenplum数据库,可以使用快速模式。

  • 要停止Greenplum数据库:

  • 要以快速模式停止Greenplum数据库:

    默认情况下,如果有任何客户端连接存在,就不允许关闭Greenplum数据库。 使用-M fast选项可以在关闭前回滚所有正在进行中的事务并且中断所有连接。

停止客户端进程

Greenplum数据库会为每一个客户端连接唤起一个后台进程。具有SUPERUSER权限的Greenplum用户可以取消或直接终止这些客户端后台进程。

使用pg_cancel_backend()函数可以取消某个活动查询或队列中的后台进程。使用pg_terminate_backend()可以直接终端访问Greenplum数据库的客户端连接。

pg_cancel_backend()函数有两种表现形式:

  • pg_cancel_backend( pid int4 )
  • pg_cancel_backend( pid int4, msg text )

pg_terminate_backend()函数也有两种同样地表现形式:

  • pg_terminate_backend( pid int4 )
  • pg_terminate_backend( pid int4, msg text )

如果提供了msg信息, Greenplum数据库会将取消信息的msg内容一并返回给客户端。msg 最大为128字节; 任何超出该长度的信息都会被Greenplum数据库直接截断。

如果pg_cancel_backend()和pg_terminate_backend()函数执行成功,会返回状态true, 相反的会返回false。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
Greenplum的启动和关闭后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部