参考墨天轮:https://www.modb.pro/doc/4705
安装了好几天 试了十多遍 终于安装成功了 安装真的不容易特来此写下安装(坑点主要就是编码 和 内存问题)教程 本人环境:centos7.9 内存2G 1核
请自行去安装centos7.6 因为openGauss就支持centos7.6 但是安装了其他版本如centos7.7也无大碍,只需要修改一下/etc/redhat-release的内容
[root@node1 ~]# vim /etc/redhat-release
#修改为:
CentOS Linux release 7.6 (Core)
配置yum源的方法在我的博客
https://blog.csdn.net/qq_42548880/article/details/118679206
1 [root@node1 ~]# yum install -y libaio-devel flex bison ncurses-devel glibc.devel patch lsb_release openssl* python3
[root@node1 ~]# systemctl disable firewalld.service
[root@node1 ~]# systemctl stop firewalld.service
[root@node1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@node1 ~]#cat >> /etc/profile <
export LANG=en_US.UTF-8
EOF
[root@node1 ~]# cp /etc/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@node1 ~]# swapoff -a
推荐值是8192 虚拟机环境是1500 可以不修改
[root@node1 ~]# ifconfig | grep ens32(这个是自己的网卡名称)
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
去掉PermitRootLogin的注释符# 并把 no 改为 yes
[root@node1 ~]# vim /etc/ssh/sshd_config
PermitRootLogin yes
[root@node1 ~]# cat >> /etc/sysctl.conf <
net.ipv4.tcp_retrises1=5
net.ipv4.tcp_syn_retries=5
net.sctp.path_max_retrans=10
net.sctp.max_init_retransmits=10
EOF
[root@node1 ~]# echo "* soft nofile 1000000" >> /etc/security/limits.conf
[root@node1 ~]# echo "* hard nofile 1000000" >> /etc/security/limits.conf
[root@node1 ~]# echo "* soft nprc 60000" >> /etc/security/limits.d/90-nproc.conf
设置后需要重启 reboot
[root@node1 ~]# vim /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled;
then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag;
then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
[root@node1 ~]# echo "node1" > /etc/hostname
[root@node1 ~]# echo "192.168.159.132 ndoe1" >>/etc/hosts
[root@node1 ~]# reboot
可以直接复制 但需要把主机名 和 IP地址修改为自己的就行
[root@node1 ~]# vim /opt/clusterconfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- 整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="dbCluster" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="node1" />
<!-- 节点IP,与nodeNames一一对应 -->
<PARAM name="backIp1s" value="192.168.159.132"/>
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<!-- 临时文件目录-->
<PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" />
<!--数据库工具目录-->
<PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
<!--数据库core文件目录-->
<PARAM name="corePath" value="/opt/huawei/corefile"/>
<!-- openGauss类型,此处示例为单机类型,“single-inst”表示单机一主多备部署形态-->
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="1000001">
<!-- node1的hostname -->
<PARAM name="name" value="node1"/>
<!-- node1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- node1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.159.132"/>
<PARAM name="sshIp1" value="192.168.159.132"/>
<!--DBnode-->
<PARAM name="dataNum" value="1"/>
<!--DBnode端口号-->
<PARAM name="dataPortBase" value="26000"/>
<!--DBnode主节点上数据目录,及备机数据目录-->
<PARAM name="dataNode1" value="/opt/huawei/install/data/db1"/>
<!--DBnode节点上设定同步模式的节点数-->
<!--><PARAM name="dataNode1_syncNum" value="0"/><-->
</DEVICE>
</DEVICELIST>
</ROOT>
下载地址
https://opengauss.org/zh/download.html
然后用共享文件夹的方法传到虚拟机
方法在我的博客有:
https://blog.csdn.net/qq_42548880/article/details/118963071
[root@node1 ~]# groupadd dbgrp
[root@node1 ~]# useradd -g dbgrp -d /home/omm -m -s /bin/bash omm
[root@node1 ~]# echo "omm" | passwd --stdin omm
[root@node1 ~]# mkdir -p /opt/software/openGauss
[root@node1 ~]# chmod 755 -R /opt/software
[root@node1 ~]# chown -R omm:dbgrp /opt/software/openGauss
我的安装包放到共享目录下了
[root@node1 ~]# tar -xvf /mnt/hgfs/share/openGauss-1.0.0-CentOS-64bit.tar.gz /opt/software/openGauss
[root@node1 ~]# vim /etc/profile
export LD_LIBRARY_PATH=/opt/software/openGauss/script/gspylib/clib:$LD_LIBRARY_PATH
[root@node1 ~]# cd /opt/software/script
[root@node1 ~]# python3 gs_preinstall -U omm -G dbgrp -X /opt/clusterconfig.xml
之后进行交互初始化
遇到[yes/no] 就选yes
让你输入root 密码 就输入root 密码
让你输入omm 密码 就输入omm 密码
如果 omm 密码忘记的话 可以通过root用户修改
如果在预安装失败 就执行 gs_checkos -i A -h node1 --detail 命令 查看失败原因
[root@node1 ~]# passwd omm
Changing password for user omm.
New password:
Retype new password:
[root@node1 ~]# su - omm
[omm@node1 ~]# gs_install -X /opt/clusterconfig.xml
执行的时候会让你设置初始密码复杂度要至少三种字符 最少8个字符
本人设置密码x-wcq123
因为我的内存2G 所以设置kernel.shmall是1G kernel.shmmax是1.2G
[root@node1 ~]# vim /etc/sysctl.conf
kernel.shmall = 1125899906842624
kernel.shmmax = 1351079888211149
[root@node1 ~]# vim /opt/huawei/install/data/db1/postgresql.conf
cstore_buffers=16MB
bulk_write_ring_size=128MB
shared_buffers=128MB
max_process_memory=2GB
max_connections=10
[root@node1 ~]# swapon -a
[root@node1 ~]# swapoff -a
[root@node1 ~]# su - omm
[omm@node1 ~]# gs_ctl start -D "/opt/huawei/install/data/db1"
[root@node1 ~]# gsql -d postgres -p 26000
[root@node1 ~]# gs_uninstall ‐‐delete‐data