GaussDB 企业版轻量化部署探索

华为高斯数据库(GaussDB)是目前国产数据库中综合实力比较靠前的数据库之一。高斯数据库有单机开源版openGauss和企业版(包括集中式和分布式)。本文主要分享GaussDB企业版在普通服务器上部署的过程和原理简介。初次接触,困难较多。个人观点,仅供参考。如有不当,欢迎留言。

部署准备

企业版软件下载路径

华为官网产品非常丰富,包罗万象,数据库只是其中一款产品。加上还有华为云网站和相关产品,导致搜索GaussDB产品,很难找到正确的地址。这里就直接发地址信息如下:

https://support.huawei.com/carrier/navi?coltype=software#col=software&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-251517148

打开这个地址时会要求先登录华为support网站,需要注册一个账号。然后普通的账户没有权限下载,需要升级为“合作方”账户。登录后,网站上方会有“账户升级”入口。需要有华为商务团队引导。

打开网站后页面如下:

图片

     这些版本是 GaussDB 企业版私有云部署的版本,是基于 PG 内核修改的那个版本(另外还有 GaussDB DWS 版本以后有机会再看)。我是测试就选择推荐的最新版本。点进去后,页面如下:

图片

      每个版本还分两个类型:轻量化和HCS。这也是容易疑惑的地方。有些概念参考网友解释记录如下:

  • HC(Huawei Cloud):指华为公有云,使用特点是用华为的机房以及华为的运维服务。

  • HCS(Huawei Cloud Stack):指华为私有云技术栈(云底座),使用特点是客户的机房以及华为的技术栈以及华为的运维服务。

GaussDB 企业版支持在HCS上部署,也支持独立部署(不依赖云底座),后者就叫轻量化部署。轻量化部署类型的软件看起来非常多,主要是这里面含有了 GaussDB的运维管控平台TPOPS(OLTP OPS的简称)、数据迁移产品DRS。这些软件都要下载,下载使用华为云专用下载客户端ICS

图片

ICS

从官网下载的软件包非常多,都是有用的。很多软件包都是压缩包文件,里面还有更详细的软件包,软件包虽然非常多,但是在下面的部署文档里都有详细说明。

除了软件还要下载对应版本的 GaussDB轻量化部署文档:

图片

后面的部署过程完全参考这个文档。这个文档的质量非常高。

部署方案

GaussDB的部署方案也非常丰富,根据客户需求来。这里包括 TPOPS和客户GaussDB的部署方案。简单来说主要考虑点就是客户机房特点和高可用容灾需求。严格来说TPOPS的部署方案跟它要管理的GaussDB的部署方案也有一定关系。本文暂且只讨论TPOPS的部署方案。

运维平台 TPOPS的部署方案支持单机房部署和同城双机房部署。

  • 单机房一主两备部署。

图片

推测如果是测试,一台物理机也够了,不要高可用能力。生产环境肯定要三台服务器才有完整的高可用能力。之所以是三台的原因估计是因为TPOPS的元数据库也是GaussDB,其高可用能力需要三副本(一主两备)才行。

  • 同城双机房部署

图片

这个部署架构下依然是三台服务器,区别是有一台服务器部署到同城备机房了。这种架构下如果主机房故障了,元数据库的高可用怎么实现。推测 GaussDB 的主备复制有两种技术:一是类似 Paxos一致性协议,一种是Quorum复制协议。

这次测试我只有一台虚拟机用于TPOPS部署。

部署资源要求

官方文档要求部署服务器资源是8C64G,能管控 60 个主机(节点)。这个要求对于普通玩家来说太高了,我勉强凑足 60G 内存虚拟机先试一下,后期再看怎么精简部署资源要求。

要精简资源就得先了解部署对资源的使用特点。TPOPS 是由多个产品组件协同工作。为了方便部署,这些组件除了元数据库外都使用Docker容器技术部署。容器内应用的相关目录映射到宿主机上。在部署过程中有下面几个目录比较特别。

  • /data/docker-service : 安装工具包解压缩的推荐目录。部署的运行命令是一个Shell脚本:appctl.sh

  • /opt/cloud:TPOPS主程序文件公共目录。

  • /opt/cloud/logsTPOPS各个服务组件的日志目录。用于分析主程序安装日志以及各个服务组件安装日志。

    图片

  • /opt/GaussDB: TPOPS元数据库软件和数据目录。为了性能最大化,这个目录建议使用独立的文件系统。

    图片

  • /opt/sftphomesftp软件服务工作目录,TPOPS会使用sftp在管理平台和数据库节点之间传输软件包。

    图片

  • /opt/dockerdocker服务工作和数据存储目录。不过大部分服务组件都有做卷映射,实际数据并不在这个路径下。

  • /opt/influxdbTPOPS存储监控告警的数据库(influxdb)工作目录。

    图片

  • /opt/backup:备份用的路径,暂时没有用到。

