安装之前
准备2台虚拟机,安装好操作X64位的系统,配置好IP地址(同一网段的)(我感觉我说的是废话),但我怕碰到真正的小白,如果系统是32位的,删了重装吧,因为最新的opengauss根本没32位的!我这里用的主机名是linux-1和linux-2。
本大章节操作两台主机都要执行(重要的事情说三遍)!!!
本大章节操作两台主机都要执行(重要的事情说三遍)!!!
本大章节操作两台主机都要执行(重要的事情说三遍)!!!
环境准备(官网)
我的实际环境
从事实的结果来说,哪怕我的环境系统版本高了一点,也没问题。
软件下载
https://opengauss.org/zh/download/
这里记得,不要把CPU类型选错!!!!!因为默认情况下,不是X86的!!!!!我只能帮你们到这里了。我第一次安装失败,就跌倒在这个粗心大意上了,安装包下载错了。
另外要注意!!!只有X64的,选不到32位的,这个我在(安装之前)已经提醒过了!
创建安装前临时目录
这个纯属个人习惯,因为装完了以后这个目录及文件都没用了,可以删了。我是在 /opt/software/openGauss目录下面,同时要记得修改此目录权限,官网的文档也在这个目录下,我就懒得改了。
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software
把之前下载的安装包解压缩,记得要操作2次!!!!第一次解压缩是all.tar.gz,om.tar.gz是在第一个压缩包解压以后产生的!
cd /opt/software/openGauss
tar -zxvf openGauss-6.0.0-RC1-openEuler-64bit-all.tar.gz #第一次解压缩,就是你下载的安装包
tar -zxvf openGauss-6.0.0-RC1-openEuler-64bit-om.tar.gz #第二次解压缩!
创建用户组及用户
groupadd dbgroup #添加用户组
useradd -g dbgroup omm #新建omm用户,并且加入dbgroup组
passwd omm #给omm设置密码,千万别忘记了!后面自己输密码!
关闭防火墙(临时)
systemctl disable firewalld.service
systemctl stop firewalld.service
关闭防火墙(永久)
vim /etc/selinux/config #打开防火墙配置
SELINUX=disabled #写入关闭防火墙
:wq #保存并退出,重启操作系统后生效
永久关闭防火墙的操作,最好对系统进行一次reboot。
修改目录权限
mkdir -p /opt/software/openGauss
chown 755 -R /opt/software
chown -R omm /opt/software/openGauss
linux对于用户及目录的权限,控制是比较严谨的,为了后面的安装不要出岔子,建议把目录权限修改成omm,也就是未来opengauss的超级管理员。
修改主机hosts
vim /etc/hosts #编辑主机文件
192.168.160.41 linux-2 #这个是备机,前面是ip后面是主机名
192.168.160.15 linux-1 #这个是主机,前面是ip后面是主机名
:wq #保存退出
小结
关于安装之前,主机和备机都需要执行相同的操作,官网提到的,主机互信,不是必要的操作,所以我直接省略了。但是两台主机的root密码必须要设置成一样的,否则过程会报错!
开始安装(主节点进行)
在安装之前,我们定义了下载和解压缩的目录路径为/opt/software/openGauss,现在进入安装环节,建议使用su omm用户进行安装,来规避目录权限问题。同时,在此环境中,将要创建一个.xml文件,用来对集群主备安装的各种参数进行设置。
编辑cluster.xml文件
此文件有2种方式实现,第一种,采取问答方式安装,参数自己填,然后会生成一个cluster.xml的文件。第二种,直接用vim创建一个cluster.xml文件,里面内容自己填写,此文中使用第二种。
[root@linux-1 openGauss]# pwd
/opt/software/openGauss
[root@linux-1 openGauss]# vim cluster.xml
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="Cluster_template" />
<PARAM name="nodeNames" value="linux-1,linux-2" /> #主机1和2的主机名
<PARAM name="gaussdbAppPath" value="/opt/openGauss/install/app" />
<PARAM name="gaussdbLogPath" value="/opt/openGauss/install/log" />
<PARAM name="tmpMppdbPath" value="/opt/openGauss/install/tmp" />
<PARAM name="gaussdbToolPath" value="/opt/openGauss/install/tool" />
<PARAM name="corePath" value="/opt/openGauss/install/corefile" />
<PARAM name="backIp1s" value="192.168.160.15,192.168.160.41" /> #主机1和2的IP
</CLUSTER>
<DEVICELIST>
<DEVICE sn="node1_hostname">
<PARAM name="name" value="linux-1" /> #主机1的主机名
<PARAM name="azName" value="AZ1" />
<PARAM name="azPriority" value="1" />
<PARAM name="backIp1" value="192.168.160.15" /> #主机1的IP
<PARAM name="sshIp1" value="192.168.160.15" /> #主机1的IP
<PARAM name="cmsNum" value="1" />
<PARAM name="cmServerPortBase" value="15400" />
<PARAM name="cmServerListenIp1" value="192.168.160.15,192.168.160.41" />
<PARAM name="cmServerHaIp1" value="192.168.160.15,192.168.160.41" />
#主机1和2的IP
<PARAM name="cmServerlevel" value="1" />
<PARAM name="cmServerRelation" value="linux-1,linux-2" /> #主机1和2的主机名
<PARAM name="cmDir" value="/opt/openGauss/install/data/cmserver" />
<PARAM name="dataNum" value="1" />
<PARAM name="dataPortBase" value="15000" />
<PARAM name="dataNode1" value="/opt/openGauss/install/data/dn1,linux-2,/opt/openGauss/install/data/dn1" />
<PARAM name="dataNode1_syncNum" value="0" />
</DEVICE>
<DEVICE sn="node2_hostname">
<PARAM name="name" value="linux-2" />
<PARAM name="azName" value="AZ1" />
<PARAM name="azPriority" value="1" />
<PARAM name="backIp1" value="192.168.160.41" /> #主机2的IP
<PARAM name="sshIp1" value="192.168.160.41" /> #主机2的IP
<PARAM name="cmServerPortStandby" value="15400" />
<PARAM name="cmDir" value="/opt/openGauss/install/data/cmserver" />
</DEVICE>
</DEVICELIST>
以上是整个cluster.xml的内容,没有注释的部分都是默认的,要改的话可以自行修改。官网也有原始的cluster.xml文件可以复制粘贴,不过没什么必要,直接在此文中复制是一样的。这个xml文件主要记录集群安装时,集群的节点名称(主机名)和ip地址,以及应用部署的目录。安装完成以后,此目录的属性应该如下图
执行安装
进入安装目录,然后执行预安装
/opt/software/openGauss/script
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster.xml
这里的cluster.xml是我自己vim创建的,并且把名字改了,官网、百度、和csdn多数都是用的cluster_config.xml(我只是嫌弃名字长)。
这个路径一定不能写错,就是前面创建xml的文件路径,如果单纯从网上复制粘贴,一定会报错,说配置文件不存在!
执行到最后,显示预安装检查成功,代表当前的配置环境及配置文件没有问题!随后再执行下面的正式安装程序,格外注意,最后的cluster.xml的文件路径不能写错。。。
gs_install -X /opt/software/openGauss/cluster.xml
直到最后出现安装成功,自此,整个数据库安装完成。其实现在只是把数据库装完了,如果你是运维人员,根本无法做到交付,因为一般DBA都会用数据库连接工具去创建数据库以及创建表,在这个过程中,又会出现以下两个错误:
1、数据库连接工具,无法连接到数据库(配置问题)
2、数据库连接工具,可以连接,但是无法创建任何表(权限问题)。
如果有兴趣,你可以接着往下看。- -!
数据库连接工具DBeaver
数据库配置
进入软件安装目录,并切换用户,然后查找文件名为postgresql.conf,并使用vim编辑器,编辑这个文件。
cd /opt/openGauss/install/data/dn1 #注意,版本不同可能安装的目录不同
su omm #切换omm用户
vim postgresql.conf #进入编辑文件
找到listen_address = 'local,自己的IP地址这一行'
对比一下,数据库连接器是否配置ip地址正确,如果不对,可以在ip地址后面用‘,逗号’隔开,继续添加ip地址最后用Esc,然后:wq保存退出。
同样在dn1这个目录下,使用vim编辑器,打开pg_hba.conf
修改IPV4那一行,如下图,允许所有主机,所有ip,通过网络,使用账号密码登录数据库。
保存退出之后,就要进入数据库做剩余的配置了。
gsql -d postgres -r #进入数据库
此时,命令提示符界面会变成下面的样子
create user test1 with password "test@1234"; #创建test1用户
grant ALL privileges to test1; #给test1用户赋予权限,这里方便测试,就给了比较高
create database testdb1 owner test1; #创建一个数据库,名字叫testdb1,owner为test1
上面这一步就是为什么很多人DBeaver连上数据库,就连新建一张表都做不到,因为远程连接的账户,权限很低。至此,下面要进行DBeaver的配置了。
DBeaver配置
DBeaver下载:https://dbeaver.io/download/
下哪个装哪个都一样,就看个人喜欢!
华为JDBC连接工具:https://opengauss.org/zh/download/
仔细点,别下载错就行了,下载完成以后,解压缩,能得到一个这个文件,稍后要使用的。
启动DBeaver软件
进入数据库-----驱动器管理。
进入以后,点新建连接,新建的时候会看到下面那个图:
1、就是个名字,可以随便填。
2、一个字都不能改,必须和图上一样:org.opengauss.Driver
3、前面的jdbc:opengauss:// 这一段不能改,这一段后面的很多人写错!务必注意。下面将详细描述后面那一长串是什么意思。jdbc:opengauss://192.168.160.15:15000/testdb1
其中ip地址为,你要访问数据库对外提供服务的IP,:15000是对外提供的服务端口,最后/testdb1,是你连接的数据库名字。
如果你实在不清楚,请看下面这个图,打个命令,就能获取到那几个值了。
后面要设置第二块内容,就是‘库’。
这个文件就是前面华为下载的JDBC驱动程序,但是需要解压缩一下,最后点确定,回到DBeaver的主界面。选择数据库------新建数据库
其中opengauss1 就是我们刚刚创建的,单击下一步。
这里你值能写账号、密码,其他都是灰色的,因为创建JDBC驱动程序已经指定了数据库,所以是不能修改的。写完账号密码点左下角的测试,应该就知道能不能用了,如果测试通过就点完成。
总结
1、opengauss里远程登录的权限设置,就是在数据库配置章节讲的编辑那两个文件。
2、opengauss中新建的数据库账号,要给权限,新建的库要归属账号。
3、DBeaver中JDBC驱动程序表达式要写对(网上很多都是错的!)
装到这里,DBA应该会认为你这运维小伙子挺靠谱的- -!
若有写的不对,还请直接私信我。