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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: MogDB/openGauss 手动部署(非OM工具)单机,主备,主备级联架构

一、前期准备

1. 关闭防火墙,selinux

systemctl disable firewalld.service
systemctl stop firewalld.service
setenforce=0
sed -i '/^SELINUX=/c'SELINUX=disabled /etc/selinux/config

2. 安装依赖包

yum install libaio-devel -y

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

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. 上传并解压二进制文件

[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. 配置环境变量

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数据库

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

3. 修改初始化参数

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. 启动数据库

gs_ctl start -D /opt/mogdb/data

至此单机安装完成

三、主备安装

1. 主库操作

  • 配置连接通道
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方式启动
gs_ctl restart -D /opt/mogdb/data/ -M primary

2. 备库操作

  • 前期准备工作如上(一)
  • 配置环境变量
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/m
  • 配置连接通道,将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

  • 构建主备关系
gs_ctl build -D /opt/mogdb/data/ -b full -M standby
  • 查询主备状态
  • 主库
[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
  • 备库
[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. 级联库操作

  • 前期准备工作如上(一)
  • 配置环境变量
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.127:/opt/mogdb/data/
  • 配置连接通道
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。

  • 构建主备关系
gs_ctl build -D /opt/mogdb/data/ -b full -M cascade_standby

4 查看主备级联状态

  • 主库
[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 
  • 备库
  [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
  • 级联库
[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

至此主备级联安装完成

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
10天前
|
弹性计算 运维 监控
阿里云云服务诊断工具:合作伙伴架构师的深度洞察与优化建议
作为阿里云的合作伙伴架构师,我深入体验了其云服务诊断工具,该工具通过实时监控与历史趋势分析,自动化检查并提供详细的诊断报告,极大提升了运维效率和系统稳定性,特别在处理ECS实例资源不可用等问题时表现突出。此外,它支持预防性维护,帮助识别潜在问题,减少业务中断。尽管如此,仍建议增强诊断效能、扩大云产品覆盖范围、提供自定义诊断选项、加强教育与培训资源、集成第三方工具,以进一步提升用户体验。
653 243
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
78 2
|
4天前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
|
1月前
|
监控 安全 持续交付
构建高效的微服务架构:从设计到部署
构建高效的微服务架构:从设计到部署
24 1
|
1月前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
58 1
|
1月前
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署
|
2月前
|
存储 消息中间件 druid
大数据-150 Apache Druid 安装部署 单机启动 系统架构
大数据-150 Apache Druid 安装部署 单机启动 系统架构
47 1
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
229 3
|
17天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
26天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
40 3