在华为云ECS上部署openGauss

在华为云ECS上部署openGauss

这次手动安装了一遍openGauss,讲道理,挺累的。。。

一、操作环境

  • 服务器端:openEuler 20.03 64bit with ARM
  • 本地客户端:macOS 12.2.1

二、购买云服务器

  1. 登陆华为云官网

  2. 在控制台找到弹性云服务器ECS

    ECS
  3. 点击购买弹性云服务器

    Buy
  4. 设置基础配置

    • 计费模式选择:按需计费
    • 区域:华北-北京四
    • CPU架构:鲲鹏架构
    • CPU规格:2核CPU&&4G内存
    • 镜像类型:公共镜像
    • 镜像: openEuler 20.03 64bit with ARM
    • 主机安全功能:取消勾选

    HWCloud001

    HWCloud002

    配置完成后,单击下一步。

  5. 设置网络配置

    • 网路设置:选择默认即可。需要注意的是,你可以选择自动分配IP地址,也可以选择手动分配IP地址。
    • 公网宽带:按流量计费
    • 带宽大小:5M
    • 随实例释放:可选

    iShot2022-03-16 16.24.38

    iShot2022-03-16 16.32.58

    配置完成后,单击下一步。

  6. 设置高级配置

    • 云服务器名称:根据自己的喜好设置即可,我这里设置为openGauss
    • root用户密码:根据自己的喜好设置即可。注意,这里的root用户密码会在使用SSH远程登录服务器时用到。

    iShot2022-03-16 16.35.27

    配置完成后,单击下一步。

  7. 确认购买

    • 勾选我已阅读并同意,然后选择立即购买即可。

    iShot2022-03-16 16.36.26

  8. 购买完成

    完成后略微等待一会,我们的服务器就创建好了。注意:IP地址栏第一行的IP是公网IP,第二行则为私有IP。公网IP在远程SSH登陆服务器时会用到,私有IP在后续安装openGauss过程中会用到。

    iShot2022-03-16 18.25.14

三、配置安全组(可选)

创建好服务器之后,一般有两种方式可以登陆我们的服务器:

  • 通过云服务器厂商提供的Cloud Shell等服务,在网页端使用SSH服务登陆服务器。
  • 在本地机器上借助Terminal或者Xshell、Putty等软件,通过SSH协议连接至我们的云服务器。

有时我们可以在本地电脑通过SSH直接连接到我们的服务器,有时却怎么登陆也登陆不上。为了使我们能在本地电脑通过SSH连接到服务器,我们需要在服务器端设置可以接入服务器的用户权限,也就是安全组设置。如果你的电脑无法正常连接到服务器,可以尝试下面的方法:

  1. 查询自己的公网IP

    直接在百度中搜索IP,看到IP地址查询中的地址,则为我们本地机器的公网IP,将它复制下来。

    iShot2022-03-10 19.24.57
  2. 找到安全组

    在ESC云服务器侧边栏找到安全组,点击进入安全组页面。

    iShot2022-03-10 20.54.04
  3. 配置安全组

    • 点击配置规则
    security
    • 随后选择添加规则
    iShot2022-03-10 19.26.13
    • 优先级设为1,在源地址中填入第1步中查到的本机IP,并在其后面加上/32
    iShot2022-03-10 19.27.24

    随后点击确定即可。此时我们的安全组就配置好了,可以从本地连接到我们的云服务器了。

四、使用Terminal连接至云服务器

在终端输入如下格式命令:

ssh 用户名@公网IP -p 端口

我们这里使用root用户登陆,并且ssh服务默认端口为22,因此不需要添加-p参数,示例命令如下:

ssh root@121.36.36.113

随后根据提示输入root用户密码即可登陆服务器。

iShot2022-03-16 22.10.46

