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

简介: 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
4月前
|
存储 监控 安全
132_API部署:FastAPI与现代安全架构深度解析与LLM服务化最佳实践
在大语言模型(LLM)部署的最后一公里,API接口的设计与安全性直接决定了模型服务的可用性、稳定性与用户信任度。随着2025年LLM应用的爆炸式增长,如何构建高性能、高安全性的REST API成为开发者面临的核心挑战。FastAPI作为Python生态中最受青睐的Web框架之一,凭借其卓越的性能、强大的类型安全支持和完善的文档生成能力,已成为LLM服务化部署的首选方案。
|
9月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3126 57
|
11月前
|
资源调度 前端开发 算法
鸿蒙OS架构设计探秘:从分层设计到多端部署
本文深入探讨了鸿蒙OS的架构设计,从独特的“1+8+N”分层架构到模块化设计,再到智慧分发和多端部署能力。分层架构让系统更灵活,模块化设计通过Ability机制实现跨设备一致性,智慧分发优化资源调度,多端部署提升开发效率。作者结合实际代码示例,分享了开发中的实践经验,并指出生态建设是未来的关键挑战。作为国产操作系统的代表,鸿蒙的发展值得每一位开发者关注与支持。
|
8月前
|
存储 人工智能 前端开发
Google揭秘Agent架构三大核心:工具、模型与编排层实战指南
本文为Google发布的Agent白皮书全文翻译。本文揭示了智能体如何突破传统AI边界,通过模型、工具与编排层的三位一体架构,实现自主推理与现实交互。它不仅详解了ReAct、思维树等认知框架的运作逻辑,更通过航班预订、旅行规划等案例,展示了智能体如何调用Extensions、Functions和Data Stores,将抽象指令转化为真实世界操作。文中提出的“智能体链式组合”概念,预示了未来多智能体协作解决复杂问题的革命性潜力——这不仅是技术升级,更是AI赋能产业的范式颠覆。
2517 1
|
9月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
820 10
|
9月前
|
人工智能 监控 前端开发
基于 Next.js 的书法字体生成工具架构设计与 SSR 优化实践
本项目是一款书法字体生成工具,采用 Next.js 14(App Router)与 Tailwind CSS 构建前端,阿里云 Serverless 部署后端。通过混合渲染策略(SSG/SSR/CSR)、Web Worker 异步计算及 CDN 字体分片加载优化性能。服务端借助阿里云函数计算处理计算密集型任务,将平均耗时从 1200ms 降至 280ms,支持 1000+ QPS。动态路由与 ARMS 监控提升工程化水平,未来计划引入 WebGPU 和 AI 字体风格迁移技术,进一步优化用户体验。
|
监控 数据可视化
如何通过建模工具实现企业架构治理全流程管理
企业架构治理工具通过构建统一的架构语言、可视化建模、流程管理、资源整合和多场景分析,实现企业架构的全生命周期管理。该工具赋能企业数字化转型,确保业务、平台、数据及技术相互耦合闭环,提供从规划到决策的一站式服务,助力提升业务运营、优化组织管理和加速数字化建设。
351 2
如何通过建模工具实现企业架构治理全流程管理
|
4月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路