实验内容
本实验主要内容为在CentOS 7.9上安装部署openGauss数据库,并进行简单的数据库相关操作。
实验环境说明
- 组网说明
本实验环境为虚拟机VMware Workstation Pro + CentOS 7.9 + openGauss 2.1.0。
- 设备介绍
我所使用的具体设备:
设备明细表
| 设备名称 | 设备型号 |
| Linux操作系统 | CentOS 7.9 |
| windows操作系统 | win10 x86 64位 |
| 虚拟机 | VMware Workstation Pro |
| Python | Python 3.6.X |
实验环境安装
官网文档使用的是Oracle VM VirtualBox我安装了一下觉得不太好用,还是推荐用VMware Workstation Pro。在VMware Workstation Pro上创建centos7.9(最新,稍后会进行修改)虚拟机,参考链接如下超详细虚拟机VMware安装Centos7教程(图文) - 知乎 (zhihu.com):不是本文重点,不再赘述。与官方文档不同的是我选择了安装带桌面的centos,更加方便。
openGauss安装
- 修改操作系统版本
如果CentOS版本不是7.6的需要进行修改,如果是7.6则无需修改,
先vi /etc/redhat-releas 打开编辑文件,然后将内容改为CentOS Linux release 7.6.2003 (Core)。输入”i”切换到编辑模式,移动鼠标到修改位置修改内容,然后按下ESC键退出编辑模式,然后输入”:wq”退出并进行保存,具体如下:
[root@db1 ~]# vi /etc/redhat-release
CentOS Linux release 7.6.2003 (Core)
- 查看本地ip
使用命令 :
Ifconig
- 使用一键部署openGauss2.0.1[CentOS 7.6] - 墨天轮 (modb.pro)内的代码进行安装,注意将代码里的ip改为自己的ip
vi auto_install.sh
然后将代码复制
在命令行中输入以下命令进行运行,开始自动安装
sh auto_install.sh
询问yes/no填yes
然后输入密码,这里注意输入的密码必须符合要求,否则会安装失败
- 查看是否安装成功
Su - omm
安装成功后数据库默认开启 只需要命令
gsql -d postgres -p 26000 -r
而如果数据库关闭了,就需要先执行
gs_om -t start
再执行
gsql -d postgres -p 26000 -r
否则会出现failed to connect Unknown:26000 的错误
下面对自动安装的代码进行分析
## 1.定义主机信息[请根据实际情况修改]
export MY_HOSTNAME=node1 ## 主机名
export MY_HOSTIP=192.168.244.128 ## IP地址
export MY_SOFTWARE_DIRECTORY=/soft/openGauss ## 软件包所在目录
export MY_XML=/soft/openGauss/clusterconfig.xml ## 集群配置文件XML
export openGauss_Download_url=https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.1/x86/openGauss-2.0.1-CentOS-64bit-all.tar.gz ## openGauss软件包下载地址
## 1. 设置主机名并配置hosts文件
hostnamectl set-hostname $MY_HOSTNAME
sed -i '/$MY_HOSTIP/d' /etc/hosts
echo "$MY_HOSTIP $MY_HOSTNAME #Gauss OM IP Hosts Mapping" >> /etc/hosts
cat /etc/hosts
echo "1.Configure /etc/hosts completed."
echo -e "n"
## 2. 关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
echo "Firewalld " `systemctl status firewalld|grep Active`
echo "2.Disable firewalld service completed."
echo -e "n"
## 3. 关闭SELinux
sed -i '/^SELINUX=/d' /etc/selinux/config
echo "SELINUX=disabled" >> /etc/selinux/config
cat /etc/selinux/config|grep "SELINUX=disabled"
echo "3.Disable SELINUX completed."
echo -e "n"
## 4. 设置操作系统字符集编码
echo "LANG=en_US.UTF-8" >> /etc/profile
source /etc/profile
echo $LANG
echo "4.Configure encoding completed."
echo -e "n"
## 5. 设置操作系统时区
rm -fr /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date -R
hwclock
echo "5.Configure Timezone completed."
echo -e "n"
## 6. 关闭SWAP分区 [对于2G内存的设备,建议待安装完毕后再打开SWAP以间接 “扩容内存容量”]
sed -i '/swap/s/^/#/' /etc/fstab
swapoff -a
free -m
echo "6.Close swap partition completed."
echo -e "n"
## 7. 配置SSH服务,关闭Banner,允许root远程登录
sed -i '/Banner/s/^/#/' /etc/ssh/sshd_config
sed -i '/PermitRootLogin/s/^/#/' /etc/ssh/sshd_config
echo -e "n" >> /etc/ssh/sshd_config
echo "Banner none " >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
cat /etc/ssh/sshd_config |grep -v ^#|grep -E 'PermitRoot|Banner'
echo "7.Configure SSH Service completed."
echo -e "n"
## 8. 配置YUM源、安装依赖包、修改默认Python3版本
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d
public static void main(String[] args) {
//创建数据库连接。
Connection conn = GetConnection("tester", "Password1234");
//创建表。
CreateTable(conn);
//批插数据。
BatchInsertData(conn);
//执行预编译语句,更新数据。
ExecPreparedSQL(conn);
//关闭数据库连接。
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
命令行编译,将jdbc驱动的jar包和DBTest.java放在同一个目录下,编译:
javac -cp postgresql.jar dbtest.java
运行:
java -cp .:postgresql.jar dbtest
问题及解决
在安装过程中遇到了很多问题,上面安装过程都有体现,下面进行总结。
-
-
- VM VirtualBox使用过程中遇到了很多问题,建议还是使用VMware
- 可以安装centos7.9,但一定要修改/etc/redhat-release文件里的为7.6
- 在设置数据库密码时,注意对密码长度、大小写的要求,不符合要求无法安装成功
- 直接在root用户下运行比较方便
- 在运行gs_om -t start时不成功,需要检查一下虚拟机的网络,有时候虚拟机就是连接不上网络,网上看了很多办法都没用,此时建议重启。
- 在运行gsql -d postgres -p 26000 -r时提示错误failed to connect Unknown:26000,说明数据库还没开启,要先运行gs_om -t start,ps -ef |grep gauss可以查看数据库进程是否关闭
- 远程登录不允许使用omm用户!需要创建用户并给他grant
-



