首页 > 数据库 >华为欧拉openGauss数据库部署及配置远程连接

华为欧拉openGauss数据库部署及配置远程连接

时间:2024-10-08 14:24:29浏览次数:7  
标签:core tcp omm 华为 ipv4 openGauss net 欧拉

1.前置工作

1.1 配置 hosts 文件

vi /etc/hosts
# 新增
192.168.19.128 openeuleros

1.2 配置 limit.conf 文件

vi /etc/security/limits.conf
omm soft nproc unlimited
omm hard nproc unlimited
omm soft nofile 102400
omm hard nofile 102400
omm soft stack unlimited
omm hard stack unlimited
omm soft core unlimited
omm hard core unlimited
omm soft memlock unlimited

1.3 配置 sysctl.conf 文件

vi /etc/sysctl.conf
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_retries2 = 12
net.ipv4.tcp_rmem = 8192 250000 16777216
vm.overcommit_memory = 0
net.ipv4.tcp_wmem = 8192 250000 16777216
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
fs.aio-max-nr = 1048576
fs.file-max = 76724600
kernel.sem = 4096 2048000 32 32768
kernel.shmall = 1048576
kernel.shmmax = 4294967296
kernel.shmmni = 8192
net.core.netdev_max_backlog = 65535
net.core.somaxconn = 65535
net.ipv4.tcp_fin_timeout = 60
vm.swappiness = 0
net.ipv4.ip_local_port_range = 26000 65535
fs.nr_open = 20480000

# 执行刷新配置
sysctl -p

1.4 sysctl.conf 配置文件详情

net.ipv4.tcp_max_tw_buckets = 10000 # 可以提⾼系统处理连接的能⼒,但要注意过多的TIME_WAIT连接可能会影响⽹络的稳定性。
net.ipv4.tcp_tw_reuse = 1 # 提⾼性能:在处理⼤量短连接时(例如Web服务器或API服务),此设置可以显著减少新连接的建⽴时间,提⾼系统的性能和响应速度。节省资源:重⽤TIME_WAIT连接可以减少对新的端⼝的需求,从⽽减少资源消耗。
net.ipv4.tcp_keepalive_probes = 9 # ⽤于控制TCP连接的保持活动(keepalive)机制。
net.ipv4.tcp_keepalive_intvl = 30 # ⽤于配置TCP连接的保持活动(keepalive)机制中的探测间隔。
net.ipv4.tcp_retries1 = 5 # ⽤于配置TCP连接在尝试重传数据包时的初始重试次数。
net.ipv4.tcp_syn_retries = 5 # ⽤于配置在TCP连接建⽴过程中SYN(同步)请求的重试次数。
net.ipv4.tcp_synack_retries = 5 # ⽤于配置在TCP连接建⽴过程中,服务器在接收到SYN请求后,发送SYN-ACK响应的重试次数。
net.ipv4.tcp_retries2 = 12 # ⽤于配置TCP连接在数据包重传失败后的最⼤重试次数。
net.ipv4.tcp_rmem = 8192 250000 16777216 # ⽤于配置TCP连接的接收缓冲区⼤⼩。
vm.overcommit_memory = 0 # ⽤于控制内存分配策略,特别是在进程请求内存时的⾏为。
net.ipv4.tcp_wmem = 8192 250000 16777216 # ⽤于配置TCP连接的发送缓冲区⼤⼩。最⼩发送缓冲区⼤⼩(字节)。默认发送缓冲区⼤⼩(字节)。最⼤发送缓冲区⼤⼩(字节)。
net.core.wmem_max = 21299200 # ⽤于设置⽹络套接字的最⼤发送缓冲区⼤⼩。
net.core.rmem_max = 21299200 # ⽤于设置⽹络套接字的最⼤接收缓冲区⼤⼩。
net.core.wmem_default = 21299200 # ⽤于设置⽹络套接字的默认发送缓冲区⼤⼩。
net.core.rmem_default = 21299200 # ⽤于设置⽹络套接字的默认接收缓冲区⼤⼩。
net.ipv4.tcp_syncookies = 1 # ⽤于启⽤TCP同步Cookies功能,以增强TCP连接的安全性,尤其是在⾯对SYN洪⽔攻击时。
net.ipv4.tcp_sack = 1 # ⽤于启⽤TCP选择确认(Selective Acknowledgment,SACK)功能。
net.ipv4.tcp_timestamps = 1 # ⽤于启⽤TCP时间戳选项。
fs.aio-max-nr = 1048576 # ⽤于设置系统中异步I/O(AIO)操作的最⼤数量。
fs.file-max = 76724600 # ⽤于设置系统可以打开的最⼤⽂件描述符数量。
kernel.sem = 4096 2048000 32 32768 # ⽤于配置信号量(semaphore)相关的系统资源限制。表示每个信号量集的最⼤信号量数量。表示系统中所有信号量集的最⼤数量。表示系统允许的最⼤信号量数量。
kernel.shmall = 1048576 # ⽤于设置系统中共享内存段的总⻚⾯数。
kernel.shmmax = 4294967296 # ⽤于设置单个共享内存段的最⼤⼤⼩。
kernel.shmmni = 8192 # ⽤于设置系统中共享内存段的最⼤数量。
net.core.netdev_max_backlog = 65535 # ⽤于设置⽹络设备接收队列的最⼤等待包数量。
net.core.somaxconn = 65535 # ⽤于设置系统允许的最⼤监听队列⻓度。
net.ipv4.tcp_fin_timeout = 60 # ⽤于设置TCP连接进⼊FIN_WAIT2状态后,系统等待关闭连接的时间。
vm.swappiness = 0 # ⽤于控制系统在内存管理中使⽤交换空间(swap)的倾向。
net.ipv4.ip_local_port_range = 26000 65535 # ⽤于设置本地可⽤的TCP和UDP端⼝范围。
fs.nr_open = 20480000 # ⽤于设置系统中每个进程可以打开的最⼤⽂件描述符数量。

