openGauss——VMware安装

Aimerl0
• 阅读 1482

写在前面

本教程适用于 0 基础小白,里面的很多命令、技术细节没有进行解释,因为那样要增补的内容太多了,都是一些 Linux 的相关知识,还有一些 openGauss 官方手册里面的内容,太过于啰嗦

学校上的数据库,安排的数据库的实验说要用华为这款开源的数据库,(估计是学校近些年一直跟华为合作),内核是拿 PostgreSQL 写的,老师给的教程是拿 VirtualBox 轻量级的那款虚拟机管理软件搭建虚拟机进行安装的,老师也已经给出了配好的 虚拟机.ovf 文件,直接导入就能用,但是我自己已经用了好久的 VMware ,不想再更换虚拟机软件,所以就索性自己找资料搭了环境,不算顺利,但是也学到了不少东西

第一次搭大概用了一个小时,第二次边写教程边搭倒是花了两个小时多

2021.4.10

导出配好的虚拟机, vm 导入时候会自动分配 ip 地址,也就是如果要使用我导出的配好的虚拟机,那么 偷懒者的 vm 网络配置必须是采用静态分配,子网是 192.168.1.0,DHCP 需要配置静态分配地址跟导出虚拟机的 ip 地址一样,为 192.168.1.142 ,应该是能自定义虚拟机的 ip 地址的,但是没有继续往下研究了,因为发现用 docker 搭建这个环境会更加简单,下一篇博客写用 docker 怎么搭建

2021.4.11

突然想到,其实安好 CentOS 之后就应该直接拿 xshell 连,用 xshell 的终端来输入命令,这样就不用手打那么多了,直接复制粘贴就行,但是博客文章里写开始用到 xshell 在后面位置,真是蠢

安装 CentOS 7.6

一定得是 CentOS-7.6 的版本,因为华为官方的文档要求这样的,如果用的其他版本则需要更改配置

vi /etc/redhat-releas 打开编辑文件,然后将内容改为 CentOS Linux release 7.6.2003 (Core)

我没试过,因为我下的 CentOS 就是 7.6 的版本,但是老师给的教程文档里面这么写的

打开 VMware,创建虚拟机,在其上安装 CentOS,选择创建新的虚拟机

openGauss——VMware安装

选自定义,兼容性也直接下一步,选稍后安装操作系统

openGauss——VMware安装

虚拟机名称,存放位置自己选,处理器和内核数量都选一个,内存要给 4g,不然可能出现报错

openGauss——VMware安装

openGauss——VMware安装

openGauss——VMware安装

openGauss——VMware安装

磁盘给 20-40g ,将虚拟磁盘存储为单个文件,这个比较方便

openGauss——VMware安装

因为不是一次分配,所以空间设置大些,网传 openGauss 安装有至少 20g 空间要求。

设置为单个文件,比较方便。

点自定义硬件,再点处理器,虚拟化全部勾上,再点新 CD/DVD ,使用压缩包内的镜像,再删除打印机和声卡

openGauss——VMware安装

openGauss——VMware安装

点关闭,点完成,接着开启虚拟机

这个界面方向盘键选中第一个然后直接按 enter

openGauss——VMware安装

下面就一点点进行设置

openGauss——VMware安装

设置时间,点一下第一个时钟然后点一下亚洲大陆,然后点完成

openGauss——VMware安装

点一下安装位置然后点完成退出来,默认设置就行,再点 “网络和主机名”,打开以太网的开关

openGauss——VMware安装

主机名字自己定一个,要记住,很重要,ip 地址也要记住,也很重要

openGauss——VMware安装

上图的信息很重要,在 openGauss 安装的时候,clusterconfig.xml 中的一些值便需要用到是上述信息,ip 地址和 hostname ,这里的 ip 地址是 192.168.1.142hostnameAimerl0,然后点开始安装

开始配置 root 密码,密码是:010625.(有个点),配置完以后就开始自动安装了,等待完成即可,安装完成,reboot 重启就可以了

安装 openGauss

