前言

数据库课程上了解到openGuass数据库,做完云实验发现实验指导手册有些地方不够细致或者已经与实际的操作步骤有所偏差,遂写一篇博客为其他同学学习提供参考。

什么是openGuass?

openGauss是一款开源关系型数据库管理系统,由华为公司结合多年数据库经验打造,以高性能、高可用性和高安全性为企业级应用提供数据存储和管理服务。它采用木兰宽松许可证v2,鼓励社区贡献和合作。

核心特性包括:

  • 高性能:优化的并发控制技术,能在多核处理器上发挥极致性能。
  • 高可用:支持多种部署模式,确保业务连续性和数据安全。
  • 高安全:提供端到端的安全防护,包括数据加密和审计。
  • 易运维:AI技术辅助参数调优,简化数据库管理。

openGauss的开源社区活跃,不断推动技术创新,华为云上有免费的云实验可以体验如何部署openGuass,接下来,我们将在云实验中探索在华为云上部署openGauss的实践。

第一步 登录

云实验初始界面如下图所示,需点击IAM账号登录



点击之后将实验所给账号输入:

第二步 创建实验所需资源

登录之后的界面如下,首先要创建的是虚拟云,需要点击红圈中的按钮才可以看到实验书上的选项:



随后点击这些位置:



在新页面点击红圈中的按钮,进入配置页面:



根据实验书只需填写这些信息到对应位置,随后就可以点击右下角立即创建:



创建成功后如图所示,点击红圈中的按钮,接下来根据指导书描述找到创建ECS的按钮:



如图点击:

接下来创建弹性云服务器的过程与指导书有一定出入,具体页面的样式已经和指导书不同。

(Ps:下面的图中的账号和前面的不同,是由于本文是在完成云实验之后再次进入截图,所以时间不足以支持完成所有截图,从接下来开始是新开启的一个沙箱环境)

点击购买,实验指导书说点击右上角,但是现在实际上点击的是这个位置:



下面开始设置配置,注意,必须和实验要求的一样,否则会给清理掉,创建失败。

需要注意的是,实验指导书中需要分阶段配置,即配置完一部分之后点击下一步进入接下来的配置,但是现在只需要在这一个页面里面配置好点击购买就好了



首先配置下面几个位置,只需要按照我图上的配置即可:



然后选择规格:



接下来选择系统:



接下来是网络配置:

基本配置:



安全组:

保留默认选项:



配置公网:



然后继续往下滑动:

配置云服务器,将服务器名字设置为:ecs-opengauss,同时要设置密码,考虑到这是一次实验,且后面还有需要设置密码的地方,同时要求相同(3种字符,长度>8),推荐都设置为一样的,例如ABC_abc_1



最后选择购买量为1:



然后点击购买,注意点同意协议:



购买之后可以点击跳转服务器列表,可以看到创建完成如下:

接下来,还需要做一件事,获取刚才创建的云服务器的公网ip,按照下面的图片依次操作:







如图点击:



获得公网ip 我这里是:1.94.208.176

第三步 远程链接

首先回到桌面,点击终端:





输入以下命令登录弹性云服务器ECS:

LANG=en_us.UTF-8 ssh root@EIP

这里把EIP这三个字符换成你的公网ip,我这里就是1.94.208.176

所以我输入:

LANG=en_us.UTF-8 ssh root@1.94.208.176



输入yes



这里是让你输入服务器密码,就是刚才设置的密码,我这里就是:ABC_abc_1,需要注意的是,你这个时候直接敲击键盘就行了,屏幕不会显示,敲完之后回车

然后可以看到成功登录:



接下来的操作都在这个终端进行

然后输入:

cd /opt

进入到/opt目录下:



然后建立目录:

mkdir /opt/gauss



接下来进入到该目录下,使用wget命令下载openGauss镜像:

先输入:

cd /opt/gauss

再输入:

wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com:443/20221121/openGauss-1.1.0-openEuler-64bit-all.tar.gz



回车



然后输入下面的命令来解压:

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

然后输入:

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

第四步 创建集群的xml配置文件

实验指导书给了xml的模板,只需要修改弹性云服务器ECS的名称和IP地址(私网地址),分别用下面两个命令获得:

hostname

我这里就是:ecs-opengauss

ifconfig

我这里ip是:192.168.0.133

下面创建这个xml:

输入下面的指令进入目录:

cd /opt/gauss

然后输入下面的命令使用vi创建文件:

vi clusterconfig.xml

可以看到,进入一个新文件:



这个时候敲击键盘的i键,进入插入模式:



将下面的文件内容,替换相应的位置之后粘贴进去:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="mycluster" />
<!-- Need to be modified: Database node name (hostname) -->
<PARAM name="nodeNames" value="ecs-opengauss" />
<PARAM name="gaussdbAppPath" value="/opt/install/app" />
<PARAM name="gaussdbLogPath" value="/opt/install/log/omm" />
<PARAM name="tmpMppdbPath" value="/opt/install/tmp" />
<PARAM name="gaussdbToolPath" value="/opt/install/om" />
<PARAM name="corePath" value="/opt/install/corefile" />
<!-- Need to be modified: Node IP addresses -->
<PARAM name="backIp1s" value="192.168.0.1"/>
</CLUSTER>
<DEVICELIST>
<DEVICE sn="100001">
<!-- Need to be modified: Database node name (hostname) -->
<PARAM name="name" value="ecs-opengauss"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- Need to be modified: Node IP addresses -->
<PARAM name="backIp1" value="192.168.0.1"/>
<!-- Need to be modified: Node IP addresses -->
<PARAM name="sshIp1" value="192.168.0.1"/>
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>

准确来说,因为服务器名字是按照实验书设置的,所以这里只要把192.168.0.1替换为你自己的ip,我这里是192.168.0.133

所以我就这样替换:

<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="mycluster" />
<!-- Need to be modified: Database node name (hostname) -->
<PARAM name="nodeNames" value="ecs-opengauss" />
<PARAM name="gaussdbAppPath" value="/opt/install/app" />
<PARAM name="gaussdbLogPath" value="/opt/install/log/omm" />
<PARAM name="tmpMppdbPath" value="/opt/install/tmp" />
<PARAM name="gaussdbToolPath" value="/opt/install/om" />
<PARAM name="corePath" value="/opt/install/corefile" />
<!-- Need to be modified: Node IP addresses -->
<PARAM name="backIp1s" value="192.168.0.133"/>
</CLUSTER>
<DEVICELIST>
<DEVICE sn="100001">
<!-- Need to be modified: Database node name (hostname) -->
<PARAM name="name" value="ecs-opengauss"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- Need to be modified: Node IP addresses -->
<PARAM name="backIp1" value="192.168.0.133"/>
<!-- Need to be modified: Node IP addresses -->
<PARAM name="sshIp1" value="192.168.0.133"/>
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>



然后这个时候,要会到普通模式,也就是按下键盘上esc键