1.5 设置 core_pattern 文件

echo "/home/omm/core_pattern/core-%e-%p-%t" > /proc/sys/kernel/core_pattern # 需要创建用户

2.安装依赖

yum install -y zlib-devel libaio libuuid readline-devel krb5-libs rsync libicu libxslt tcl perl openldap pam openssl-devel libxml2

3.创建用户和组

3.1 创建组

groupadd dbgrp

3.2 创建用户和密码

useradd -g dbgrp -d /home/omm -m omm
echo "强密码" |passwd omm --stdin # 请不要使用 #,$,*,!,& 这类特殊字符作为密码,容易导致后面安装初始化时报错异常。

4.创建目录并传 openGauss 包并解压

4.1 创建 openGauss 相关目录

mkdir -p /home/omm/{openGauss,backup,archive_wals,core_pattern}
mkdir /home/omm/openGauss/logs
chown omm:dbgrp -R /home/omm/
chmod 755 /home/omm/
chmod 700 /home/omm/{openGauss,backup,archive_wals,core_pattern}

4.2 传 openGauss 包

# 上传到普通用户下的openGauss目录中并重新赋权
chown -R omm:dbgrp /home/omm/openGauss/

4.3 解压 openGauss 包

tar zxf $HOME/openGauss/openGauss-5.0.3-openEuler-64bit-all.tar.gz -C $HOME/openGauss
tar jxvf $HOME/openGauss/openGaussopenGauss-5.0.3-openEuler-64bit.tar.bz2 -C $HOME/openGauss

5.配置环境变量

5.1 配置数据库环境变量

vi $HOME/.bashrc
# 最后新增
export LANG=en_US.UTF8
export GAUSSHOME=/home/omm/openGauss
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

5.2 配置数据库参数变量

vi $HOME/.bashrc
# 继续新增
export GS_CLUSER_NAME=dbCluster # 集群名称
export GAUSS_WARNING_TYPE=all   # 告警类型all所有
export GAUSSLOG=$GAUSSHOME/logs # 日志存放路径