启动 CentOS,用 root 账户以及密码 010625. 登录后,就可以进行 openGauss 的安装了,在关键或者你不是很确定的地方,点击虚拟机左上角的建立快照,如果后续出问题了恢复快照

关闭防火墙和禁用防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

openGauss——VMware安装

之后输入命令,进入文档编辑状态,按键盘上面的 i 键 ,然后就可以对文档进行编辑,编辑后为

vi /etc/selinux/config

openGauss——VMware安装

编辑结束,需要保存,保存的方式为,先按键盘上的 esc 键,然后在屏幕下方输入:wq即可,如果编辑错误,不想保存,则输入的是:q!,注意都是英文字符。

然后重启,输入 reboot

重启后,用账号 root,密码 010625. 登录后继续设置,先关闭内存交换

sqapoff -a

然后安装 ifconfig 的组件,输入 yum install net-tools.x86_64,自动下载安装包,如果有问填 y 还是n,都是 y

安装完成后,我们就可以使用 ifconfig 命令了

openGauss——VMware安装

下面测试 root 远程登录。命令:ssh “你的ip,用ifconfig查”

输入密码后,需要等待一下,测试登录成功

openGauss——VMware安装

下面需要联网升级安装 python3.6 ,命令:yum install python3,遇到问题就选 y

继续安装压缩软件,输入命令:yum install bzip2

然后一步安装相关的包,命令:yum install -y libaio-devel flex bison ncurses-devel glibc.devel patch lsb_release wget

做个快照,随便起个记录当前干了什么的名

下面需要将一个重要的,在安装过程中会多次用到的配置文件放到虚拟机中,该配置文件名为 clusterconfig.xml

需要修改的内容是标出来的内容,一个是主机名,一个是ip 地址,都是之前配置过的,Aimerl0192.168.1.142

/opt/software/openGauss/路径下创建 XML 配置文件,用于数据库安装

[root@Aimerl0 openGauss]# vi clusterconfig.xml

然后把下面的内容复制,粘贴到 vi 打开的 clusterconfig.xml 中,按 i 键切换到编辑模式,复制内容黏贴到文档中,然后按下 esc 键退出编辑模式,然后输入:wq退出并进行保存

<PARAM name="nodeNames" value=" Aimerl0"/>
<PARAM name="name" value="Aimerl0"/>
<PARAM name="backIp1s" value="192.168.1.142"/>
<PARAM name="backIp1" value="192.168.1.142"/>
<PARAM name="sshIp1" value="192.168.1.142"/>
下面的文档是全文,这里上面的东西只是标出需要对照修改的地方,方便看。

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<PARAM name="clusterName" value="dbCluster"/>
<PARAM name="nodeNames" value=" Aimerl0"/>
<PARAM name="backIp1s" value="192.168.1.142"/>
<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" />
<PARAM name="corePath" value="/opt/huawei/corefile"/>
<PARAM name="clusterType" value="single-inst"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="1000001">
<PARAM name="name" value="Aimerl0"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将 backIP1和 sshIP1配置成同一个 IP -->
<PARAM name="backIp1" value="192.168.1.142"/>
<PARAM name="sshIp1" value="192.168.1.142"/>
<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="26000"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/db1"/>
</DEVICE>
</DEVICELIST>
</ROOT>

第零步:开 xshell 连我们的虚拟机,因为可以直接复制命令进去,安装 xshell 软件,打开,左上角文件然后新建

openGauss——VMware安装

openGauss——VMware安装

点击连接即可,之后的命令都在 xshell 的终端里输入,可以从文档中复制然后进去右键粘贴

第一步:创建存放数据库安装目录,命令:

mkdir -p /opt/software/openGauss

下载数据库安装包:

wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86/openGauss-1.1.0-CentOS-64bit-all.tar.gz

解压 openGauss-1.1.0-CentOS-64bit-all.tar.gz 包:

tar -zxvf openGauss-1.1.0-CentOS-64bit-all.tar.gz

再解压 openGauss-1.1.0-CentOS-64bit-om.tar.gz 包