五、部署openGauss

  1. 设置字符集参数

    将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加字符集。

    • 输入如下命令,编辑/etc/profile文件

      vim /etc/profile
      

      iShot2022-03-17 09.52.17

      i进入编辑模式,在文件底部添加如下内容:

      export LANG=en_US.UTF-8
      

      添加后按ESC键退出编辑模式,并输入:wq保存修改并退出vim。

      iShot2022-03-17 09.50.33

    • 输入如下命令初始化文件,使之立即生效

      source /etc/profile
      
  2. 修改Python版本并安装libaio

    • 安装Python3

      yum install -y python3
      
    • 进入/usr/bin目录

      cd /usr/bin
      
    • 查找python文件

      find python
      

      正常情况下返回值为python

    • 备份python文件

      mv python python.bak
      
    • 建立Python3软链接

      ln -s python3 /usr/bin/python
      
    • 查看Python版本

      python -V
      

      返回值为Python 3.x.x即可。

    • 安装libaio

      yum install -y libaio*
      

    iShot2022-03-17 10.07.08

  3. 下载数据库安装包

    • root用户下新建openGauss安装目录

      mkdir -p /opt/software/openGauss
      
    • 更改文件夹权限

      chmod 755 -R /opt/software
      
    • 进入安装目录

      cd /opt/software/openGauss
      
    • 使用wget下载安装包

      wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.1.0/arm/openGauss-2.1.0-openEuler-64bit-all.tar.gz
      

      注:根据服务器配置,这里选择的openGauss安装包为openeuler_aarch64版本,其他版本请自行更换安装包下载地址。下载地址可在openGauss官网找到。

    iShot2022-03-17 10.15.55

  4. 配置XML文件

    安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场合配置对应的XML文件。这里我们以实验为目的,使用单节点配置的方案。

    • root用户下进入/opt/software/openGauss文件夹

      cd /opt/software/openGauss
      
    • 在华为云网络控制台处记下私有IP,编辑XML文件时会用到

      iShot2022-03-17 10.24.23

    • 查看hostname,并将其记下,编辑XML文件时会用到

      cat /etc/hostname
      
    • 创建XML配置文件

      vim clusterconfig.xml
      

      i进入编辑模式,并将如下内容复制进去

      <?xml version="1.0" encoding="UTF-8"?> 
      <ROOT> 
          <CLUSTER> 
              <PARAM name="clusterName" value="dbCluster" /> 
              <PARAM name="nodeNames" value="ecs-c9bf" /> 
              <PARAM name="backIp1s" value="192.168.0.58"/> 
              <PARAM name="gaussdbAppPath" value="/opt/gaussdb/app" /> 
              <PARAM name="gaussdbLogPath" value="/var/log/gaussdb" /> 
              <PARAM name="gaussdbToolPath" value="/opt/huawei/wisequery" /> 
              <PARAM name="corePath" value="/opt/opengauss/corefile"/> 
              <PARAM name="clusterType" value="single-inst"/> 
          </CLUSTER> 
         
          <DEVICELIST> 
              
              <DEVICE sn="1000001"> 
                  <PARAM name="name" value="ecs-c9bf"/> 
                  <PARAM name="azName" value="AZ1"/> 
                  <PARAM name="azPriority" value="1"/> 
                  <PARAM name="backIp1" value="192.168.0.58"/> 
                  <PARAM name="sshIp1" value="192.168.0.58"/> 
                   
      	    <!--dbnode--> 
      	    <PARAM name="dataNum" value="1"/> 
      	    <PARAM name="dataPortBase" value="26000"/> 
      	    <PARAM name="dataNode1" value="/gaussdb/data/db1"/> 
              </DEVICE> 
          </DEVICELIST> 
      </ROOT>
      

      复制完成后需要进行一些修改,如下图所示,其中服务器名称就是我们刚才查看的hostname

      iShot2022-03-17 10.22.24

      修改完成后按ESC键,输入:wq保存并退出。

    参数说明
    clusterNameopenGauss名称。
    nodeNamesopenGauss中主机名称。
    backIp1s主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。
    gaussdbAppPathopenGauss程序安装目录。此目录应满足如下要求:•磁盘空间>1GB。•与数据库所需其它路径相互独立,没有包含关系。
    gaussdbLogPathopenGauss运行日志和操作日志存储目录。此目录应满足如下要求:•磁盘空间建议根据主机上的数据库节点数规划。数据库节点预留1GB空间的基础上,再适当预留冗余空间。•与openGauss所需其它路径相互独立,没有包含关系。此路径可选。不指定的情况下,openGauss安装时会默认指定"$GAUSSLOG/安装用户名"作为日志目录。
    tmpdbPath数据库临时文件存放目录。若不配置tmpdbPath,默认存放在/opt/huawei/wisequery/perfadm_db目录下。
    gaussdbToolPathopenGauss系统工具目录,主要用于存放互信工具等。此目录应满足如下要求:•磁盘空间>100MB。•固定目录,与数据库所需其它目录相互独立,没有包含关系。此目录为可选配置项。不指定的情况下,openGauss安装时会默认指定"/opt/huawei/wisequery"作为数据库系统工具目录。
    corePathopenGauss core文件的指定目录。
  5. 预安装准备

    • 修改performance.sh文件

      vim /etc/profile.d/performance.sh
      

      注释如下内容,修改完成后按ESC键,输入:wq保存并退出。

      iShot2022-03-17 10.31.27

    • 加载安装包中lib

      vim /etc/profile
      

      在文件底部添加如下内容:

      export packagePath=/opt/software/openGauss
      export LD_LIBRARY_PATH=$packagePath/script/gspylib/clib:$LD_LIBRARY_PATH
      

      添加完成后按ESC键,输入:wq保存并退出。

      输入如下命令初始化文件,使之立即生效:

      source /etc/profile
      
    • 解压安装包

      进入安装包目录

      cd /opt/software/openGauss
      

      解压openGauss-x.x.x-openEuler-64bit-all.tar.gz

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

      解压openGauss-x.x.x-openEuler-64bit-om.tar.gz

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

      解压后查看目录下文件

      ls
      

      iShot2022-03-17 10.43.48

  6. 预安装

    • 进入script目录

      cd script
      
    • 执行预安装脚本

      python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
      
      • -U 后为用户名
      • -G后为用户组
      • -X后为XML配置文件

      运行过程中会询问我们是否执行,填写yes即可,随后会要求我们设置omm用户密码。

      iShot2022-03-17 11.24.09

    • 安装完成后显示如下iShot2022-03-17 11.24.54

  7. 安装openGauss

    • 修改文件权限

      chmod -R 755 /opt/software/openGauss/script
      
    • 修改omm用户的sudo权限

      vim /etc/sudoers
      

      i进入编辑模式,在root的下一行添加omm用户,添加完成后按ESC键,输入:wq保存并退出。

      iShot2022-03-17 16.42.41

    • 切换至omm用户

      su omm
      
    • 切换至openGauss的script目录

      cd /opt/software/openGauss/script
      
    • 执行安装脚本

      gs_install -X /opt/software/openGauss/clusterconfig.xml --gsinit-parameter="--encoding=UTF8"  --dn-guc="max_process_memory=4GB"  --dn-guc="shared_buffers=256MB" --dn-guc="bulk_write_ring_size=256MB" --dn-guc="cstore_buffers=16MB"
      

      参数说明如下:

      参数用途
      Encoding设置字符集
      max_process_memory设置一个数据库节点可用的最大物理内存
      shared_buffers设置openGauss使用的共享内存大小
      bulk_write_ring_size大批量数据写入触发时,该操作使用的环形缓冲区大小
      cstore_buffers设置列存所使用的共享缓冲区的大小

      在安装过程中需要需要设置数据库密码

      iShot2022-03-17 13.46.24

    • 安装成功则会有下图显示

      iShot2022-03-17 13.48.01