5.3 刷新环境变量

source .bashrc

5.4 查看打开文件数量

ulimit -a

6.安装数据库

6.1 部署过程

cd $HOME/openGauss/simpleInstall/
sh install.sh -w openGauss$1234 # 初始化部署密码
...
[2024-10-04 23:41:43.172][59010][][gs_ctl]:  done
[2024-10-04 23:41:43.172][59010][][gs_ctl]: server started (/home/omm/openGauss/data/single_node)
import sql file
Would you like to create a demo database (yes/no)? yes
Load demoDB [school,finance] success.
[complete successfully]: You can start or stop the database server using:
    gs_ctl start|stop|restart -D $GAUSSHOME/data/single_node -Z single_node
# 注:如上提示证明成功初始化部署完成

6.2 部署异常问题

[step 6]: init datanode
gs_initdb: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory
[step 7]: start datanode
gs_ctl: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory

-- 解决⽅案:ln -s /usr/lib64/libreadline.so.8 /usr/lib64/libreadline.so.7


[step 6]: init datanode
gs_initdb: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
[step 7]: start datanode
gs_ctl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

-- 解决⽅案:ln -s /usr/lib64/libcrypt.so /usr/lib64/libcrypt.so.1

7.服务启停

7.1 启停格式(集群)

$ gs_ctl start|stop|restart -D $GAUSSHOME/data/master -M primary
$ gs_ctl start|stop|restart -D $GAUSSHOME/data/slave -M standby

7.2 启停方法(单节点)

gs_ctl start|stop|restart -D $GAUSSHOME/data/single_node -Z single_node

7.2.1 启动脚本

vi $HOME/yunwei/opengauss_db_5432_start.sh

#!/bin/bash
gs_ctl start -D $GAUSSHOME/data/single_node -Z single_node

7.2.2 停止脚本

vi $HOME/yunwei/opengauss_db_5432_stop.sh

#!/bin/bash
gs_ctl stop -D $GAUSSHOME/data/single_node -Z single_node

7.2.3 重启脚本

vi $HOME/yunwei/opengauss_db_5432_restart.sh

#!/bin/bash
gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node

8.配置数据库客户端配置

8.1 配置 pg_hba.conf

vi $HOME/openGauss/data/single_node/pg_hba.conf
host    all             all             0.0.0.0/0               md5

8.2 配置 postgresql.conf

vi $HOME/openGauss/data/single_node/postgresql.conf
# 修改如下
listen_addresses = '*'
port = 5432
max_connections = 200
password_encryption_type = 0 # 开启远程连接必须设置为0

9.连接数据库并创建用户及授权

9.1 连接数据库

gsql -d postgres -p 5432

9.2 创建数据库和用户

# 创建用户(建议强密码)
create user '新用户' with password '强密码'; # 不需要加单引号
# 创建数据库
create database '数据库名称' owner '新用户'; # 不需要加单引号

9.3 授权用户和数据库

# 授权数据库所有操作
grant all privileges to '数据库名称'; # 不需要加单引号
# 授权数据库给yunwei_auto用户
grant all privileges on database '数据库名称' to '新用户'; # 不需要加单引号

9.4 修改用户密码

ALTER USER '新用户' WITH PASSWORD '强密码'; # 不需要加单引号

9.5 退出并重启服务

# openGauss命令行模式下退出命令
openGauss=# \q

# 重启服务
gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node

10.测试登录数据库

10.1 登录数据

gsql -h '数据库地址' -p '数据库端口' -U '新用户' -d '连接数据库的名称' # 不需要加单引号

10.2 登录异常问题

./gsql: error while loading shared libraries: libssl.so.1.1: cannot open shared objectfile: No such file or directory

-- 解决⽅案:ln -s /usr/lib64/libssl.so /usr/lib64/libssl.so.1.1,需要退出普通⽤户重新登录刷新配置

标签:core,tcp,omm,华为,ipv4,openGauss,net,欧拉
From: https://www.cnblogs.com/imTxl/p/18451529

