openGauss数据库部署实践(华为云开发者云实验)
前言
数据库课程上了解到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数据库部署实践(华为云开发者云实验)的更多相关文章
- 探索云数据库最佳实践 阿里云开发者大会数据库专场邀你一起Code up!
盛夏.魔都.科技 三者在一起有什么惊喜? 7月24日,阿里云峰会·上海——开发者大会将在上海世博中心盛大启程,与未来世界的开发者们分享数据库.云原生.开源大数据等领域的技术干货,共同探讨前沿科技趋势, ...
- 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库
本文适合需要快速了解OpenGauss基本使用和操作的单机用户,可以短时间内完成安装体验.对于企业级生产使用或者需要部署多台服务器的,不适合本文. 因为业务需要,要在鲲鹏架构里安装单机版的OpenGa ...
- 如何使用华为软件开发云快速部署PHP网站
华为软件开发云这个工具,从去年推出我就一直在关注,毕竟是华为最新的一款软件开发工具,最近我一直在使用华为软件开发云进行开发项目管理,它有在线编译和构建.云端在线代码检查等功能,编译省去了很多物理机器的 ...
- 华为软件开发云对比Jenkins-JavaWeb项目持续部署方式
一.前言:Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成和持续部署变成可能. 本文 ...
- 一个项目经理对主流项目管理工具的对比:禅道VS华为软件开发云
禅道与软件开发云对比分析报告 1. 产品介绍 禅道是易软天创出品的一款项目管理软件,集产品管理.项目管理.测试管理.文档管理.组织管理于一体,覆盖了项目管理和测试管理的核心流程. 华为软件开发云 (D ...
- 哪个项目管理工具好用到哭?JIRA VS 华为软件开发云
一.产品介绍 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. 华为软件开发云 (DevCloud ...
- 看完给跪了:技术大牛总结的Github与华为软件开发云完整对比
华为软件开发云配置管理 服务和Github是国内外比较有代表性的代码托管平台,它们以git作为版本管理工具,使项目中身处各地的人员可以协同工作,主要操作涉及仓库.分支.提交.pull request等 ...
- Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏
Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏 云收藏项目已经开源3年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时 ...
- 华为软件开发云(DevCloud):免费可商用的项目管理工具
在软件开发技术和理念层出不穷的今天,如何更快的适应变化的环境,更好的满足客户的需求,已经成为决定从小到大各种规模企业能否活下去的关键. 天下武功唯快不破,在当今大环境中更是如此,微服务,敏捷开发,新的 ...
- 鲲鹏凌云,并行科技Paramon通过华为云鲲鹏云服务兼容性认证
随着Cloud2.0时代到来,5G技术开始应用普及,超算云服务需求不断升级,业务多样性.数据多样性不断延伸.2019年7月,华为召开鲲鹏计算产业发展峰会,依托在联接领域坚实的基础,华为未来将着力打造智 ...
随机推荐
- 【虚拟机】VirualBox安装macOS系统
[虚拟机]VirualBox安装macOS系统 零.创建虚拟机 类型选择 Mac OS X 版本选择 macOS 10.13 High Sierra (64-bit) 注意:这边我设置的名称为 Mac ...
- Hive SQL实现近N周的数据统计查询
文/朱季谦 先前遇到过一个需求,需要基于HIVE统计近N周范围的数据,例如,统计近7周范围的数据指标. 需要用HIVE SQL去实现该功能,而HIVE SQL并没有PostgreSQL那样例如通过函数 ...
- .NET Core & ConsoleApp & appsettings.json
准备 Visual Studio 2017 .NET Core 2.1 新建控制台应用(.NET Core) 默认的 Program.cs // Program.cs using System; na ...
- wpf关于设备无关性的理解
wpf的像素单位是1/96*系统dpi.当前系统dpi是96,那么wpf的一个单位长就是1px像素.这个系统dpi的意思就是物理单位一英寸里有多少个像素点,比如windows标准的96dpi,意味着一 ...
- Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
提供AI咨询+AI项目陪跑服务,有需要回复1 前两天跟几个业内同学做了一次比较深入的探讨,时间从15.00到21.00,足足6个小时! 其中有个问题特别有意思:从ChatGPT诞生到DeepSeek爆 ...
- Linux poweroff 命令
poweroff 命令命令用于关闭计算器并切断电源. 使用权限:系统管理者. 语法 poweroff [-n] [-w] [-d] [-f] [-i] [-h] 参数说明: -n : 在关机前不做将记 ...
- 7.9K star!跨平台开发从未如此简单,这个开源框架让APP开发效率飙升!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 Lynx 是一个革命性的跨平台开发框架,使用 TypeScript 开发即可同时构建 iOS ...
- 【BUG】PHP Warning: ‘C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll‘ 14.0 is not compatible with this PHP bu
当使用PHP8.0时,你可能会遇到这个报错: PHP Warning: 'C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll' 14.0 is not compatib ...
- 工具使用之“contains包含的使用总结”
一.集合之间的包含 1.判断listOne是否全部包含listTow中的值 格式:CollectionUtils.containsAll(listOne, listTow) 或 listTow.con ...
- 遇到的问题之“前端html中div设置边框border属性无效,解决方案”
一.问题 二.解决方案 这里是漏了border-style属性,少了这个属性就不会显示边框了,加上就有边框了,这里是建议三个属性都要有完整 # 边距样式 border-style: inset;# 边 ...