DRS是用于数据迁移的,暂时不用部署。相关目录就不提了。

部署账户

TPOPS 的部署过程中会在操作系统里创建相关账户。这里信息复制自部署文档。需要提前确保账户名没有被使用。

账户名 说明

root

操作系统权限用户。登录TPOPS管理节点时需要输入密码。root密码仅支持数字、特殊字符-_+@以及字母。

service

启动微服务进程的用户,可在安装配置文件user_edit_file.conf中指定用户service_group_idservice_user_id,默认值为1010。若已被占用,可修改为其他值。配置文件默认路径/data/docker-service/config/user_edit_file.conf

dbadmin

元数据库使用的操作系统用户。

sftpservice

SFTP服务用户。

influxdb

时序数据库InfluxDB使用的操作系统用户。

操作系统设置

   GaussDB的部署对主机也有设置要求,下面只是简述,要求如下:

  • 时区要求是 UTC 时区。kylin 系统默认安装的时区是 CST,+0800需要修改掉。

  • 时间源和同步设置。推荐用 chrony 同步时间。

  • 配置 yum 源。

  • 配置 zypper 源。

  • 关闭防火墙。


正式部署

上传软件包

默认部署时工作目录使用/data/

  • 解压缩安装包DBS-docker-service_*_all.tar.gz 到目录 /data

tar -zxvf DBS-docker-service_24.1.31.2024052916541361_all.tar.gz -C /data

  • 上传以下安装包到目录 /data/docker-service/pkgs 下。

软件包名 软件包说明

DBS-MetaDB_Kylin_Centralized_*.tar.gz

元数据库内核包

DBS-GaussDB-Server_.tar.gz DBS-Platform-Server.tar.gz DBS-GaussDBConsole-Server*_.tar.gz

微服务包

GaussDB_OS_PATCH_.zip DBS-tools__all.tar.gz

实例安装包

编辑配置文件

配置文件里会有部署的服务器信息。

cd /data/docker-service/config
vi user_edit_file.conf

[user_edit]
ssh_port = 22
gauss_path = /opt/gaussdb # 元数据库安装目录(不能在/home目录下)
node1_ip = 10.0.0.68 # 节点1本机IP地址(执行节点IP地址)
influxdb_install_ip1 = 10.0.0.68 # InfluxDB安装节点1
sftp_install_ip1 = 10.0.0.68 # SFTP安装节点1
main_path = /opt/cloud # 微服务运行目录, 目录可自定义,仅支持自定义第一级目录,二级目录cloud不允
许修改
node1_ip2 = 10.0.0.68  # 节点1可以和GaussDB实例地址通信的IP地址(执行节点可以和GaussDB实例通信的
IP地址,要求可以和GaussDB实例SSH通以及Ping通)
log_path = /opt/cloud/logs  # 日志目录, 目录可自定义,仅支持自定义第一级目录,二级目录cloud及之后目
录不允许修改
sftp_path = /opt/sftphome  # SFTP数据目录, 目录可自定义,仅支持自定义第一级目录,二级目录sftphome
不允许修改
influx_path = /opt/influxdb  # InfluxDB数据目录,需要保证influxDB_install_ip1以及influxDB_install_ip2节点
InfluxDB的父目录都有InfluxDB用户的可执行权限(如遍历父目录,对目录执行chmod a+x /directory_1/
directory_2),目录可自定义,仅支持自定义第一级目录,二级目录influxdb目录不允许修改
docker_path = /opt/docker  # Docker数据目录, 目录可自定义,仅支持自定义第一级目录,二级目录docker
不允许修改,如果用户环境已安装Docker,则以用户配置为准,该项配置不生效。
backup_path = /opt/backup  # 备份数据目录, 目录可自定义,仅支持自定义第一级目录,二级目录backup不
允许修改
service_group_id = 1010 # Service用户ID(需未被使用)
service_user_id = 1010   # Service用户组ID(需未被使用)
uninstall_all = yes  # 卸载时需将参数值配置成yes,默认为no
use_cgroup =&nb
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gauss松鼠会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值