暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AntDB-S安装部署(3):集中式高可用环境搭建

关耳 2023-09-27
287


搭建一主两备单机集群。

这里搭建的单机集群是一主两备,一个同步,一个异步。以下示例总共使用3台主机,分布如下:

主机

节点

10.20.16.227

主节点

10.20.16.228

同步备节点

10.20.16.214

异步备节点

搭建主库

步骤一:按照前面"单机版安装"章节的步骤,搭建单机主库。

步骤二:为了后续搭建备库,需要修改主库的配置。

这里主库的数据目录是/data/shan2/data/,请根据实际来修改。

  1. 在hba中添加replication访问认证:

cat >> /data/shan2/data/pg_hba.conf << EOF
host   all         all     0.0.0.0/0       trust
host replication   all     0.0.0.0/0       trust
EOF

  1. 修改主库postgres.conf文件:

cat >> /data/shan2/data/postgresql.conf << EOF
listen_addresses = '*'
wal_level = replica
hot_standby = on
EOF

步骤三:重启主库,使上面的修改生效。如果主库未启动,则启动。

pg_ctl restart -D /data/shan2/data

启动完成后,尝试用psql(AntDB-S的命令行客户端程序)登录数据库,查看是否启动成功。

psql -p 55551 -d postgres

搭建备库

步骤一:安装RPM包,参考单机版安装步骤,与主库安装步骤相同

步骤二:配置环境变量,参考单机版的步骤,与主库配置步骤相同

步骤三:在备库所在的主机运行:

pg_basebackup -D 实际的数据目录 -Fp -R -Xs -v -P -h 主库ip -p 主库端口 -U antdbs

举例:

备机在10.20.16.228上,则登录到此主机上,执行以下命令:

pg_basebackup -D /data/shan2/data -Fp -R -Xs -v -P -h 10.10.16.227 -p 55551 -U antdbs

  • -p:主节点的端口号
  • -h:主节点的IP地址
  • -D:备节点的数据目录

(如果报错:error: could not connect to server: No route to host 那检查1.配置文件,2.防火墙是否清空规则和已经关闭)

步骤四:启动备机,启动方式和主节点相同。

pg_ctl start -D /data/shan2/data

步骤五:查看主备流复制是否建立成功:

psql到主库上,执行查询,能看到刚才搭建的备机‘state’为streaming,如果为down或者查询为空,则说明搭建失败,请检查搭建步骤:

select * from pg_stat_replication;

通过上面的步骤,可以搭建多个备库。

修改同异步状态

默认的主备流复制是异步状态。如果想要流复制改为同步,则还需要修改一些参数。

步骤一:修改备库postgresql.auto.conf文件,在primary_conninfo中增加application_name。

例如,指定application_name=ds1:

primary_conninfo = 'application_name=ds1 user=shan2 passfile=''/data/shan2/.pgpass'' host=10.20.16.227 port=40571 sslmode=prefer sslcompression=0 gssencmode=disable krbsrvname=postgres target_session_attrs=any'
primary_slot_name = 'ds1'

步骤二:修改主库synchronous_standby_names名称,为上面的application_name。

synchronous_standby_names = '1 (ds1)'

最后,重启主库和备库,然后登录到主库上,查看流复制状态。

如下,就是搭建了2个备库,一主一备的情况:

postgres=# select application_name , state, sync_state from pg_stat_replication;
application_name |   state   | sync_state
------------------+-----------+------------
ds2             | streaming | async
ds1             | streaming | sync
(2 rows)

创建replicator用户

登录到主库上,创建replicator用户:

psql –h主库ip -p 主库端口号 –c " create role replicator with login replication password 'antdbs'"

例如:

psql -h 10.19.32.121 -p 55551 -d postgres -c"create role replicator with login replication password 'antdbs'"

关闭SELINUX

修改/etc/selinux/config文件,设置状态为disabled。

例如,使用如下命令,替换enforcing为disabled:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

或者

sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/selinux/config

检查SELINUX是否关闭

/usr/sbin/sestatus –v             # 预期结果为: SELinux status: disabled

关于AntDB数据库

AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论