一、环境准备:
系统:centos7.6
IP:192.168.254.21/192.168.254.22/192.168.254.23
Mogdb:
在三台
1,修改/etc/selinux/config文件中的“SELINUX”值为“disabled”。
a. 使用VIM打开config文件。
vim /etc/selinux/config
b. 修改“SELINUX”的值“disabled”,执行:wq保存并退出修改。
SELINUX=disabled
c.setenforce 0 或者 reboot
2,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
3,设置时区和时间
cp /usr/share/zoneinfo/Asia/$时区 /etc/localtime
例如:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
使用date查看当前时间是否一致,不一致的话,使用date -s ‘时间...’统一时间,或者ntpdate(详见时间设置的方式:https://www.cnblogs.com/zhubiao/p/9768209.html )。
4,关闭swap交换内存(可选)
swapoff -a
5,设置网卡MTU值
将各数据库节点的网卡MTU值设置为相同大小。对于x86,MTU值推荐1500;对于ARM,MTU值推荐8192。
格式:ifconfig 网卡编号 mtu 值
6,关闭RemoveIPC
在各数据库节点上,关闭RemoveIPC。CentOS操作系统无该参数,可以跳过该步骤。
操作步骤
6.1,修改/etc/systemd/logind.conf文件中的“RemoveIPC”值为“no”。
a. 使用VIM打开logind.conf文件。
vim /etc/systemd/logind.conf
b. 修改“RemoveIPC”值为“no”。
RemoveIPC=no
6.2,修改/usr/lib/systemd/system/systemd-logind.service文件中的“RemoveIPC”值为“no”。
a. 使用VIM打开systemd-logind.service文件。
vim /usr/lib/systemd/system/systemd-logind.service
b. 修改“RemoveIPC”值为“no”。
RemoveIPC=no
重新加载配置参数。
systemctl daemon-reload
systemctl restart systemd-logind
检查修改是否生效。
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
在其他主机上重复
7,设置root用户远程登录
7.1,修改PermitRootLogin配置,允许用户远程登录。
vim /etc/ssh/sshd_config
7.1.1, 将“PermitRootLogin”改为“yes”。
7.1.2, 注释掉Banner所在行
#Banner XXXX
7.2,重启服务
systemctl restart sshd.service
7.3, 以root身份重新在192.168.254.21、192.168.254.22、192.168.254.23之间相互登录一下。
例如:在192.168.254.21上
[root@localhost ~]# ssh root@192.168.254.22
[root@localhost ~]# ssh root@192.168.254.23
二、安装MogDB
安装MogDB前需要创建XML文件。XML文件包含部署MogDB的服务器信息、安装路径、IP地址以及端口号等。用于告知MogDB如何部署。用户需根据不同场配置对应的XML文件。
参数解释:
clusterName MogDB名称。
nodeNames MogDB中主机名称。
backIp1s 主机在后端存储网络中的IP地址(内网IP)。所有MogDB主机使用后端存储网络通讯。
gaussdbAppPath
MogDB程序安装目录。此目录应满足如下要求:
- 磁盘空间>1GB
- 与数据库所需其它路径相互独立,没有包含关系。
gaussdbLogPath
MogDB运行日志和操作日志存储目录。此目录应满足如下要求:
- 磁盘空间建议根据主机上的数据库节点数规划。数据库节点预留1GB空间的基础上,再适当预留冗余空间。
- 与MogDB所需其它路径相互独立,没有包含关系。
此路径可选。不指定的情况下,MogDB安装时会默认指定“$GAUSSLOG/安装用户名”作为日志目录。
tmpdbPath
数据库临时文件存放目录。
若不配置tmpdbPath,默认存放在/opt/mogdb/tools/perfadm_db目录下。
**gaussdbToolPath **
MogDB系统工具目录,主要用于存放互信工具等。此目录应满足如下要求:
- 磁盘空间>100MB
- 固定目录,与数据库所需其它目录相互独立,没有包含关系。
此目录可选。不指定的情况下,MogDB安装时会默认指定“/opt/mogdb/tools”作为数据库系统工具目录。
corePath MogDB core文件的指定目录。
clusterType
MogDB类型,MogDB拓扑类型;可选字段。
“single-inst”表示单机一主多备部署形态。
在192.168.254.21/22/23上面建立文件夹:
[root@localhost ~]# mkdir /mogdb/{log,tools,corefile,etc,data} -p
设置hostname
[root@localhost node1]# hostnamectl set-hostname node1
[root@localhost node2]# hostnamectl set-hostname node2
[root@localhost node3]# hostnamectl set-hostname node3
Centos需要安装python3(这里如果是centos7.6 python版本只能是3.6.x)
[root@localhost mogdb]# wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
[root@localhost mogdb]# mkdir -p /usr/local/python3
[root@localhost mogdb]# tar -zxvf Python-3.6.5.tgz
[root@localhost mogdb]# cd Python-3.6.5
[root@localhost Python-3.6.5]# ./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC && make && make install
[root@localhost Python-3.6.5]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@localhost Python-3.6.5]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
[root@node1 Python-3.6.5]# cp libpython3.6m.so.1.0 /usr/lib64
选择三台中的任意主机(此处是node3):
[root@node3 ~]# vim /mogdb/etc/mogdb_clusterconfig.xml
<?xml version="2.0" encoding="UTF-8"?>
<ROOT>
<!-- MogDB整体信息 -->
<CLUSTER>
<PARAM name="clusterName" value="dbCluster" />
<PARAM name="nodeNames" value="node1,node2,node3" />
<PARAM name="backIp1s" value="192.168.254.21,192.168.254.22, 192.168.254.23"/>
<PARAM name="gaussdbAppPath" value="/usr/local/mogdb/app" />
<PARAM name="gaussdbLogPath" value="/mogdb/log/mogdb" />
<PARAM name="gaussdbToolPath" value="/mogdb/tools" />
<PARAM name="corePath" value="/mogdb/corefile"/>
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="1000001">
<PARAM name="name" value="node1"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.254.21"/>
<PARAM name="sshIp1" value="192.168.254.21"/>
<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="26000"/>
<PARAM name="dataNode1" value="/mogdb/data/db1,node2,/mogdb/data/db1, node3,/mogdb/data/db1"/>
</DEVICE>
<!-- node2上的节点部署信息,其中“name”的值配置为主机名称 -->
<DEVICE sn="1000002">
<PARAM name="name" value="node2"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.254.22"/>
<PARAM name="sshIp1" value="192.168.254.22"/>
</DEVICE>
<!--node3上的节点部署信息,其中“name”的值配置为主机名称 -->
<DEVICE sn="1000003">
<PARAM name="name" value="node3"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.254.23"/>
<PARAM name="sshIp1" value="192.168.254.23"/>
</DEVICE>
</DEVICELIST>
</ROOT>
下载mogdb安装包: https://www.mogdb.io/download
右键下载,复制链接,
[root@node3 src]# mkdir -p /opt/software/mogdb
[root@node3 src]# chmod 755 -R /opt/software
[root@node3 src]# cd /opt/software/mogdb
[root@node3 src]# wget https://cdn-mogdb.enmotech.com/mogdb-media/2.0.1/MogDB-2.0.1-CentOS-all-x86_64.tar
[root@node3 src]# yum install -y bzip2 libaio-devel flex bison ncurses-devel glibc-devel libxml2-devel patch redhat-lsb-core unzip gcc gcc-c++ perl openssl-devel libffi-devel libtool zlib-devel
[root@node3 mogdb]# tar -xf MogDB-2.0.1-CentOS-all-x86_64.tar
[root@node3 mogdb]# tar -xvf MogDB-2.0.1-CentOS-all-x86_64.tar
[root@node3 mogdb]# tar -xvf MogDB-2.0.1-CentOS-64bit-om.tar.gz
[root@node3 mogdb]# tar -xf MogDB-2.0.1-CentOS-64bit.tar.bz2
在node3操作,初始化脚本
[root@node3 mogdb]#/opt/software/mogdb/script/gs_preinstall -U omm -G dbgrp -X /mogdb/etc/mogdb_clusterconfig.xml
在三台机器上执行:
[root@allnode ~]# chown -R omm:dbgrp /mogdb/
cd /opt/software/mogdb/script
chmod -R 755 /opt/software/mogdb/script
chown -R omm:dbgrp /opt/software/mogdb/script
在node3操作:
[omm@node3 ~]$ /opt/software/mogdb/script/gs_install -X /mogdb/etc/mogdb_clusterconfig.xml --gsinit-parameter="–locale=en_US.UTF-8" --gsinit-parameter="–encoding=UTF-8"
(输入数据库密码…)

登录数据库:
[omm@node3 ~]$ gsql -d postgres -p 26000 -r
gsql ((MogDB 2.0.1 build f892ccb7) compiled at 2021-07-09 16:12:59 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type “help” for help.
postgres=# \copyright
MogDB Database Management System
Copyright © Yunhe Enmo (Beijing) Information Technology Co., Ltd. Copyright 2020 , All rights reserved.
查看目前状态:
[omm@node3 ~]$ gs_om -t status --detail





