基于华为云鲲鹏弹性云服务器ECS部署openGauss数据库【这次高斯不是数学家】
前言
随着云计算规模越来越大,企业业务数据量呈指数级增长,传统数据库在海量数据存储与管理方面显得力不从心,面临“存不下,算得慢、算不准”的问题。面对挑战,华为云数据库深度融合华为在数据库领域多年的经验,充分结合了企业级场景需求,基于openGauss自研生态推出了企业级分布式关系型数据库GaussDB(for openGauss)。GaussDB(for openGauss)目前支持单分片和分布式两种部署形态,在支撑传统业务的基础上,持续构建竞争力特性,为企业面向数字化转型提供了无限可能。
而openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核源自PostgreSQL9.2.4,深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。同时openGauss也是一个开源、免费的数据库平台,鼓励社区贡献、合作。
区别:二者并没有直接的关系。通俗来说,GaussDB是openGauss前身,区别是GaussDB走上开源之路,形成openGauss。而在功能特性上,opengauss 支持单节点,gaussdb支持集群。
缘起
由于我自己对国产的数据库比较感兴趣,且做任何项目基本都需要数据库,特此前来感受一下,为以后自己开发项目使用GuassDB打下一定的基础。本篇文章基于华为云鲲鹏弹性云服务器ECS部署openGauss数据库,通过一系列配置在ecs服务器上下载安装openGauss数据库,然后简单创建数据库和表,然后进行增删改查功能,体验一下openGauss的强大之处。话不多说,直接开造!
具体流程
操作前提:登录华为云账号 且实名
- 创建虚拟私有云VPC
- 创建弹性云服务器ECS
- 远程登录弹性云服务器ECS
- 下载openGauss镜像并解压
- 创建集群的xml配置文件
- 安装数据库
1.创建虚拟私有云VPC
什么是虚拟私有云?
虚拟私有云(Virtual Private Cloud,以下简称VPC),为弹性云服务器构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户云中资源的安全性,简化用户的网络部署。
如何访问虚拟私有云?
提供了Web化的服务管理平台,即管理控制台和基于HTTPS请求的API(Application Programming Interface)管理方式。如果您需要将云平台上的虚拟私有云集成到第三方系统,用于二次开发,请使用API方式访问虚拟私有云;如果您需要进行其他相关操作,请使用管理控制台方式访问虚拟私有云,可直接登录管理控制台,从主页选择“虚拟私有云”。
虚拟私有云VPC为弹性云服务器ECS资源构建出隔离的虚拟私有网络环境。购买弹性云服务器ECS需要绑定VPC。
1.1 进入虚拟私有云VPC界面进入到华为云控制台,移动鼠标到左侧菜单栏,进入服务列表里面:“网络” ->“虚拟私有云VPC”界面。
1.2 创建虚拟私有云VPC点击右上角“创建虚拟私有云”按钮,进入创建VPC界面。
基本信息配置: ①区域:华北-北京四②名称:vpc-opengauss③IPv4网段:192.168.0.0/16默认子网配置:①可用区:可用区1②名称:subnet-opengauss③子网IPv4字段:192.168.0.0/24
其他内容使用默认值保持不变。 然后点击“立即创建”按钮。进入到VPC列表界面查看已经创建的VPC。创建成功后,状态显示可用。
2. 创建弹性云服务器ECS
数据库服务部署在弹性云服务器ECS上面,本次搭建单机数据库,需要购买一台弹性云服务器ECS,规格建议:CPU 4核,内存16GB。
2.1 进入弹性云服务器ECS界面进入到华为云控制台,移动鼠标到左侧菜单栏,进入服务列表里面:“计算” ->“弹性云服务器ECS”界面。 点击右上角“购买弹性云服务器”按钮。
2.2 选择弹性云服务器ECS规格参数
区域和可用区有什么区别?
区域指弹性云服务器所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。每个区域包含许多不同的称为“可用区”的位置,即在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。
基础配置:①计费模式:按需计费②区域:华北-北京四③可用区:可用区1④CPU架构:鲲鹏计算⑤规格:鲲鹏通用计算增强型 | kc1.xlarge.4| 4vCPU | 16GB⑥镜像:公共镜像⑦操作系统:openEuler – openEuler 20.03 64bit with ARM(40GB)⑧系统盘:通用型SSD 40G⑨购买量:1 台
点击下一步,进入网络配置。
网络配置:①网络:Vpc:vpc-opengauss (与创建VPC步骤中保持一致)、Subnet: subnet-opengauss、自动分配IP地址②安全组:使用默认的 default③弹性公网IP:现在购买④线路:全动态BGP⑤公网带宽:按带宽计费⑥带宽大小:2 Mbit/s点击下一步,进入高级配置。
高级配置:①云服务器名称:ecs-opengauss②登录凭证:密码③用户名:root④密码:自己设置(记牢后面需要用到)⑤确认密码:自己设置⑥云备份:暂不购买其他选项保持默认,点击下一步,确认配置。
确认配置:核对择的配置信息,勾选协议“我已经阅读并同意《镜像免责声明》”确认无误后,点击“立即购买”。(创建ECS需要等待2分钟左右),创建成功如下所示,状态会变为运行中。
3. 远程登录弹性云服务器ECS
(1) 打开提前搭建好的“Xfce终端”打开Terminal,输入以下命令登录弹性云服务器ECS。
注意:请使用你创建成功的弹性云服务器ECS的公网IP来替换root@后面的。
LANG=en_us.UTF-8 ssh root@119.3.181.105
说明:
(1)弹性云服务器ECS的弹性公网IP地址可以通过鼠标移动到云桌面浏览器页面中左侧菜单栏,点击服务列表->“计算”->“弹性云服务器ECS”进入服务器列表,进行查看并复制。
(2) 接受秘钥输入“yes”,回车;
(3)输入密码:创建ECS时设定的密码(输入密码时,命令行窗口不会显示密码,输完之后直接键入回车)。成功登录弹性云服务器ECS之后如下图所示:
或者使用xshell工具直接输入IP和密码进行连接,xshell是windows系统经常使用的ssh连接工具,可自行下载安装,这里不提供下载链接,聪明的你一定会。
注意:后续操作请保持Terminal窗口或xshell与弹性云服务器ECS的链接状态,以确保所有操作都执行在弹性云服务器ECS上。实验过程中请勿关闭该Terminal窗口或xshell,否则需要重复此步骤重新建立连接。
4. 下载openGauss镜像并解压
使用终端登录到弹性云服务器ECS上面,进入到/opt目录下,然后建立目录,ls命令显示一下是否创建成功
cd /opt
mkdir /opt/gauss
ls
进入到该目录下,使用wget命令下载openGauss镜像
cd /opt/gauss
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/opengauss-install/openGauss-1.1.0-openEuler-64bit-all.tar.gz
解压完整镜像:
tar -zxvf openGauss-1.1.0-openEuler-64bit-all.tar.gz
完成后,再解压OM工具包:
tar -zxvf openGauss-1.1.0-openEuler-64bit-om.tar.gz
5. 创建集群的xml配置文件
5.1 准备稍后xml文件需要的配置信息,需要的是弹性云服务器ECS的名称和IP地址(私网地址)。可以通过hostname命令查询服务器名称,通过ifconfig查询私有IP地址。如下:
5.2 创建配置文件
进入到gauss目录下创建文件clusterconfig.xml文件,并将上面的配置信息复制粘贴到clusterconfig.xml中(记得按照5.1步骤填写你自己的弹性云服务器ECS的名称和IP地址),按Esc键,然后执行 :wq保存退出。
<?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>
将数据库节点名称和节点ip一一对应,填写为你自己ECS服务器的私网ip和名称
6. 安装数据库
安装数据库分为两步,预安装gs_preinstall和安装gs_install。预安装会创建工具、数据、日志文件等目录,并将相关工具写入到对应目录下。安装则会初始化数据目录,将数据库配置文件、数据文件写入。
6.1 前置操作:
(1) 需要修改当前软件包所在目录的权限,改为755,确保子用户可以访问。
chmod -R 755 /opt/gauss/
chmod -R 755 /opt/gauss/script
(2) 对于openEuler系统,需要修改系统的performance.sh文件中min_free_kbytes的配置。
vi /etc/profile.d/performance.sh
进入文件后,直接键盘输入:set nu,可查看行数。
:set nu
键盘输入“i”,用 # 号注释掉该文件第15行。按下电脑的“ESC”键进入指令模式,执行:wq保存并退出修改。
重新设置下min_free_kbytes值:
/sbin/sysctl -w vm.min_free_kbytes=767846
(3) 执行下面命令安装libaio组件,openGauss数据库依赖系统的该组件。
yum install libaio libaio-devel -y
6.2 预安装gs_preinstal
首先进入解压目录下的script目录里面
cd /opt/gauss/script
执行预安装命令:
./gs_preinstall -U omm -G dbgrp -X /opt/gauss/clusterconfig.xml
注意:预安装过程成会有两次交互输入,第一次Are you sure you want to create trust for root (yes/no)? ,请输入yes,并输入设定的弹性云服务器ECS的root密码,第二次Are you sure you want to create the user[omm] and create trust for it (yes/no)? 请输入yes,并输入omm用户密码。命令说明:数据库需要部署在omm子用户下,如果当前操作系统没有omm用户,则会进行创建用户和用户组,并需要输入为新建用户设置的密码。 如果存在omm用户,只需输入omm用户的密码即可。用户密码需要满复杂度要求,长度大于8字符且至少包含字母、数字、特殊字符中三种(需输入两次)。等待安装显示Preinstallation succeeded,即预安装成功。进行下一步安装操作。
6.3 安装gs_install
安装需要在子用户下进行,即上一步创建的omm用户。切换子用户:
su - omm
执行安装步骤:
gs_install -X /opt/gauss/clusterconfig.xml
安装过程中会提示输入数据库的密码并确认(需输入两次),请按照提示操作。输入数据库密码:自己设置的,等待安装完成,成功如下图所示:
6.4 安装完成
(1)安装完成后,查询数据库集群状态。
gs_om -t status --detail
如图,cluster_state为Normal,表明集群状态正常。
(2) 使用gsql命令登录主机数据库
gsql -d postgres -p 15400 -r
登陆成功如下图所示
登录到数据库客户端,先进行修改密码操作:
alter role omm identified by '20000115yang**' replace '20000115yang*';
20000115yang* 为安装时候输入的数据库密码,20000115yang**为新设置的密码
完成后,便可以在数据库中进行创建表、插入数据等操作。
示例:创建数据库并进入到mydb数据库中:
create database mydb;
\c mydb
创建表
create table stu(id int, name varchar, age int);
查询表以及结构:
\d
\d stu
插入数据,下图显示插入成功
insert into stu values(1,'xiaoming', 18);
insert into stu values(2,'yunqinanhai', 22);
修改数据
update stu set age=20 where name='yunqinanhai';
删除数据
delete from stu where id=1;
查询所有数据
select * from stu
至此,基于华为云鲲鹏弹性云服务器ECS部署openGauss数据库整个流程到此结束,体验过程还是非常的流畅。
总结
在华为云的鲲鹏弹性云服务器ECS上成功部署了openGauss数据库,并使用openGauss的om工具成功安装openGauss单机数据库,登录到openGauss数据库进行简单的增删改查操作。整个流程下来非常的nice,希望在接下来的学习中,能了解更多的关于GaussDB的知识,并将其用到日常的开发中。下期见!
感恩能与大家在华为云遇见!希望能与大家一起在华为云社区共同成长。
【这次高斯不是数学家】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/345260
- 点赞
- 收藏
- 关注作者
评论(0)