在CentOS中手动安装MogDB(openGuass)的踩坑过程

1 关于MogDB

MogDB是EnMotech openGauss DataBase Enterprise Edition的缩写,是云和恩墨基于openGauss开源数据库进行定制、推出的企业发行版。它将围绕高可用、安全、自动化运维、数据库一体机和SQL审核优化等企业需求,解决企业用户落地。其核心价值是易用性、高性能、高可用等和全天候的企业支持。
官网文档:https://docs.mogdb.io/zh/mogdb/v3.1/manual-installation
MogDB的安装方式有:容器化安装、PTK安装、OM安装和手动安装,后两种都是离线安装,这里记录手动安装的过程(说实话不推荐这种安装方式,会缺少组件)。

2 装备工作

2.1 准备系统环境

目前MogDB仅支持在Linux系统中运行,所以我使用CentOS 7来进行安装。
根据官网文档,操作系统需要满足:

2.1.1 检查CPU是否支持指令集

检查CPU是否支持指令集rdtscp和bmi2
执行命令:

lscpu | grep rdtscp
lscpu | grep bmi2

会显示支持的指令集:
在这里插入图片描述

2.1.2 安装依赖

yum install -y bzip2 libaio-devel flex bison ncurses-devel glibc-devel libxml2-devel patch redhat-lsb-core unzip gcc gcc-c++ perl openssl-devel libffi-devel libtool zlib-devel

2.1.3 安装Python3.6

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
mkdir -p /usr/local/python3
tar -zxvf Python-3.6.5.tgz
cd Python-3.6.5
./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC && make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

2.2 安装包准备

安装包下载:https://www.mogdb.io/downloads/allDownload。
下载安装包:
在这里插入图片描述
下载后进行解压,提取MogDB-3.1.0-CentOS-64bit.tar.gz和MogDB-3.1.0-CentOS-64bit-tools.tar.gz
在这里插入图片描述
上传到服务器的/opt目录中。

3 手动安装MogDB

3.1 关闭防火墙

systemctl disable firewalld.service
systemctl stop firewalld.service
setenforce=0
sed -i '/^SELINUX=/c'SELINUX=disabled /etc/selinux/config

3.2 安装依赖包

yum install libaio-devel -y

3.3 创建用户组

创建一个组dbgrp和用户omm;创建目录/opt/mogdb,在目录中创建文件夹software和data;将目录权限给组用户

groupadd dbgrp -g 2000
useradd omm -g 2000 -u 2000
echo "Enmo@123" | passwd --stdin omm
mkdir -p /opt/mogdb/software
mkdir -p /opt/mogdb/data
mkdir -p /opt/mogdb/tools
chown -R omm:dbgrp /opt

3.4 上传并解压安装包

切换到omm用户,将MogDB-3.1.0-CentOS-64bit.tar.gz解压到到/opt/mogdb/software文件夹中:

[root@localhost opt]# chown omm:dbgrp MogDB-3.1.0-CentOS-64bit.tar.gz
[root@localhost opt]# chown omm:dbgrp MogDB-3.1.0-CentOS-64bit-tools.tar.gz
[root@localhost opt]# su - omm
[omm@localhost ~]$ cd /opt/
[omm@localhost opt]$ tar -xf MogDB-3.1.0-CentOS-64bit.tar.gz
[omm@localhost opt]$ tar -xf MogDB-3.1.0-CentOS-64bit-tools.tar.gz
[omm@localhost opt]$ cp -r MogDB-3.1.0-CentOS-64bit/* mogdb/software/
[omm@localhost opt]$ cp -r MogDB-3.1.0-CentOS-64bit-tools/* mogdb/tools/

3.5 初始化数据库(单机)

3.5.1 配置环境变量

运行:

echo "export GAUSSHOME=/opt/mogdb/software"  >> /home/omm/.bashrc && \
echo "export PATH=\$GAUSSHOME/bin:\$PATH " >> /home/omm/.bashrc && \
echo "export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$LD_LIBRARY_PATH" >> /home/omm/.bashrc
source /home/omm/.bashrc

3.5.2 init数据库

gs_initdb --pgdata=/opt/mogdb/data --nodename=primary --pwpasswd=Enmo@123 --encoding=UTF-8 --locale=en_US.UTF-8

3.5.3 修改数据库参数

echo "port=26000" >> /opt/mogdb/data/postgresql.conf
echo "listen_addresses = '0.0.0.0'" >> /opt/mogdb/data/postgresql.conf
echo "password_encryption_type = 0" >> /opt/mogdb/data/postgresql.conf
echo "log_directory = 'pg_log'" >> /opt/mogdb/data/postgresql.conf
echo "remote_read_mode=non_authentication" >> /opt/mogdb/data/postgresql.conf
echo "host all all 0.0.0.0/0 md5" >> /opt/mogdb/data/pg_hba.conf

3.5.4 启动数据库

[omm@localhost opt]$ gs_ctl start -D /opt/mogdb/data
[2023-02-17 16:56:28.613][29830][][gs_ctl]: gs_ctl started,datadir is /opt/mogdb/data
[2023-02-17 16:56:28.655][29830][][gs_ctl]: waiting for server to start...
.0 LOG:  [Alarm Module]can not read GAUSS_WARNING_TYPE env.
...
[2023-02-17 16:56:29.670][29830][][gs_ctl]:  done
[2023-02-17 16:56:29.670][29830][][gs_ctl]: server started (/opt/mogdb/data)
[omm@localhost opt]$

可以看到最后一行提示启动成功了。

3.5.5 启动时遇到的问题

启动报错:

[omm@localhost ~]$ gs_ctl start -D /opt/mogdb/data -Z single_node -l logfile    [2023-02-17 17:00:51.724][34542][][gs_ctl]: gs_ctl started,datadir is /opt/mogdb/data
[2023-02-17 17:00:51.841][34542][][gs_ctl]: waiting for server to start...
.[2023-02-17 17:00:52.845][34542][][gs_ctl]:  gaussDB state is Coredump

[2023-02-17 17:00:52.845][34542][][gs_ctl]: stopped waiting
[2023-02-17 17:00:52.845][34542][][gs_ctl]: could not start server
Examine the log output.
[omm@localhost ~]$

错误原因:gaussDB state is Coredump,是因为系统不支持rdtscp指令集。
解决办法:添加指令集或者换支持指令集的电脑,VMware在安装时可以给虚拟机添加指令集:
在这里插入图片描述

4 安装gsql客户端进行本地连接

4.1 安装gsql客户端

设置环境变量:

vi ~/.bashrc

添加变量:

export PATH=/opt/mogdb/tools/bin:$PATH
export LD_LIBRARY_PATH=/opt/mogdb/tools/lib:$LD_LIBRARY_PATH

更新变量:

source ~/.bashrc

4.2 使用gsql进行本地连接

以操作系统用户omm登录数据库服务器,进行连接:

gsql -d postgres -p 26000

其中postgres为需要连接的数据库名称,26000为数据库主节点的端口号。请根据实际情况替换。
登录后如下:

gsql ((MogDB 3.1.0 build 3ddb00f7) compiled at 2022-12-28 22:27:13 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

MogDB=#

omm用户是管理员用户,因此系统显示"postgres=#“。若使用普通用户身份登录和连接数据库,系统显示"postgres=>”。

"Non-SSL connection"表示未使用SSL方式连接数据库。如果需要高安全性时,请使用SSL连接。

4.3 本地退出数据库

postgres=# \q

好了就先记录这么多,因为这种安装方式是缺少om组件的,还没找到怎么安装,我打算去试试OM安装。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值