亚平宁的眼泪
发布于

配置oushudb高可用

@TOC

简介

Oushu Database 集群上可以配置两个 master 节点:主节点(master)和备用主节点(standby master)。客户端连接到主节点, 查询只能在主节点上执行。您可以在单独的机器上部署备用主节点, 使群集能够更好得容忍单点故障。如果主节点无法运行, 备用主节点将升级为主节点以支持集群正常运行。

Oushu Database 正常提供服务的同时, 会将主节点上的事务性快照(transactional snapshot)以及基于快照的更新同步到备用主节点上, 使得备用主节点与主节点保持同步。由于主节点不负责存储用户数据, 主节点和备用主节点之间只同步系统元数据表。当这些表在主节点上发生更改后, 将自动同步到备用主节点, 使其保持最新状态。如果主节点发生故障, 管理员可以激活备用主节点。Oushu Database 利用同步的日志信息将集群重建为最后一成功提交事务时的状态。激活的备用主节点将作为 Oushu Database 新的主节点, 为集群提供服务。

如果主节点故障, 管理员可使用命令行工具激活备用主节点。如果在集群启动时已经打开了自动切换功能,备用主节点将在主节点故障时自动升级为主节点。原故障主节点将从集群中删除,由管理员自行处理。(注:切换主节点后,集群中已经没有备用主节点,须由管理员手工添加。)

配置备用主节点

  1. 请确保备用主节点的主机已安装了 Oushu Database 并相应地进行了配置:
  • 已创建 gpadmin 系统用户
  • Oushu Database 二进制文件已安装
  • 设置了 Oushu Database 环境变量
  • 已交换 SSH 密钥
  • 已创建 Oushu Database 数据目录
  1. 初始化 Oushu Database 备用主节点:
    登录到 Oushu Database 主节点并重新初始化 Oushu Database 备用主节点:
$ ssh gpadmin@<oushu_master>
oushu_master$ source /usr/local/hawq/greenplum_path.sh
oushu_master$ hawq config -c hawq_standby_address_host -v <new_standby_master>
oushu_master$ hawq init standby

其中 < new_standby_master > 标识备用主节点的主机名。

检查备用主节点的状态

要检查备用主节点的状态, 可以查询 gp_master_mirroring 视图:

oushu_master$ psql dbname -c 'SELECT * FROM gp_master_mirroring;'

如果尚未在群集设置备用主节点, 则会看到以下输出:

 summary_state  | detail_state | log_time | error_message
----------------+--------------+----------+---------------
 Not Configured |              |          |
(1 row)

如果已配置备用主节点并与主节点同步, 则会看到与以下内容类似的输出:

 summary_state | detail_state | log_time               | error_message
---------------+--------------+------------------------+---------------
 Synchronized  |              | 2021-03-30 21:53:47+00 |
(1 row)
评论(1)
  • Eason
    Eason 回复

    听说偶数科技数据库团队正在打造多 master 的功能,在不久就会问世。
    多 master 功能发布之后,高可用的功能就进化成负载均衡了,不但可以支持高可用,还可以支持更高的并发。
    期待.....

test