相关文章

  • 华为Datacom考什么?要考几门?
    华为认证细致地分为HCIA、HCIP和HCIE这三个具有显著差异的级别。就在今天,让咱们一同分别针对改版后三个级别的Datacom考试展开全面且深入的介绍。细致探讨看看它们各自具体考查哪些内容,究竟要通过考几门课程才能成功获取证书。01、HCIA-Datacom认证考几门HCIA-D......
  • CF1994F Stardew Valley(欧拉回路)
    题意简述给定\(n\)个点\(m\)条边,每条边分为关键边和非关键边,你需要构造一条回路,使得每条边被至多经过一次,而关键边恰好被经过了一次,无解输出-1。保证所有关键边将原图连通。\(n,m\le5\times10^5\)。分析先做一个比较关键的题意转化:求是否可以将图上的一些非关键边删掉,使......
  • 欧拉筛解释(含C++代码)
    intprime[MAXN];//质数列表boolisPrime[MAXN];//标记是否为质数(0表示是,1表示不是)intcnt;//prime表长/*对于任意合数m,可写作m=p*k(p为m的最小质因子,k为m/p,m、k>1且为整数,k>p(p为最小质因子,k为其它几个质因子相乘,每个质因子都比p大,所以k>p))*///欧拉筛(使每个合数......
  • 华为OD机试真题---整数对最小和
    题目描述给定两个整数数组array1和array2,数组元素按升序排列。假设从array1和array2中分别取出一个元素可构成一对元素。现在需要取出K个元素对(即从两个数组中各取一个元素组成一个对,共取K个这样的对),并对取出的所有元素求和,计算和的最小值。注意:两对元素如果对应于array1和......
  • 华为OD机试真题---第k个排列
    针对华为OD机试真题中的“第k个排列”问题,以下是对题目的详细解析及解答方法:题目描述给定参数n,从1到n会有n个整数:1,2,3,…,n。这n个数字共有n!种排列。按大小顺序升序列出所有排列的情况,并一一标记。给定n和k,返回第k个排列。输入与输出输入:第一行为n,给定n的范围是......
  • 华为 HCIP-Datacom H12-821 题库 (30)
    ......
  • 编码能力提升计划 - 华为OD统一考试(E卷)
    2024华为OD机试(E卷+D卷+C卷)最新题库【超值优惠】Java/Python/C++合集题目描述为了提升软件编码能力,小王制定了刷题计划,他选了题库中的n道题,编号从0到n-1,并计划在m天内按照题目编号顺序刷完所有的题目(注意,小王不能用多天完成同一题)。在小王刷题计划中,小王需要用time......
  • 828华为云征文 | 华为云Flexus X实例在混合云环境中的应用与实践
    目录前言1.混合云环境的优势与挑战1.1混合云的优势1.2混合云的挑战2.FlexusX实例的配置与集成2.1FlexusX实例简介2.2FlexusX实例的混合云部署2.3配置步骤与措施3.数据迁移与同步策略3.1数据迁移方案3.2数据同步措施4.安全性与合规性管理4.1混合云......
  • 感谢华为:iPhone 16全球价格对比:中国最便宜!比均价低1200元
    相关:https://baijiahao.baidu.com/s?id=1811582397991377070&wfr=spider&for=pc苹果最新的iPhone16系列已正式发售,不过由于种种原因在全球各地的定价也不尽相同,日本MM综研对iPhone16在全球39个国家和地区的价格进行了对比。结果显示,从128GB的iPhone16来看,中国的苹果手机价......
  • YOLOv8改进 | 主干篇,YOLOv8改进主干网络为华为的轻量化架构GhostNetV1
    摘要摘要:将卷积神经网络(CNN)部署在嵌入式设备上是困难的,因为嵌入式设备的内存和计算资源有限。特征图的冗余是成功的CNN的一个重要特征,但在神经网络架构设计中很少被研究。作者提出了一种新颖的Ghost模块,用于通过廉价操作生成更多的特征图。基于一组内在特征图,我们......