4.1 MogDB&openGauss 手动部署(非OM工具)单机,主备,主备级联架构

这篇博客详细介绍了如何手动部署MogDB和openGauss数据库,从关闭防火墙、安装依赖到创建目录和用户,再到解压二进制文件、初始化数据库、配置主备和级联结构。通过一步步的shell命令指导,实现了单机、主备及主备级联的完整架构部署。
摘要由CSDN通过智能技术生成

# 一、前期准备

## 1. 关闭防火墙,selinux

```shell

systemctl disable firewalld.service

systemctl stop firewalld.service

setenforce=0

sed -i '/^SELINUX=/c'SELINUX=disabled /etc/selinux/config

```

## 2. 安装依赖包

```shell

yum install libaio-devel -y

```

## 3. 创建相关目录,用户,组

```shell

groupadd dbgrp -g 2000

useradd omm -g 2000 -u 2000

echo "Enmo@123" | passwd --stdin omm

mkdir -p /opt/mogdb/software

chown -R omm:dbgrp /opt/

```

## 4. 上传并解压二进制文件

```shell

[root@mogdb-kernel-0001 software]# pwd

/opt/mogdb/software

[root@mogdb-kernel-0001 software]# ls -lrt

total 90236

-r-------- 1 root root 92401412 Jun 13 06:14 MogDB-2.0.0-openEuler-64bit.tar.bz2

chown omm:dbgrp MogDB-2.0.0-openEuler-64bit.tar.bz2

su - omm

cd /opt/mogdb/software/

tar -xf MogDB-2.0.0-openEuler-64bit.tar.bz2

```

# 二、初始化数据库(单机)

## 1. 配置环境变量

```shell

echo "export GAUSSHOME=/opt/mogdb/software"  >> /home/omm/.bashrc && \

echo "export PATH=\$GAUSSHOME/bin:\$PATH " >> /home/omm/.bashrc && \

echo "export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$LD_LIBRARY_PATH" >> /home/omm/.bashrc

source /home/omm/.bashrc

```

## 2. init数据库

```shell

bin/gs_initdb --pgdata=/opt/mogdb/data --nodename=primary --pwpasswd=Enmo@123 --encoding=UTF-8 --locale=en_US.UTF-8

```

## 3. 修改初始化参数

```shell

echo "port=26000" >> /opt/mogdb/data/postgresql.conf

echo "listen_addresses = '0.0.0.0'" >> /opt/mogdb/data/postgresql.conf

echo "password_encryption_type = 0" >> /opt/mogdb/data/postgresql.conf

echo "log_directory = 'pg_log'" >> /opt/mogdb/data/postgresql.conf

echo "remote_read_mode=non_authentication" >> /opt/mogdb/data/postgresql.conf

echo "host all all 0.0.0.0/0 md5" >> /opt/mogdb/data/pg_hba.conf

```

## 4. 启动数据库

```shell

gs_ctl start -D /opt/mogdb/data

```

**至此单机安装完成**

# 三、主备安装

## 1. 主库操作


 

- 配置连接通道

```shell

echo "replconninfo1='localhost=172.16.0.106 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=172.16.0.245 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004'    

" >> /opt/mogdb/data/postgresql.conf

```

**localhost为主库IP,remotehost为备库IP**

- 将主库以primary方式启动

```shell

gs_ctl restart -D /opt/mogdb/data/ -M primary

```

## 2. 备库操作

- 前期准备工作如上(一)

- 配置环境变量

```shell

echo "export GAUSSHOME=/opt/mogdb/software"  >> /home/omm/.bashrc && \

echo "export PATH=\$GAUSSHOME/bin:\$PATH " >> /home/omm/.bashrc && \

echo "export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$LD_LIBRARY_PATH" >> /home/omm/.bashrc

source /home/omm/.bashrc

- 将主库的配置文件传到备库

scp /opt/mogdb/data/pg_hba.conf /opt/mogdb/data/postgresql.conf 172.16.0.245:/opt/mogdb/data/

```

- 配置连接通道,将localhost和remotehost对调.