六、openGauss体验

  1. 登陆服务器并切换至omm用户

    su omm
    
  2. 查看数据库是否启动

    gs_om -t status
    
  3. 启动数据库

    gs_om -t start
    
  4. 连接到默认数据库

     gsql -d postgres -p 26000 -r
    

    postgres为openGauss安装完成后默认生成的数据库,初始可以连接到此数据库进行新数据库的创建,26000为数据库主节点的端口号,需根据openGauss的实际情况做替换。

    iShot2022-03-17 13.51.55

  5. 创建数据库用户jay

    CREATE USER jay WITH PASSWORD "Bigdata@123";
    

    创建用户名为jay,密码为Bigdata@123的用户

  6. 创建数据库

    CREATE DATABASE db_tpcc OWNER jay; 
    

    创建名为db_tpcc的数据库,其所有者为jay

  7. 退出默认登陆

    \q
    

    iShot2022-03-17 13.56.36

  8. 使用新用户连接到此数据库

    gsql -d db_tpcc -p 26000 -U jay -W Bigdata@123  -r
    
  9. 创建名为jaySCHEMA,并设置jay为当前的schema

    CREATE SCHEMA joe AUTHORIZATION jay; 
    SET search_path TO jay;
    
  10. 创建表

    CREATE TABLE mytable (firstcol int);
    
  11. 向表中插入数据

    INSERT INTO mytable values (100); 
    
  12. 查看表中数据

    SELECT * from mytable; 
    

    iShot2022-03-17 14.01.48

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值