tar -zxvf openGauss-1.1.0-CentOS-64bit-om.tar.gz

解压完成后输入 ls 看到如下

openGauss——VMware安装

更改权限: chmod 755 -R /opt/software

做快照,xshell 跟虚拟机是同步的,所以此时虚拟机已经执行了上面的命令,所以可以建立快照,命名随便,准备安装

创建用户和组

openGauss——VMware安装

输入密码为 openGauss

下面给 omm 用户授权

openGauss——VMware安装

开始安装

openGauss——VMware安装

安装成功无报错

openGauss——VMware安装

做快照

配置免密钥登录和操作系统参数

cd /root/.ssh
ssh-keygen -t rsa -f ~/.ssh/id_rsa

连按两下空格生成结果如下

openGauss——VMware安装

下面将这些复制到一个文件里面并且测试不需要密码登录

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
ssh 192.168.1.142(ip地址)

openGauss——VMware安装

下面,配置/etc/hosts文件,vi /etc/hosts 进去以后加一行(vi 的操作都一样),内容为 “ip地址(三个空格)Aimerl0(之前配置的hostname)

openGauss——VMware安装

之后修改传输文件的最大值

echo "* soft nofile 1000000" >> /etc/security/limits.conf
echo "* hard nofile 1000000" >> /etc/security/limits.conf

openGauss——VMware安装

做个快照,之后开始正式安装,做完快照 reboot 重启一遍

输入 su - omm,再输入gs_install -X /opt/software/openGauss/clusterconfig.xml

openGauss——VMware安装

之后要设置一个数据库的密码,Aimerl0@123

安装过程有点久,而且期间要多次输入omm 用户的密码,输入之前设置的 openGauss

openGauss——VMware安装

如果有报错,跟下图不一样,恢复快照,reboot 重启,可能是虚拟机内存不够,然后再安装一遍,如果还不行,可能是物理机上的电脑内存不太够用,不太够分配给虚拟机了,重启电脑

openGauss——VMware安装

安装成功后建立快照

openGauss——VMware安装

终于成功了,这里输入的数据库密码是 Aimerl0@123 ,omm 的密码是 openGauss,开机 root 账户密码是 010625.

openGauss 的简单实用

这里假设,openGauss 已经启动(默认安装后,会启动,关机后的启动见后面),下面测试连数据库

su root 输入密码
cd /opt/software/openGauss/script/
./gs_checkos -i A

openGauss——VMware安装

之后进入 openGauss

su - omm
gs_om -t status -detail

openGauss——VMware安装

查看端口信息

cat /opt/huawei/install/data/db1/postgresql.conf | grep port

openGauss——VMware安装

可以看到26000是主结点端口号,使用 gsql 连接数据库,连接成功

openGauss——VMware安装

接下来是数据库的使用,华为开源的 openGauss 数据库的内核采用的是 postgreSQL ,所以接下来的数据库操作、语法都遵循其语法,菜鸟教程里面有教怎么用,随便学学就会了

关机后再开机,如何运行 openGauss

也是先su – omm切换用户,然后gs_om -t start即可启动

连接数据库 postgres 的操作就是 gsql -d postgres -p 26000

其中 postgres 是数据库名,openGauss 默认的数据库是 postgres

如果有自己原先创建的数据库,改个名连接就行

参考资料

学校老师发的官方文档(在本地)

本篇博客参考资料来自其他课号唐老师的安装指导文档:地址

CentOS 7 下安装openGauss详细教程(单机或一主多从)以及部署一些问题_四岁小的博客-CSDN博客

openGauss数据库安装手册_whereiwillgo的博客-CSDN博客_opengauss安装指南

手把手带你快速安装openGauss - 墨天轮

openGauss保姆式安装说明_ygp12345的博客-CSDN博客

安装openGauss:执行安装及示例

轻松上手openGauss(程序员篇)之openGauss安装部署_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

openGauss使用准备 - 墨天轮

PostgreSQL 语法 | 菜鸟教程

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这