文档中心MogDBMogDB StackUqbar

文档:v2.4

支持的版本:

安装部署

安装包下载

请前往发布记录页面下载对应平台的安装包

安装包文件说明

image.png

系统环境要求

gsql, gs_ctl 免密执行

请确认服务器上用数据库安装用户登录时,执行 gsql 或 gs_ctl 时无需输入密码。可以在数据库数据目录中,找到的 pg_hba.conf 认证文件,确认本地连接的校验方式为 trust。 检验方式:切换到 omm 用户下,执行下面的命令不需要输入密码即可查询到集群状态:

gs_ctl -D [PGDATA] query

数据库安装用户的 sudo 权限

由于 MogHA 需要自动挂虚拟IP的操作,内部需要通过 ifconfig 指令来操作网卡,MogHA 是通过数据库安装用户进行启动的,要想执行网卡操作就需要 sudo 权限,在安装期间脚本会检查 /etc/sudoers 配置中是否配置了运行用户的权限,如果存在就跳过配置,如果没有,会尝试自动的将 omm 用户添加到 /etc/sudoers 中,并赋予 ifconfig 的权限。

所以建议在部署 MogHA 服务之前,先检查一下 /etc/sudoers 中是否成功配置了 运行用户的 sudo 权限。 配置方式参考:

# 追加下列 1 行到文件末尾
omm     ALL=(ALL)       NOPASSWD: /usr/sbin/ifconfig

MogHA通信端口互通

MogHA 需要一个固定的端口(默认为 8081,可配置,修改配置文件中的 agent_port)用于不同节点的 MogHA 之间通信,所以需确认要配置的端口可以在节点直接互相访问。

校对时间

使用 ntp 或 chronyd 校对主库和备库的时间。

安装步骤

! 注意:安装过程请使用 root 用户进行操作,涉及到给数据库安装用户sudo权限以及注册系统服务。

将安装包拷贝到要部署 MogHA 的服务器上,存放位置建议选择 /opt/home/[USER] 下,以 omm 用户为例,存放目录为 /home/omm/为了便于演示,后面不再声明,默认使用该目录进行演示

解压缩安装包

cd /home/omm
tar -zxf mogha-2.x.x.tar.gz

解压后会在当前目录下得到一个 mogha 的文件夹。

安装 MogHA 服务

进入 mogha 文件夹,执行安装脚本:sudo ./install.sh USER PGDATA [SERVICE_NAME](注意替换参数)

  • USER 是指数据库安装用户,在本例中指 omm 用户
  • PGDATA 是指数据库数据目录,本例中假设 MogDB 的数据目录为 /opt/mogdb/data
  • SERVICE_NAME [可选参数] 注册 systemd 时的服务名,默认:mogha"

以下是安装过程示例(如果安装过程出错会终止后面的安装步骤):

# 进入刚刚解压后的文件夹
cd /home/omm/mogha
# 执行安装脚本
sudo ./install.sh omm /opt/mogdb/data

# 安装过程,输出类似以下内容
[2021-10-30 14:29:36]: MogHA installation directory:/home/omm/mogha
[2021-10-30 14:29:36]: runtime user:omm, user group:dbgrp
[2021-10-30 14:29:36]: PGDATA=/opt/mogdb/data
[2021-10-30 14:29:36]: LD_LIBRARY_PATH=/opt/mogdb/app/lib:/opt/mogdb/tool/lib:/opt/huawei/install/om/lib:/opt/huawei/install/om/script/gspylib/clib:
[2021-10-30 14:29:36]: GAUSSHOME=/opt/mogdb/app
[2021-10-30 14:29:36]: database port: 26000
[2021-10-30 14:29:36]: architecture:aarch64
[2021-10-30 14:29:36]: modify owner for installation dir...
[2021-10-30 14:29:36]: generate mogha.service file...
[2021-10-30 14:29:36]: copy mogha.service to /usr/lib/systemd/system/
[2021-10-30 14:29:36]: reload systemd
[2021-10-30 14:29:37]: mogha service register successful
[2021-10-30 14:29:37]: add sudo permissions to omm
[2021-10-30 14:29:37]: add successful: NOPASSWD:/usr/sbin/ifconfig
[2021-10-30 14:29:37]: not found node.conf in current directory, generate it
node.conf generated,location:/home/omm/mogha/node.conf
[2021-10-30 14:29:37]: MogHA install successful!

Please edit /home/omm/mogha/node.conf first before start MogHA service!!!

Manage MogHA service by systemctl command:
    Start service:  sudo systemctl start mogha
    Stop service:   sudo systemctl stop mogha
    Restart service:sudo systemctl restart mogha

Uninstall MogHA service command:
    sudo ./uninstall.sh mogha

从安装脚本执行的输出结果可以看出安装的流程,安装成功的标志是看到输出的最后打印出了『**MogHA 安装成功!』**语句。其他情况,需根据实际情况,检查安装步骤哪里出错。

如果正常执行完安装脚本后,期间生成一个新文件:

node.conf

这是 MogHA 运行所需要的配置文件(如已存在则不会生成),用户需自行补充填写实例和机房信息。(可参考参数配置注意和指导)

完善 node.conf 配置

执行完安装脚本后,不要立即启动 MogHA 服务,我们需要先完善一下配置文件再启动服务。

当第一次安装的时候,node.conf 是没有的,安装脚本会根据 node.conf.tmpl 模板文件自动生成一份 node.conf, 得到该文件后,参考配置文件的介绍,完善您的机器和机房配置信息。

管理 MogHA 服务

请确认您已经配置完成 node.conf 以后,就可以通过 systemctl 指令来管理 MogHA 服务了。

如果执行安装脚本时指定了 SERVICE_NAME , 后续操作的服务名需替换为自定义的服务名。

启动服务

sudo systemctl start mogha

查看服务状态

sudo systemctl status mogha
● mogha.service - MogHA High Available Service
   Loaded: loaded (/usr/lib/systemd/system/mogha.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-11-18 22:48:51 CST; 5 days ago
     Docs: https://docs.mogdb.io/zh/mogha/v2.0/installation-and-depolyment
 Main PID: 193849 (mogha-2.2.3-dev)
    Tasks: 55
   Memory: 1.5G
   CGroup: /system.slice/mogha.service
           ├─ 193849 /home/omm/mogha/mogha-2.3.0-aarch64 -c /home/omm/mogha/node.conf
           ├─ 193862 mogha: watchdog
           ├─ 193863 mogha: http-server
           └─ 193864 mogha: heartbeat

设置开机自启

sudo systemctl enable mogha

重启 MogHA 服务

sudo systemctl restart mogha

停止 MogHA 服务

sudo systemctl stop mogha

卸载 MogHA 软件

进入安装目录,执行卸载脚本即可:

cd /home/omm/mogha
sudo ./uninstall.sh

日志文件

MogHA 会生成两个日志文件:

  • mogha_heartbeat.log

这个日志文件会存放在安装目录中,在本示例中为 /home/omm/mogha,这个日志主要记录HA的心跳日志,也是排查问题主要的优先检查的日志文件。

  • mogha_web.log

这个日志文件存放目录和心跳日志相同。这个日志主要记录 web api 接口的请求日志。

Copyright © 2011-2024 www.enmotech.com All rights reserved.