暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

国产数据库部署分享篇1—OpenGauss单节点部署手册流程

OpenGauss数据库系统概述

OpenGauss是一款开源的关系型数据库管理系统,由华为公司发起并贡献,基于PostgreSQL数据库分支开发而来。它不仅继承了PostgreSQL的稳定性和可靠性,还在性能、扩展性等方面进行了优化和提升。OpenGauss支持多种操作系统和硬件平台,可以灵活应对各种应用场景,特别在企业级应用场景中展现出高性能、高可靠性、高可扩展性等特点。

OpenGauss的主要特点

  • 高性能 OpenGauss通过多核并行处理技术和智能执行技术,提高了数据库系统的处理能力和效率,尤其适合大规模数据处理的需求。
  • 高可靠性 OpenGauss支持事务的ACID特性,确保了数据的一致性和可靠性,同时提供了复制、故障转移、数据备份和恢复等功能,确保了系统的高可用性。
  • 高可扩展性 OpenGauss支持水平扩展和垂直扩展,通过数据切片和分片技术实现数据的水平扩展,同时支持在线扩容和动态调整节点,以适应不同规模和负载的需求。
  • 安全性 OpenGauss注重数据的安全性,提供了数据加密、访问控制、安全审计等安全功能,支持SSL安全网络连接,保护数据传输的安全性。
  • 兼容性 OpenGauss兼容PostgreSQL的语法和API,使得现有的PostgreSQL应用程序可以无缝迁移到OpenGauss,同时支持多种字符集,满足不同场景下对字符编码的需求。
  • 开源社区支持 OpenGauss是一个开源项目,拥有活跃的社区支持和贡献者,用户可以从社区获取支持、参与讨论和贡献代码,推动OpenGauss的发展和改进。

一、环境初始化

1.1、环境要求(官网推荐要求)

介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。

表1 列出了openGauss服务器应具备的最低硬件要求。

  • 在实际产品中,硬件配置的规划需考虑数据规模及所期望的数据库响应速度。请根据实际情况进行规划。
名称配置描述
内存功能调试建议32GB以上。性能测试和商业部署时,单实例部署建议128GB以上。复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。
CPU功能调试最小1×8核,2.0GHz。性能测试和商业部署时,建议1×16核,2.0GHz。CPU超线程和非超线程两种模式都支持。说明:个人开发者最低配置2核4G,推荐配置4核8G。目前,openGauss仅支持ARM服务器和基于x86_64通用PC服务器的CPU。
硬盘用于安装openGauss的硬盘需最少满足如下要求:至少1GB用于安装openGauss的应用程序。每个主机需大约300MB用于元数据存储。预留70%以上的磁盘剩余空间用于数据存储。建议系统盘配置为RAID1,数据盘配置为RAID5,且规划4组RAID5数据盘用于安装openGauss。有关RAID的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。openGauss支持使用SSD盘作为数据库的主存储设备,支持SAS接口和NVME协议的SSD盘,以RAID的方式部署使用。
网络要求300兆以上以太网。建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。

表 2 软件环境要求

软件类型配置描述
Linux操作系统ARM:openEuler 20.03LTS(推荐采用此操作系统)、openEuler 22.03LTS、麒麟V10、Asianux 7.5。x86:openEuler 20.03LTS、openEuler 22.03LTS、CentOS 7.6、Asianux 7.6。 说明:1、当前安装包只能在英文操作系统上安装使用;2、OM工具已经支持对基于openEuler/Centos等商业操作系统的安装使用,具体配置信息可以查看OM中的osid.conf文件。
Linux文件系统剩余inode个数 > 15亿(推荐)
工具bzip2
Python支持Python3.6+

表 3 软件依赖要求

所需软件建议版本
libaio-devel建议版本:0.3.109-13
readline-devel建议版本:7.0-13
libnsl(openEuler+x86环境中)建议版本:2.28-36

1.2、环境检查

cat /etc/redhat-release


1.3、修改limits

cat>>/etc/security/limits.conf<<EOF
* hard nofile 65535
* soft nofile 65535
EOF

1.4、python版本升级

1.4.1、python版本如果是3.6.x,可跳过该步骤 查看python版本

python --version
Python 2.7.5
python3 --version
python3命令找不到

1.4.2、采用yum方式安装操作系统自带的包管理器中的python3

yum install python3

1.4.3、再次查看python版本

