寫在前面
上一篇筆記記錄了使用PTK裝MogDB單機(jī)環(huán)境,為了方便后續(xù)學(xué)習(xí)驗(yàn)證,決定搭建一套主從環(huán)境,MogDB的安裝可以使用容器化、PTK、OM、手動(dòng)安裝四種方式,其中OM是支持搭建單機(jī)實(shí)例,其他三個(gè)都可以搭建主從,因?yàn)樯弦黄褂肞TK搭建單實(shí)例的時(shí)候,我的虛擬機(jī)不支持bmi2指令集(CentOS),最后也是跳過了系統(tǒng)檢查才安裝成功,因此決定通過手動(dòng)安裝的形式搭建主從。
上一篇筆記的地址:http://m.sunline.cc/db/452286
環(huán)境規(guī)劃
NODE1 | NODE2 | |
Hostname | mogdb1 | mogdb2 |
IP | 10.80.9.249 | 10.80.9.250 |
磁盤 | 20G | 20G |
內(nèi)存 | 2G | 2G |
安裝Centos7
詳見我的第一篇筆記,此處略
配置環(huán)境
此步驟需要在node1、node2都需要執(zhí)行
- 配置hostname
Node1
hostnamectl set-hostname mogdb1 |
Node2
hostnamectl set-hostname mogdb2 |
- 配置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都要執(zhí)行
掛載磁盤鏡像
[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 |
- 安裝依賴包
由于安裝操作系統(tǒng)的時(shí)候使用了極簡(jiǎn)安裝,因此很多管理包也不存在,導(dǎo)致很多管理命令無法執(zhí)行,先安裝以下三個(gè)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 |
四、關(guān)閉防火墻
[root@mogdb ~]# systemctl status firewalld.service [root@mogdb ~]# systemctl stop firewalld.service [root@mogdb ~]# systemctl status firewalld.service [root@mogdb ~]# systemctl disable firewalld.service |
五、關(guān)閉seLinux
[root@mogdb ~]# vi /etc/selinux/config |
修改“SELINUX”的值“disabled”
需要重啟生效,也可以臨時(shí)生效
[root@mogdb ~]# setenforce 0 |
六、設(shè)置網(wǎng)卡MTU值
[root@mogdb ~]# ifconfig enp0s3 mtu 8192 |
七、其他環(huán)境配置請(qǐng)參考官方文檔
https://docs.mogdb.io/zh/mogdb/v3.0/os-configuration
其他的我暫時(shí)沒有設(shè)置,先安裝試一下
八、創(chuàng)建用戶和組
groupadd dbgrp -g 2000 useradd omm -g 2000 -u 2000 echo "password" | passwd --stdin omm #軟件目錄 mkdir -p /opt/mogdb/software #數(shù)據(jù)文件目錄 mkdir -p /opt/mogdb/data chown -R omm:dbgrp /opt/mogdb |
- 上傳軟件包并解壓
[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 |
- 解壓(omm用戶)
[omm@mogdb1 ~]$ cd /opt/mogdb/software/ [omm@mogdb1 software]$ tar -xf MogDB-3.0.0-CentOS-x86_64.tar.gz |
安裝
- omm用戶環(huán)境變量配置(主庫(kù)、從庫(kù))
在.bash_profile中增加如下幾行
export GAUSSHOME=/opt/mogdb/software export PATH=$GAUSSHOME/bin:$PATH export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH |
環(huán)境變量生效
source ~/.bash_profile |
- 初始化數(shù)據(jù)庫(kù)(主庫(kù))
[omm@mogdb1 software]$ bin/gs_initdb --pgdata=/opt/mogdb/data --nodename=primary --pwpasswd=Enmo@123 --encoding=UTF-8 --locale=en_US.UTF-8 |
- 修改參數(shù)(主庫(kù))
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 |
- 啟動(dòng)主庫(kù)
[omm@mogdb1 software]$ gs_ctl start -D /opt/mogdb/data/ -M primary |
- 修改參數(shù)(從庫(kù))
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 |
- 構(gòu)建主備庫(kù)關(guān)系(從庫(kù))
[omm@mogdb2 software]$ gs_ctl build -D /opt/mogdb/data/ -b full -M standby |
- 查詢主備庫(kù)狀態(tài)
主庫(kù)
gs_ctl query -D /opt/mogdb/data/ |
從庫(kù)
gs_ctl query -D /opt/mogdb/data/ |
最后
安裝成功了,接下來開始在這個(gè)中主備環(huán)境中學(xué)習(xí)驗(yàn)證




