openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。
- 产品: OLTP、企业级特性、自研比例超80%
- 使用场景: 国产化领域,普遍适用于各行业的交易系统
- 社区: 开放代码、开源社区、共治共享
- 知识产权: 木兰宽松许可证,无重大知识产权风险
- 风险: 代码完全国人管控,彻底解决断供风险
推荐采用的操作系统是:openEuler 20.03LTS
如果是Centos系统,则只支持CentOS 7.6
- CPU: 2 * Intel® Xeon® CPU E5-2680 v4 @ 2.40GHz
- 内存:256G 内存
- 操作系统:CentOS7.9
参见:准备软硬件安装环境
设置主机名并配置/etc/hosts文件hostnamectl set-hostname 新主机名
systemctl restart systemd-hostnamed
systemctl disable firewalld.service
systemctl stop firewalld.service
vim /etc/profile
export LANG=zh_CN.UTF-8
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
关闭SELinuxvi /etc/selinux/config
SELINUX=enforcing修改为SELINUX=disabled
或
sed -i 's/enforcing/disabled/g' /etc/selinux/config
注意:SELINUXTYPE配置不需要修改
设置网卡的mtu将各数据库节点的网卡MTU值设置为相同大小。对于x86,MTU值推荐1500;对于ARM,MTU值推荐8192。
- 查看网卡的配置:cat /etc/sysconfig/network-scripts/ifcfg-网卡编号
- 查看网卡的mtu值 ip addr show 网卡编号
- 临时修改:ifconfig 网卡编号 mtu 值
- 永久修改:在/etc/sysconfig/network-scripts/ifcfg-网卡编号配置文件中添加``,然后重启网卡service network restart
在各数据库节点上,关闭RemoveIPC。CentOS操作系统无该参数,可以跳过该步骤。
当一个user 完全退出os之后,remove掉所有的IPC objects。该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。
可以增加RemoveIPC=no避免删除。
- 修改以下2个配置文件
vim /etc/systemd/logind.conf
vim /usr/lib/systemd/system/systemd-logind.service
修改“RemoveIPC”值为“no”。
RemoveIPC=no - 重新加载配置
systemctl daemon-reload
systemctl restart systemd-logind - 检查修改是否生效
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
vim /etc/ssh/sshd_config
- 将#PermitRootLogin no修改为PermitRootLogin yes
- 注释掉“Banner”所在的行
- 重启 systemctl restart sshd.service
sed -i '/Banner/s/^/#/' /etc/ssh/sshd_config sed -i '/PermitRootLogin/s/^/#/' /etc/ssh/sshd_config echo "Banner none" >> /etc/ssh/sshd_config echo "PermitRootLogin yes" >> /etc/ssh/sshd_config关闭swap交换内存【可选】
swapoff -a
或
sed -i '/ swap / s/^(.*)$/#1/g' /etc/fstab
如果Centos的版本不是7.6,如是7.9,则需要将系统版本修改为7.6
echo "CentOS Linux release 7.6.1810 (Core)">/etc/centos-release
或
修改script/gspylib/os/gsplatform.py文件中SUPPORT_RHEL7X_VERSION_LIST位置,增加7.7-7.9版本的支持,["7.0", "7.1", "7.2", "7.3", "7.4", "7.5", "7.6", "7.7", "7.8", "7.9", "10"]。
cat << EOF >>/etc/sysctl.conf
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.ip_local_port_range = 26000-65535
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
vm.overcommit_ratio = 90
vm.extfrag_threshold = 500
net.sctp.path_max_retrans = 10
net.sctp.max_init_retransmits = 10
EOF
cat << EOF >>/etc/systemd/system.conf
DefaultLimitNOFILE=1000000
DefaultLimitNPROC=unlimited
EOF
#文件系统参数,stack指线程堆栈大小
echo "* soft stack 3072" >> /etc/security/limits.conf
echo "* hard stack 3072" >> /etc/security/limits.conf
echo "* soft nofile 1000000" >> /etc/security/limits.conf
echo "* hard nofile 1000000" >> /etc/security/limits.conf
#系统支持的最大进程数设置,centos不需要
#echo "* soft nproc unlimited" >> /etc/security/limits.d/90-nproc.conf
#关闭transparent_hugepage
cat << EOF >>/etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never >/sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never >/sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
chmod +x /etc/rc.d/rc.local
/usr/bin/sh /etc/rc.d/rc.local
创建用户组及用户
groupadd dbgrp && useradd -g dbgrp omm
重启系统shutdown -r now
安装步骤 上传并解压文件上传openGauss-2.1.0-CentOS-64bit-all.tar.gz到/tmp/gauss目录
tar -zxvf openGauss-2.1.0-CentOS-64bit-all.tar.gz tar -zxvf openGauss-2.1.0-CentOS-64bit-om.tar.gz tar -jxvf openGauss-2.1.0-CentOS-64bit.tar.bz2数据库配置文件准备
创建/tmp/gauss/cluster_config.xml,
内容如下:
初始化安装环境及检查
-L指only perform preinstallation on local nodes
/tmp/gauss/script/gs_preinstall -U omm -G dbgrp -L -X /tmp/gauss/cluster_config.xml /tmp/gauss/script/gs_checkos -i A --detail
可以根据gs_checkos 检查的结果,针对性的针对系统参数进行调整。
注意:
- 确保python版本是正确的,script/gspylib/common/CheckPythonVersion.py
- 检查hostname与/etc/hostname是否一致,否则会导致预安装检查失败
- 若为共用环境需加入–sep-env-file=ENVFILE参数分离环境变量,避免与其他用户相互影响,文件可以是空文件
- 可使用脚本script/gs_sshexkey创建多个服务器间的用户相信
- 针对操作系统参数的调整请参见初始化安装环境–操作系统参数
chmod 777 /tmp/gauss su - omm gs_install -X /tmp/gauss/cluster_config.xml --gsinit-parameter="--locale=zh_CN.UTF-8"
注意:
- 在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。
- 数据库密码最少包含8个字符
- 至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为~!@#$%^&*()-_=+|[{}];:,<.>/?)四类字符中的三类字符。
- 安装成功后,请删除root用户的互信(rm –rf ~/.ssh)
- 错误排查:可以在日志目录下查看预安装及安装过程的日志
su - omm /tmp/gauss/script/gs_uninstall --delete-data -L ## 删除安装的文件及数据目录 rm -rf /opt/huawei rm -rf /data1/opengauss/OpenGauss 数据库操作
使用omm用户操作
详见: 简单数据管理
gsql -d postgres -p 16001
--修改omm密码
ALTER ROLE omm PASSWORD 'omm@1234';
--ALTER ROLE omm IDENTIFIED BY 'omm@1234' REPLACE 'omm@2022';
--create database test with encoding 'UTF8' template=template0;
--创建角色与数据库
CREATE ROLE test LOGIN PASSWORD 'test@123';
CREATE DATAbase test OWNER test ENCODING 'UTF8' template=template0;
--切换到test数据库
c test
--创建表
create table TEST (Id INTEGER,Name VARCHAR(50));
--插入及更新数据
insert into test values(1,'张三');
insert into test (id,name)values(1,'王五');
insert into test (id,name)values(2,'zhangsan');
update test set name='中国人' where id=1;
--查询数据
select * from test;
--分析表
analyse test;
--查看表占用空间
select pg_relation_size('test');
select pg_size_pretty(pg_total_relation_size('test'));
连接数据库
gsql -d test -p 16001 -U omm -W omm@1234 -r gsql -d test -p 16001 -U test -W test@123 -r
注意:
需要指定-r参数,指定Output format 使用libedit,否则光标键前移会达不到预期的效果,即不能输入的内容再进行编辑
- 查看状态 gs_om -t status gs_om -t status --detail
- 启动 gs_om -t start
- 停止 gs_om -t stop
----------------------------------------------------------------------- cluster_name : OpenGaussTest cluster_state : Normal redistributing : No -----------------------------------------------------------------------数据库参数设置 设置最大连接数
gs_guc set -N all -I all -c "max_connections = 800"
设置远程连接详见gsql客户端连接
默认配置是不能远程访问,只能在本机访问
修改DN的配置文件pg_hba.conf
配置文件位于:当前主机上的数据库节点的数据存储目录如/opt/huawei/install/data/dn
# IPv4 local connections: host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 sha256
或通过命令设置
gs_guc set -N all -I all -h "host all all 0.0.0.0/0 sha256"如何通过dbeaver访问
- 下载对应操作系统的jdbc驱动包,下载地址
- 新增jdbc驱动OpenGauss,配置见下图,jdbc驱动包使用下载的那个postgresql.jar
- 使用新增的驱动,创建数据库连接
解决方案:修改DN的配置文件postgresql.conf
默认配置的有问题,默认情况下:listen_addresses = 'localhost, 172.25.x.x'
配置文件位于:当前主机上的数据库节点的数据存储目录如/opt/huawei/install/data/dn
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
local_bind_address = '172.25.xx.xx'
port = 16001 # (change requires restart)
omm用户找不到python3
解决方案:在omm安装Python 3.6.X以上的版本 或 配置环境变量
netifaces/netifaces.so cannot open shared解决方案:缺少python的netifaces包,pip install netifaces



