栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

国产数据库OpenGauss--在CentOS7.x系统中安装单节点集群、验证及简单数据管理

国产数据库OpenGauss--在CentOS7.x系统中安装单节点集群、验证及简单数据管理

OpenGauss介绍

openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。

  • 产品: OLTP、企业级特性、自研比例超80%
  • 使用场景: 国产化领域,普遍适用于各行业的交易系统
  • 社区: 开放代码、开源社区、共治共享
  • 知识产权: 木兰宽松许可证,无重大知识产权风险
  • 风险: 代码完全国人管控,彻底解决断供风险
OpenGauss 单节点集群安装

推荐采用的操作系统是: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

关闭SELinux

vi /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

在各数据库节点上,关闭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
设置root用户远程登录

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用户操作
详见: 简单数据管理

初始化数据库及SQL操作
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
  • 使用新增的驱动,创建数据库连接
遇到的问题 FATAL: could not create listen socket for

解决方案:修改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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/689913.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号