sed -i "/^replconninfo1/creplconninfo1='localhost=172.16.0.245 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=172.16.0.106 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004'" /opt/mogdb/data/postgresql.conf

**localhost为备库IP,remotehost为主库IP**

- 构建主备关系

```shell

gs_ctl build -D /opt/mogdb/data/ -b full -M standby

```

- 查询主备状态

  - 主库

```shell

[omm@mogdb-kernel-0001 data]$ gs_ctl query -D /opt/mogdb/data/    

[2021-06-13 07:51:41.119][159054][][gs_ctl]: gs_ctl query ,datadir is /opt/mogdb/data

 HA state:          

        local_role                     : Primary

        static_connections             : 1

        db_state                       : Normal

        detail_information             : Normal

 Senders info:      

        sender_pid                     : 159041

        local_role                     : Primary

        peer_role                      : Standby

        peer_state                     : Normal

        state                          : Streaming

        sender_sent_location           : 0/14000258

        sender_write_location          : 0/14000258

        sender_flush_location          : 0/14000258

        sender_replay_location         : 0/14000258

        receiver_received_location     : 0/14000258

        receiver_write_location        : 0/14000258

        receiver_flush_location        : 0/14000258

        receiver_replay_location       : 0/14000258

        sync_percent                   : 100%

        sync_state                     : Sync

        sync_priority                  : 1

        sync_most_available            : Off

        channel                        : 172.16.0.106:26001-->172.16.0.245:60856

 Receiver info:      

No information

```

  - 备库

```shell

[omm@mogdb-kernel-0002 data]$ gs_ctl query -D /opt/mogdb/data/                  

[2021-06-13 07:51:32.743][123204][][gs_ctl]: gs_ctl query ,datadir is /opt/mogdb/data

 HA state:          

        local_role                     : Standby

        static_connections             : 1

        db_state                       : Normal

        detail_information             : Normal

 Senders info:      

No information

 Receiver info:      

        receiver_pid                   : 123194

        local_role                     : Standby

        peer_role                      : Primary

        peer_state                     : Normal

        state                          : Normal

        sender_sent_location           : 0/14000140

        sender_write_location          : 0/14000140

        sender_flush_location          : 0/14000140

        sender_replay_location         : 0/14000140

        receiver_received_location     : 0/14000140

        receiver_write_location        : 0/14000140

        receiver_flush_location        : 0/14000140

        receiver_replay_location       : 0/14000140

        sync_percent                   : 100%

        channel                        : 172.16.0.245:60856<--172.16.0.106:26001  

```

**至此主备已安装完成**        


 

# 四、主备级联安装

## 1. 主备安装如上(一,二,三)

## 2. 添加复制通道

- 主库操作

gsql -d postgres -p26000 -c "alter system set replconninfo2 to 'localhost=172.16.0.106 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=172.16.0.127 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004 iscascade=true';"

- 备库操作

gsql -d postgres -p26000 -c "alter system set replconninfo2 to 'localhost=172.16.0.245 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=172.16.0.127 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004 iscascade=true';"

## 3. 级联库操作

- 前期准备工作如上(一)

- 配置环境变量

```shell

echo "export GAUSSHOME=/opt/mogdb/software"  >> /home/omm/.bashrc && \

echo "export PATH=\$GAUSSHOME/bin:\$PATH " >> /home/omm/.bashrc && \

echo "export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$LD_LIBRARY_PATH" >> /home/omm/.bashrc

source /home/omm/.bashrc

```

- 将备库的配置文件传到级联库

```shell

scp /opt/mogdb/data/pg_hba.conf /opt/mogdb/data/postgresql.conf 172.16.0.127:/opt/mogdb/data/

```

- 配置连接通道

```shell

sed -i "/^replconninfo1/creplconninfo1='localhost=172.16.0.127 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=172.16.0.106 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004'" /opt/mogdb/data/postgresql.conf

sed -i "/replconninfo2/creplconninfo2='localhost=172.16.0.127 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=172.16.0.245 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004'" /opt/mogdb/data/postgresql.conf

```

**localhost为级联IP,remotehost为主库IP和备库IP。**

- 构建主备关系

```shell

gs_ctl build -D /opt/mogdb/data/ -b full -M cascade_standby

```

