华为云之基于鲲鹏弹性云服务器部署openGauss数据库【玩转华为云】
@TOC
一、本次实践介绍
1.1 实践环境简介
1.本次实践环境使用华为KooLabs云实验平台。
2.本次实践基于基于华为云鲲鹏弹性云服务器。
3.本次实践操作系统为 openEuler 20.03.
1.3 本次实践完成目标
- 熟悉华为云ECS服务器
- 熟练使用Linux系统环境
- 完成部署openGauss数据库
二、 相关服务介绍
2.1 华为云ECS云服务器介绍
弹性云服务器(Elastic Cloud Server, ECS)是一种云上可随时自助获取、可弹性伸缩的计算服务,可帮助您打造安全、可靠、灵活、高效的应用环境。
2.2 openGauss介绍
openGauss
是华为公司开源的一款分布式数据库管理系统。它基于PostgreSQL开发,并在其基础上增加了诸多企业级特性,旨在提供高性能、高可靠性和高安全性的数据存储和处理能力。openGauss适用于多种业务场景,包括金融、电信、政府、教育等多个领域。
三、创建云服务器
3.1 访问华为云
进入【实验操作桌面】,打开火狐浏览器进入华为云,点击“登录”进入,选择【IAM用户登录】模式,将系统提供的账号密码输入即可进入华为云。
3.2 创建虚拟私有云VPC
创建虚拟私有云VPC,基本配置信息如下:
①区域:华北-北京四
②名称:vpc-opengauss
③IPv4网段:192.168.0.0/16
默认子网配置:
①可用区:可用区1
②名称:subnet-opengauss
③子网IPv4字段:192.168.0.0/24
3.3 创建弹性云服务器ECS
快速创建弹性云服务器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地址
②安全组:使用默认的 Sys-default
③弹性公网IP:现在购买
④线路:全动态BGP
⑤公网带宽:按带宽计费
⑥带宽大小:2 Mbit/s -
高级配置:
①云服务器名称:ecs-opengauss
②登录凭证:密码
③用户名:root
④密码:自定义
⑤确认密码:自定义
⑥云备份:暂不购买
确认配置:核对择的配置信息,勾选协议“我已经阅读并同意《镜像免责声明》”确认无误后,点击“立即购买”。(创建ECS需要等待2分钟左右)
四、检查ECS弹性云服务器
4.1 登录ECS
双击实验桌面的“Xfce终端”打开Terminal,输入以下命令登录弹性云服务器ECS
LANG=en_us.UTF-8 ssh root@EIP
4.2 检查操作系统版本
执行以下操作,检查操作系统版本。
[root@ecs-opengauss ~]# cat /etc/os-release
NAME="openEuler"
VERSION="20.03 (LTS)"
ID="openEuler"
VERSION_ID="20.03"
PRETTY_NAME="openEuler 20.03 (LTS)"
ANSI_COLOR="0;31"
4.3 检查内核版本
检查操作系统内核版本
[root@ecs-opengauss ~]# uname -r
4.19.90-2110.8.0.0119.oe1.aarch64
五、安装openGauss
5.1 下载openGauss
进入下载目录
[root@ecs-opengauss ~]# mkdir -p /opt/gauss
[root@ecs-opengauss ~]# cd /opt/gauss/
[root@ecs-opengauss gauss]#
下载openGauss镜像
wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com:443/20221121/openGauss-1.1.0-openEuler-64bit-all.tar.gz
5.2 解压操作
- 解压完整镜像
tar -zxvf openGauss-1.1.0-openEuler-64bit-all.tar.gz
- 解压OM工具包
tar -zxvf openGauss-1.1.0-openEuler-64bit-om.tar.gz
[root@ecs-opengauss gauss]# ls
lib openGauss-1.1.0-openEuler-64bit-om.sha256 openGauss-1.1.0-openEuler-64bit.sha256 script upgrade_sql.sha256 version.cfg
openGauss-1.1.0-openEuler-64bit-all.tar.gz openGauss-1.1.0-openEuler-64bit-om.tar.gz openGauss-1.1.0-openEuler-64bit.tar.bz2 simpleInstall upgrade_sql.tar.gz
5.3 创建集群的xml配置文件
- 查看主机名
[root@ecs-opengauss gauss]# hostname
ecs-opengauss
- 查看本地IP
ifconfig
hostname: ecs-opengauss
IP: 192.168.0.16
进入到gauss目录下创建文件clusterconfig.xml文件
vi clusterconfig.xml
5.4 安装前准备工作
- 修改目录权限
chmod -R 755 /opt/gauss
chmod -R 755 /opt/gauss/script
- 修改performance.sh文件
vi /etc/profile.d/performance.sh
- 用 # 号注释掉该文件第15行。键入“ESC”键进入指令模式,执行:wq保存并退出修改
- 重新设置下min_free_kbytes值
/sbin/sysctl -w vm.min_free_kbytes=767846
- 安装openGauss数据库依赖包
yum install libaio libaio-devel -y
5.5 预安装gs_preinstall
- 进入script目录里面
cd /opt/gauss/script
- .执行预安装命令:
./gs_preinstall -U omm -G dbgrp -X /opt/gauss/clusterconfig.xml
命令说明:
-U omm为安装数据库的管理用户,数据库不能安装在root用户下,必须指定子用户。
-G dbgrp 为omm用户所在用户组。
-X 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. 即预安装成功。进行下一步安装操作。
5.6 安装gs_install
- 切换子用户
su - omm
- 执行安装步骤
gs_install -X /opt/gauss/clusterconfig.xml
安装过程中会提示输入数据库的密码并确认(需输入两次),请按照提示操作。输入数据库密码,等待安装完成,成功如下图所示:
六、检查安装
6.1 查询数据库集群状态
- 查询数据库集群状态
gs_om -t status --detail
6.2 使用gsql命令登录主机数据库
- 使用gsql命令登录主机数据库
gsql -d postgres -p 15400 -r
6.3 修改密码操作
新设置的密码需要满足密码复杂度要求:长度大于8个字符且至少包含数字、字母、特殊字符中的三种。完成后,便可以在数据库中进行创建表、插入数据等操作。
alter role omm identified by '新设置的密码' replace '安装时输入的密码';
6.4 数据库基本操作
- 创建数据库
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,'lihua', 24);
- 查询所有数据:
select * from stu;
- 修改数据:
update stu set age=20 where name='lihua';
- 删除数据:
delete from stu where id=1;
6.5 完成实践
本次实践已成功完成!
- 点赞
- 收藏
- 关注作者
评论(0)