6.3.?高可用实例

uxmpp的作为UXDB的扩展插件,也可以实现高可用。

uxmpp的高可用是通过给master搭建主备流复制,分片使用uxmpp的副本的形式来实现的。

  1. 搭建uxmpp环境(包含一个master节点,至少两个worker节点,详细步骤请参考第?4.1?节

  2. 搭建异步流复制环境,为master节点创建一个备服务器,详细步骤请参考《优炫数据库备份与还原手册 V2.1》中异步流复制章节。

  3. master节点上的uxmpp集群修改配置参数

    修改uxsinodb.conf:

    max_connections = 1000  
    wal_level = replica 
    hot_standby = on  
    max_prepared_transactions = 2000

    修改ux_hba.conf:

    host replication all 0.0.0.0/0 md5

    新建recovery.done:

    vi recovery.done  
    recovery_target_timeline = 'latest' 
    standby_mode = on  
    primary_conninfo = 'host=IP port=port user=username password=password'

    (IP为master上uxmpp集群所在机器IP,port为master上uxmpp集群端口,username为master上uxmpp集群的用户名,password为master上uxmpp集群的用户密码。)

    上述配置完成之后可以重启master节点上的uxmpp集群。

  4. 修改master节点的复制因子

    登录master集群控制台执行:

    alter system set uxmpp.shard_replication_factor TO 2;

    重启集群使参数生效。

  5. 备节点上生成备库

    备节点请参考《优炫数据库备份与还原手册 V2.1》。

    在master备节点上的uxdb的bin目录下执行:

    ./ux_basebackup -D uxdbdata -F p -X stream -h masterIP -p 5432 -U uxdb

    控制选项:

    -D,--uxdata

    指定把备份写到那个目录,如果这个目录或这个目录路径中的各级父目录不存在,则ux_basebackup就会自动创建这个目录,如果目录存在,但目录不为空,则会导致ux_basebackup执行失败。

    -F,--format=p|t

    指定输出格式:

    p-原样输出,即把主数据库中的各个数据文件,配置文件、目录结构都完全一样的写到备份目录;

    t-把输出的备份文件打包到一个tar文件中。

    -X,--xlog(wal)-method=fetch|stream

    指定WAL日志的存储方法。

    连接选项:

    -h,--host=HOSTNAME

    指定需要连接的数据库所在地址。

    -p,--port=PORT

    指定需要连接的数据库的端口。

    -U,--username=NAME--username=NAME

    指定需要连接的数据库的用户名。

    进入备库集群目录执行:

    mv recovery.done recovery.conf

    启动备库。

  6. 模拟故障

    • 登录master主库创建测试表(分布式表),并插入数据。

    • 模拟主库故障(停止主库)。

    • 进入备库集群目录执行:mv recovery.conf recovery.done(重启备节点集群,备节点转为读写主节点)。

    • 在备节点上对原数据进行读写。

    • 模拟worker节点故障(停止一个worker)。

    • 在备节点上对原表进行读操作。

XML 地图 | Sitemap 地图