MogDB 一主一备安装
参考官网:MogDB - 安稳易用的MogDB商业版数据库 | MogDB Docs
操作系统:Centos7
数据库版本:MogDB3.0
主机名 | ens33 | ens34 |
---|---|---|
node1 | 192.168.65.130 | 10.10.10.130 |
node2 | 192.168.65.131 | 10.10.10.131 |
1 操作系统配置
1.1 关闭selinux
vim /etc/selinux/config
SELINUX=disabled
1.2 关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
1.3 设置字符集(不设)
vim /etc/profile
# CentOS x86
localedef -c -f GB18030 -i zh_CN zh_CN.gb18030
localedef -c -f GBK -i zh_CN zh_CN.gbk
locale -a
1.4 设置时区和时间
#将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#使用date -s命令将各主机的时间设置为统一时间,举例
date -s "Sat Sep 27 16:00:07 CST 2023"
1.5 关闭swap交换内存(可选)
说明: 关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。
swapoff -a
1.6 关闭透明大页
关闭透明大页可以减少宿主机操作系统的开销,以便获得更稳定的性能。
echo never > /sys/kernel/mm/transparent_hugepage/enabled
2 安装依赖包
前提能联网或者已经挂载光盘
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 expect
3 安装Python3
官方建议安装Python3.6
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
mkdir -p /usr/local/python3
tar -zxvf Python-3.6.5.tgz
cd Python-3.6.5
./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC && make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
find / -name libpython3.6m.so.1.0
cp libpython3.6m.so.1.0 /usr/lib64
4 安装
4.1 上传解压安装包
安装包获取 MogDB: MogDB Downloads
以root用户登录安装MogDB的任意主机
mkdir -p /opt/software/mogdb
chmod 755 -R /opt/software
解压
[root@node1 ~]# cd /opt/software/mogdb/
[root@node1 mogdb]# tar -xf MogDB-3.0.4-CentOS-x86_64.tar.gz
[root@node1 mogdb]# ll
[root@node1 mogdb]# tar -xf MogDB-3.0.4-CentOS-64bit-om.tar.gz
[root@node1 mogdb]# tar -xf MogDB-3.0.4-CentOS-64bit.tar.gz
4.2 配置数据库名称及各项目录
#得到模板
cp /opt/software/mogdb/script/gspylib/etc/conf/cluster_config_template.xml /opt/software/mogdb/
#修改配置文件
vim /opt/software/mogdb/cluster_config_template.xml
#内容如下
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="dbCluster" />
<PARAM name="nodeNames" value="node1,node2"/>
<PARAM name="gaussdbAppPath" value="/opt/mogdb/install/app" />
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<PARAM name="tmpMppdbPath" value="/opt/mogdb/tmp"/>
<PARAM name="gaussdbToolPath" value="/opt/mogdb/install/om" />
<PARAM name="corePath" value="/opt/mogdb/corefile"/>
<PARAM name="backIp1s" value="192.168.65.130,192.168.65.131"/>
</CLUSTER>
<DEVICELIST>
<DEVICE sn="node1">
<PARAM name="name" value="node1"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.65.130"/>
<PARAM name="sshIp1" value="10.10.10.130"/>
<!-- dn -->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/mogdb/install/data/dn,node2,/opt/mogdb/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
<DEVICE sn="node2">
<PARAM name="name" value="node2"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="192.168.65.131"/>
<PARAM name="sshIp1" value="10.10.10.131"/>
</DEVICE>
</DEVICELIST>
</ROOT>
4.3 检查主机名
检查hostname 与 /etc/hostname 是否一致(主备确认)
[root@node1 conf]# hostname
node1
[root@node1 conf]# cat /etc/hostname
node1
4.4 确保openssl版本正确
为确保openssl版本正确,执行预安装前请加载安装包中lib库。执行命令如下,其中{packagePath}为用户安装包放置的路径,本示例中为/opt/software/mogdb。
#示例
export LD_LIBRARY_PATH={packagePath}/script/gspylib/clib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/software/mogdb/script/gspylib/clib:$LD_LIBRARY_PATH
4.5 初始化脚本
#node1执行
[root@node1 ~]# /opt/software/mogdb/script/gs_preinstall -U omm -G dbgrp -X /opt/software/mogdb/cluster_config_template.xml
缺少expect包
#node1和node2安装
yum install -y expect
密码:Enmo@123
出现上面问题:不要设字符集
4.6 执行安装
#node1、node2都执行
chown -R omm:dbgrp /opt/software/mogdb/lib
chown -R omm:dbgrp /opt/software/mogdb/script
依次执行以下命令安装MogDB:
#node1执行
su - omm
gs_install -X /opt/software/mogdb/cluster_config_template.xml --gsinit-parameter="--locale=en_US.UTF-8" --gsinit-parameter="--encoding=UTF-8"
5 连接数据库
gsql -d postgres -p 15400 -r