然后键盘敲击冒号(,然后输入wq,按下回车完成保存并退出:

回到终端:



输入:

chmod -R 755 /opt/gauss
chmod -R 755 /opt/gauss/script

然后输入:

vi /etc/profile.d/performance.sh



回车:



进入到了文件里面

然后按下冒号(:)输入set nu 用于显示行号

回车



键盘敲击“i”,用 # 号注释掉该文件第15行。键入“ESC”键进入指令模式,执行:wq保存并退出修改。







然后输入命令:

/sbin/sysctl -w vm.min_free_kbytes=767846

然后输入:

yum install libaio libaio-devel -y

第五步 安装:

输入:

cd /opt/gauss/script

进入目录:

然后输入命令:

./gs_preinstall -U omm -G dbgrp -X /opt/gauss/clusterconfig.xml

等待



输入yes



此时让你输入密码我这里就是ABC_abc_1



输入yes



现在要设置一个密码

我还是ABC_abc_1



要输入两次,都是直接键盘输入,看不到



然后输入指令:

su - omm

然后输入命令安装:

gs_install -X /opt/gauss/clusterconfig.xml



又要设置密码,我这里还是ABC_abc_1



输入两次

等待:



这就安装好了

第六步 测试

输入:

gs_om -t status --detail

输入命令登录:

gsql -d postgres -p 15400 -r

实验要求先改密码:

alter role omm identified by '新设置的密码' replace '安装时输入的密码';

把密码替换进去,我这里是

alter role omm identified by 'ABC_abc_2' replace 'ABC_abc_1';

随后依次测试:





最后:

openGauss数据库部署实践(华为云开发者云实验)的更多相关文章

  1. 探索云数据库最佳实践 阿里云开发者大会数据库专场邀你一起Code up!

    盛夏.魔都.科技 三者在一起有什么惊喜? 7月24日,阿里云峰会·上海——开发者大会将在上海世博中心盛大启程,与未来世界的开发者们分享数据库.云原生.开源大数据等领域的技术干货,共同探讨前沿科技趋势, ...

  2. 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库

    本文适合需要快速了解OpenGauss基本使用和操作的单机用户,可以短时间内完成安装体验.对于企业级生产使用或者需要部署多台服务器的,不适合本文. 因为业务需要,要在鲲鹏架构里安装单机版的OpenGa ...

  3. 如何使用华为软件开发云快速部署PHP网站

    华为软件开发云这个工具,从去年推出我就一直在关注,毕竟是华为最新的一款软件开发工具,最近我一直在使用华为软件开发云进行开发项目管理,它有在线编译和构建.云端在线代码检查等功能,编译省去了很多物理机器的 ...

  4. 华为软件开发云对比Jenkins-JavaWeb项目持续部署方式

    一.前言:Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成和持续部署变成可能. 本文 ...

  5. 一个项目经理对主流项目管理工具的对比:禅道VS华为软件开发云

    禅道与软件开发云对比分析报告 1. 产品介绍 禅道是易软天创出品的一款项目管理软件,集产品管理.项目管理.测试管理.文档管理.组织管理于一体,覆盖了项目管理和测试管理的核心流程. 华为软件开发云 (D ...

  6. 哪个项目管理工具好用到哭?JIRA VS 华为软件开发云

    一.产品介绍 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. 华为软件开发云 (DevCloud ...

  7. 看完给跪了:技术大牛总结的Github与华为软件开发云完整对比

    华为软件开发云配置管理 服务和Github是国内外比较有代表性的代码托管平台,它们以git作为版本管理工具,使项目中身处各地的人员可以协同工作,主要操作涉及仓库.分支.提交.pull request等 ...

  8. Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏

    Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏 云收藏项目已经开源3年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时 ...

  9. 华为软件开发云(DevCloud):免费可商用的项目管理工具

    在软件开发技术和理念层出不穷的今天,如何更快的适应变化的环境,更好的满足客户的需求,已经成为决定从小到大各种规模企业能否活下去的关键. 天下武功唯快不破,在当今大环境中更是如此,微服务,敏捷开发,新的 ...

  10. 鲲鹏凌云,并行科技Paramon通过华为云鲲鹏云服务兼容性认证

    随着Cloud2.0时代到来,5G技术开始应用普及,超算云服务需求不断升级,业务多样性.数据多样性不断延伸.2019年7月,华为召开鲲鹏计算产业发展峰会,依托在联接领域坚实的基础,华为未来将着力打造智 ...

随机推荐

  1. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents

    场景重现 npm install --verbose 安装依赖的时,出现如下警告 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1. ...

  2. MySQL的limit优化2

    一.底层原理 在 MySQL 8.0 中,当使用 LIMIT offset, count 进行分页查询时,如果 offset 非常大(例如 LIMIT 200000, 10),性能会显著下降. 这是因 ...

  3. 依赖注入的方式( 构造函数注入 、 set 方法注入 、注解注入)

    一.构造函数注入 二.set方式注入 三.集合注入

  4. 🎀java-自定义日志注解

    简介 创建自定义日志注解,对相关接口记录请求日志. 环境 SpringBoot 实现 注解定义 定义注解类 package com.zk.app.annotation; import com.zk.a ...

  5. CF1370C题解

    本蒟蒻的第二篇题解,找题归功于教练 题目传送门 这道题目找好了规律很简单: 具体思路: 题目大意: 有一个正整数 nnn.两名玩家轮流操作.每次操作可以执行以下一种: 将 nnn 除以一个 nnn 的 ...

  6. Redis Stream消息队列

    工具类部分内容 package com.hwd.campus.common.redis.utils; import com.hwd.campus.common.redis.constant.Redis ...

  7. Apache Druid RCE漏洞复现及修复(CVE-2023-25194)

    Apache Druid RCE漏洞复现及修复(CVE-2023-25194) 2023-03-16 声明:本文分享的安全工具和项目均来源于网络,漏洞环境本地搭建,仅供安全研究与学习,如用于其他用途, ...

  8. C#多线程编程精要:从用户线程到线程池的效能进化论

    1. 引言 在多线程编程中,线程是实现并发执行的核心.C#作为一种功能强大的现代编程语言,提供了丰富的线程管理机制,以支持开发者应对各种并发场景.不同的线程类型在功能.生命周期和适用场景上各有侧重.理 ...

  9. 我的get请求为什么没有乱码??

    请求的方式有GET和POST两种放方式.这里主要说明GET请求的中文问题. 傻傻的我以为GET不能提交中文,需要改编码,但是我错了.改了编码反而乱码了??? 原因: Tomcat8 以后tomcat的 ...

  10. 【记录】日常|shandianchengzi的三周年创作纪念日

    机缘   接触 CSDN 之前,我已经倒腾过 hexo 搭建 github 博客.本地博客.图床:   接触 CSDN 之后,我还倒腾过纸质笔记.gitee 博客.博客园.知乎.b站.Notion.腾 ...