## 4 查看主备级联状态

- 主库

```shell

[omm@mogdb-kernel-0001 ~]$ gs_ctl query -D /opt/mogdb/data

[2021-06-13 08:37:03.281][207069][][gs_ctl]: gs_ctl query ,datadir is /opt/mogdb/data

 HA state:          

        local_role                     : Primary

        static_connections             : 2

        db_state                       : Normal

        detail_information             : Normal

 Senders info:      

        sender_pid                     : 206143

        local_role                     : Primary

        peer_role                      : Standby

        peer_state                     : Normal

        state                          : Streaming

        sender_sent_location           : 0/1A000140

        sender_write_location          : 0/1A000140

        sender_flush_location          : 0/1A000140

        sender_replay_location         : 0/1A000140

        receiver_received_location     : 0/1A000140

        receiver_write_location        : 0/1A000140

        receiver_flush_location        : 0/1A000140

        receiver_replay_location       : 0/1A000140

        sync_percent                   : 100%

        sync_state                     : Sync

        sync_priority                  : 1

        sync_most_available            : Off

        channel                        : 172.16.0.106:26001-->172.16.0.245:34586

 Receiver info:      

No information

```

- 备库

```shell

  [omm@mogdb-kernel-0002 ~]$ gs_ctl query -D /opt/mogdb/data

[2021-06-13 08:37:09.128][147065][][gs_ctl]: gs_ctl query ,datadir is /opt/mogdb/data

 HA state:          

        local_role                     : Standby

        static_connections             : 2

        db_state                       : Normal

        detail_information             : Normal

 Senders info:      

        sender_pid                     : 147043

        local_role                     : Standby

        peer_role                      : Cascade Standby

        peer_state                     : Normal

        state                          : Streaming

        sender_sent_location           : 0/1A000140

        sender_write_location          : 0/1A000140

        sender_flush_location          : 0/1A000140

        sender_replay_location         : 0/1A000140

        receiver_received_location     : 0/1A000140

        receiver_write_location        : 0/1A000140

        receiver_flush_location        : 0/1A000140

        receiver_replay_location       : 0/1A000140

        sync_percent                   : 100%

        sync_state                     : Async

        sync_priority                  : 0

        sync_most_available            : Off

        channel                        : 172.16.0.245:26001-->172.16.0.127:49110

 Receiver info:      

        receiver_pid                   : 146771

        local_role                     : Standby

        peer_role                      : Primary

        peer_state                     : Normal

        state                          : Normal

        sender_sent_location           : 0/1A000140

        sender_write_location          : 0/1A000140

        sender_flush_location          : 0/1A000140

        sender_replay_location         : 0/1A000140

        receiver_received_location     : 0/1A000140

        receiver_write_location        : 0/1A000140

        receiver_flush_location        : 0/1A000140

        receiver_replay_location       : 0/1A000140

        sync_percent                   : 100%

        channel                        : 172.16.0.245:34586<--172.16.0.106:26001

```        

- 级联库

```shell

[omm@mogdb-kernel-0003 data]$ gs_ctl query -D /opt/mogdb/data

[2021-06-13 08:36:56.223][273241][][gs_ctl]: gs_ctl query ,datadir is /opt/mogdb/data

 HA state:          

        local_role                     : Cascade Standby

        static_connections             : 2

        db_state                       : Normal

        detail_information             : Normal

 Senders info:      

No information

 Receiver info:      

        receiver_pid                   : 273237

        local_role                     : Cascade Standby

        peer_role                      : Standby

        peer_state                     : Normal

        state                          : Normal

        sender_sent_location           : 0/1A000140

        sender_write_location          : 0/1A000140

        sender_flush_location          : 0/1A000140

        sender_replay_location         : 0/1A000140

        receiver_received_location     : 0/1A000140

        receiver_write_location        : 0/1A000140

        receiver_flush_location        : 0/1A000140

        receiver_replay_location       : 0/1A000140

        sync_percent                   : 100%

        channel                        : 172.16.0.127:49110<--172.16.0.245:26001

```

**至此主备级联安装完成**



 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值