python --version
Python 2.7.5
python3 --version
Python 3.6.8

1.5、关闭SELINUX

sed -i  "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config

1.6、关闭RemodeIPC

  • 1.6.1、关闭RemodeIPC
cat>>/etc/systemd/logind.conf<<EOF
RemoveIPC=no
EOF
cat>>/usr/lib/systemd/system/systemd-logind.service<<EOF
RemoveIPC=no
EOF
  • 1.6.2、重新加载配置参数
systemctl daemon-reload
systemctl restart systemd-logind
  • 1.6.3、检查修改是否生效
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC

1.7、设置开放防火墙端口或关闭防火墙,这里设置了开放端口

  • 开启防火墙端口:firewall-cmd --zone=public --add-port=5432/tcp --permanent
  • 重新加载:firewall-cmd --reload
  • 查看开放的端口:firewall-cmd --list-ports
  • 注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效


1.8、修改内核参数

sysctl -w kernel.sem="250 85000 250 330"
  • 说明:执行过程中会由于参数错误导致无法安装,需提前执行该脚本。

1.9、安装插件

yum install net-tools libaio-devel readline-devel

二、部署准备

2.1、创建用户组gauss、用户gauss,并设置密码gauss

groupadd gauss -g 400
useradd gauss -g 400 -u 400
echo "gauss"|passwd --stdin gauss


2.2、创建安装目录

mkdir -p /openGauss/Server  /openGauss/data/single_node  /install
chmod 755 -R /openGauss  /install
chmod 700 -R /openGauss/data/single_node
chown -R gauss:gauss /openGauss  /openGauss/data/single_node  /install


2.3、上传安装包,使用gauss用户登录到openGauss包安装的主机,解压openGauss压缩包。

cd /install
tar -xvzf openGauss-6.0.0-RC1-CentOS-64bit-all.tar.gz

tar -jxf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2




2.4、假定解压包的路径为/install,进入解压后目录下的simpleInstall。

cd /install/simpleInstall

2.5、执行install.sh,脚本安装openGauss

   sh install.sh  -w "gauss@123" &&source ~/.bashrc

说明:

  • 1、-w:初始化数据库密码(gs_initdb指定),因安全需要,此项必须设置。
  • 2、-p:指定openGauss端口号,如不指定,默认为5432。
  • 3、-h|--help:打印使用说明。
  • 4、安装后,该数据库部署节点的名称为sgnode(gs_initdb指定)。
  • 5、执行时,如果出现报错“the maximum number of SEMMNI is not correct, the current SEMMNI is xxx. Please check it.”,请使用有root权限的用户执行如下命令: sysctl -w kernel.sem="250 85000 250 330"
  • 6、安装后,数据库目录安装路径/openGauss/data/single_node,其中/install为解压包路径,/openGauss/data/single_node为新创建的数据库节点目录。
  • 7、安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。

2.6、安装执行完成后,出现success表示安装完成。

  • 说明:,其中无法修改limit值,不允许的操作(默认设置fd可用大小超过系统设置,可以忽略该设置) 安装过程如下:

图1:


图2:


图3:


三、登录测试

  • 登录gsql:gsql -d postgres -p 5432 -r
[gauss@OpenGaussNode1 simpleInstall]$ gsql -d postgres -p 5432 -r
gsql ((openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-03-31 11:59:31 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# 
openGauss=# select version();
                                                                          version                           
                                               
------------------------------------------------------------------------------------------------------------
-----------------------------------------------
 (openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-03-31 11:59:31 commit 0 last mr   on x86_64-unknown-l
inux-gnu, compiled by g++ (GCC) 10.3.0, 64-bit
(1 row)

openGauss=# 

四、注意事项

  • 注意事项:
    1、硬件环境:部署需严格按照官网要求;
    2、防火墙:如果客户端无法连接数据库,请检查防火墙是否设置策略;
    3、安装插件:libaio-devel、readline-devel,否则安装过程会报错。


五、总结

  • 综上所述,OpenGauss以其高性能、高可靠性、高可扩展性、安全性和兼容性,在多个领域有着广泛的应用前景。无论是企业级应用还是大数据分析,OpenGauss都能提供稳定可靠的数据库服务,满足用户对数据库的各种需求。随着OpenGauss社区的不断壮大和发展,相信它在未来的数据库领域将发挥更大的作用。

OpenGauss单机版部署完成

最后修改时间:2024-06-04 13:56:03
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论