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

MogDB学习笔记-主从搭建

写在前面

上一篇笔记记录了使用PTK装MogDB单机环境,为了方便后续学习验证,决定搭建一套主从环境,MogDB的安装可以使用容器化、PTK、OM、手动安装四种方式,其中OM是支持搭建单机实例,其他三个都可以搭建主从,因为上一篇使用PTK搭建单实例的时候,我的虚拟机不支持bmi2指令集(CentOS),最后也是跳过了系统检查才安装成功,因此决定通过手动安装的形式搭建主从。

上一篇笔记的地址:https://www.modb.pro/db/452286

环境规划

NODE1

NODE2

Hostname

mogdb1

mogdb2

IP

10.80.9.249

10.80.9.250

磁盘

20G

20G

内存

2G

2G

安装Centos7

详见我的第一篇笔记,此处略

配置环境

此步骤需要在node1、node2都需要执行

  1. 配置hostname

Node1

hostnamectl set-hostname mogdb1

Node2

hostnamectl set-hostname mogdb2

  1. 配置IP地址

Node1

nmcli connection modify enp0s3 ipv4.addresses 10.80.9.249/24 ipv4.gateway 10.80.0.1 ipv4.method manual autoconnect yes

Node2

nmcli connection modify enp0s3 ipv4.addresses 10.80.9.250/24 ipv4.gateway 10.80.0.1 ipv4.method manual autoconnect yes

三、配置yum源 node1、node2都要执行

挂载磁盘镜像

[root@mogdb ~]# mount /dev/cdrom /mnt

编辑yum文件

[root@mogdb ~]# cd /etc/yum.repos.d/

[root@mogdb ~]# cp CentOS-Base.repo local.repo

[root@mogdb ~]# vi local.repo

[local]

name=local

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

baseurl=file:///mnt

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[root@mogdb ~]# yum repolist all

  1. 安装依赖包

由于安装操作系统的时候使用了极简安装,因此很多管理包也不存在,导致很多管理命令无法执行,先安装以下三个yum组

yum group install "System Administration Tools" \

--setopt=group_package_types=mandatory,default,optional

yum group install "System Management" \

--setopt=group_package_types=mandatory,default,optional

yum group install "Basic Web Server"

安装MogDB的依赖包

yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel expect openSSH

四、关闭防火墙

[root@mogdb ~]# systemctl status firewalld.service

[root@mogdb ~]# systemctl stop firewalld.service

[root@mogdb ~]# systemctl status firewalld.service

[root@mogdb ~]# systemctl disable firewalld.service

五、关闭seLinux

[root@mogdb ~]# vi /etc/selinux/config

修改“SELINUX”的值“disabled”

需要重启生效,也可以临时生效

[root@mogdb ~]# setenforce 0

六、设置网卡MTU值

[root@mogdb ~]# ifconfig enp0s3 mtu 8192

七、其他环境配置请参考官方文档

https://docs.mogdb.io/zh/mogdb/v3.0/os-configuration

其他的我暂时没有设置,先安装试一下

八、创建用户和组

groupadd dbgrp -g 2000

useradd omm -g 2000 -u 2000

echo "password" | passwd --stdin omm

#软件目录

mkdir -p /opt/mogdb/software

#数据文件目录

mkdir -p /opt/mogdb/data

chown -R omm:dbgrp /opt/mogdb

  1. 上传软件包并解压

[root@mogdb1 software]# pwd

/opt/mogdb/software

[root@mogdb1 software]# chown -R omm:dbgrp /opt/mogdb

[root@mogdb1 software]# ll

total 135892

-rw-r--r--. 1 omm dbgrp 139152523 Aug 5 12:44 MogDB-3.0.0-CentOS-x86_64.tar.gz

[root@mogdb1 software]# su - omm

  1. 解压(omm用户)

[omm@mogdb1 ~]$ cd /opt/mogdb/software/

[omm@mogdb1 software]$ tar -xf MogDB-3.0.0-CentOS-x86_64.tar.gz

安装

  1. omm用户环境变量配置(主库、从库)

在.bash_profile中增加如下几行

export GAUSSHOME=/opt/mogdb/software

export PATH=$GAUSSHOME/bin:$PATH

export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH

环境变量生效

source ~/.bash_profile

  1. 初始化数据库(主库)

[omm@mogdb1 software]$ bin/gs_initdb --pgdata=/opt/mogdb/data --nodename=primary --pwpasswd=Enmo@123 --encoding=UTF-8 --locale=en_US.UTF-8

  1. 修改参数(主库)

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

echo "replconninfo1='localhost=10.80.9.249 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=10.80.9.250 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004'" >> /opt/mogdb/data/postgresql.conf

  1. 启动主库

[omm@mogdb1 software]$ gs_ctl start -D /opt/mogdb/data/ -M primary

  1. 修改参数(从库)

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

echo "replconninfo1='localhost=10.80.9.250 localport=26001 localheartbeatport=26005 localservice=26004 remotehost=10.80.9.249 remoteport=26001 remoteheartbeatport=26005 remoteservice=26004'" >> /opt/mogdb/data/postgresql.conf

  1. 构建主备库关系(从库)

[omm@mogdb2 software]$ gs_ctl build -D /opt/mogdb/data/ -b full -M standby

  1. 查询主备库状态

主库

gs_ctl query -D /opt/mogdb/data/

从库

gs_ctl query -D /opt/mogdb/data/

最后

安装成功了,接下来开始在这个中主备环境中学习验证

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

文章被以下合辑收录

评论