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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。