2021-06-12

open gaussdb安装步骤(一步不可以少)

所有基于 redhat linux, /etc/os-release 中的 ID="centos" , 添加 /etc/centos-release 该都能安装   1,python3.6,2,系统环境 3,装库,4库上操作,5,error问题
  1. 在CentOS7.6 上通过编译安装Python3.6.11
  安装依赖项 安装Python 3.6所需的依赖: yum install gcc zlib* openssl* -y            # 这一条是python3.6安装要用的 yum install -y bzip2 libaio-devel flex bison ncurses-devel glibc-devel patch    #opengauss要的 yum install -y net-tools  tar lrzsz              #非必须     tar -zxvf Python-3.6.11.tgz cd Python-3.6.11 ./configure --prefix=/usr/python3.6.11 --enable-optimizations --enable-shared CFLAGS=-fPIC make make install ## 环境变量配置(不要覆盖python2,否则yum命令使用可能存在问题) ln -s /usr/python3.6.11/bin/python3.6 /usr/bin/python3 ln -s /usr/python3.6.11/bin/pip3 /usr/bin/pip3 ln -s /usr/python3.6.11/lib/libpython3.6m.so.1.0 /usr/lib64/ export LD_LIBRARY_PATH=/usr/python3.6.11/lib:$LD_LIBRARY_PATH      

2.环境部署这些可以跑个脚本

关闭防火墙和开机自启关闭 SELinux

目前仅支持在防火墙关闭的状态下进行安装。 systemctl status firewalld systemctl stop firewalld.service && systemctl disable firewalld.service cat /etc/selinux/config | grep disabled sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config reboot

设置字符集参数

将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加”export LANG=XXX”(XXX为Unicode编码)。 echo 'export LANG=en_US.UTF-8' >>/etc/profile tail -1 /etc/profile source /etc/profile

设置时区和时间

将各数据库节点的时区设置为相同时区, timedatectl | grep Time timedatectl set-timezone "Asia/Shanghai" 说明:  可以通过date命令查询主机时区。

关闭swap交换内存(可选)

说明:  关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。 free -m vi /etc/fstab #注释掉swap分区挂载 swapoff -a #重启失效

设置网卡MTU值

将各数据库节点的网卡MTU值设置为相同大小。对于X86,MTU值推荐1500;对于ARM,MTU值推荐8192。 ip a #查看,MTU值不是1500就需要修改 ifconfig ens33 mtu 1500 systemctl restart network

设置root用户远程登录

cat /etc/ssh/sshd_config | grep PermitRootLogi cat /etc/ssh/sshd_config | grep Banner sed -i "s/#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config #允许root用户远程登录 sed -i "s/#Banner none/Banner none/g" /etc/ssh/sshd_config #修改Banner配置 cat /etc/ssh/sshd_config | grep PermitRootLogi cat /etc/ssh/sshd_config | grep Banner systemctl restart sshd.service

 

配置网络

配置hosts文件

echo "192.168.137.17 guassdb1">> /etc/hosts

cat /etc/hosts

关闭透明大页(transparent_hugepage)

#检查当前的transparent_hugepage状态 cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag #[always] madvise never为开启状态   cp /etc/rc.d/rc.local /etc/rc.d/rc.local.bkp_original #<==先备份,修改后需要重启系统才会生效。   #<==在/etc/rc.d/rc.local中加入如下参数 cat>>/etc/rc.d/rc.local<<EOF # 关闭transparent_hugepage 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 #查看是否关闭 cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag # 授予执行权限 chmod +x /etc/rc.d/rc.local

操作系统参数设置

cat>>/etc/sysctl.conf <<EOF vm.swappiness=0 net.ipv4.tcp_fin_timeout=60 net.ipv4.tcp_retries1=5 net.ipv4.tcp_syn_retries=5 net.sctp.path_max_retrans=10 net.sctp.max_init_retransmits=10 net.ipv4.tcp_max_tw_buckets = 10000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_keepalive_time = 30 net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_retries2 = 12 net.ipv4.ip_local_reserved_ports = 20050-26007 net.core.wmem_max = 21299200 net.core.rmem_max = 21299200 net.core.wmem_default = 21299200 net.core.rmem_default = 21299200 net.sctp.sctp_mem = 94500000 915000000 927000000 net.sctp.sctp_rmem = 8192 250000 16777216 net.sctp.sctp_wmem = 8192 250000 16777216 kernel.sem = 250 6400000 1000 25600 net.ipv4.tcp_rmem = 8192 250000 16777216 net.ipv4.tcp_wmem = 8192 250000 16777216 vm.min_free_kbytes = 399514 net.core.netdev_max_backlog = 65535 net.ipv4.tcp_max_syn_backlog = 65535 net.core.somaxconn = 65535 kernel.shmall = 1152921504606846720 kernel.shmmax = 18446744073709551615 EOF sysctl -p

操作系统资源限制

cat>>/etc/security/limits.conf <<EOF root soft as unlimited omm soft as unlimited root hard as unlimited omm hard as unlimited root soft nproc unlimited omm soft nproc 16384 root hard nproc unlimited omm hard nproc unlimited root soft nofile 1000000 omm soft nofile 1000000 root hard nofile 1000000 omm hard nofile 1000000 * stack EOF

系统支持的最大进程数设置

需要对系统支持的最大进程数进行手动设置时,执行如下命令打开conf文件。 touch /etc/security/limits.d/90-nproc.conf cat >> /etc/security/limits.d/90-nproc.conf << EOF * soft nproc unlimited EOF 完成修改后,需重启操作系统使得设置的参数生效。

配置yum源和epel源

 

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

  1. 数据库部署

创建安装用户和组

在安装openGauss过程中运行“gs_install”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。 groupadd -g 30001 dbgrp useradd -u 31001 -g dbgrp omm echo "omm" | passwd --stdin omm id omm

安装依赖包

yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel openssl-devel bzip2 bzip2-devel make zlib-devel sqlite-devel gcc tk-devel gdbm-devel libdb4-devel libpcap-devel xz-devel libffi-devel wget python3 python3-devel ntp

配置NTPD(单机可选)

内网有单独的NTP服务器可以添加crontab定期同步时间 service ntpd start chkconfig ntpd on

配置SSH互信 (这一步一定要做好)没做好看最下面 

ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.138 su - omm ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub omm@192.168.1.138     互信做过,但报错 ERROR: ECDSA host key for 192.168.1.140 has changed and you have requested strict checking. 执行它就好了 ssh-keygen -R 192.168.1.139        测试 ip 和域名都测试下 一定要保证正确 ssh gaussdb ssh omm@gaussdb ssh 192.168.1.138 ssh omm@192.168.1.138

创建软件存放目录和安装目录

mkdir -p /app/software/openGauss mkdir -p /app/gaussdb/ mkdir -p /data/gaussdb/{tmp,log,corefile,data/db1}

上传安装包

利用XFTP工具上传到 /app/software/openGauss 目录 cd /app/software/openGauss tar -zxvf openGauss-1.1.0-CentOS-64bit-all.tar.gz tar -zxvf openGauss-1.1.0-CentOS-64bit-om.tar.gz

授权目录

chmod 755 -R /app/software /app/gaussdb /data/gaussdb chown omm:dbgrp -R /app/software /app/gaussdb /data/gaussdb

单节点配置文件

创建 cluster_config.xml 配置文件,存放在 /app/software/openGauss 目录 vi /app/software/openGauss/cluster_config.xml <?xml version="1.1" encoding="UTF-8"?> <ROOT> <!-- openGauss整体信息 --> <CLUSTER> <!-- 数据库名称 --> <PARAM name="clusterName" value="gscluster" /> <!-- 数据库节点名称(hostname) --> <PARAM name="nodeNames" value="gaussdb1" /> <!-- 数据库安装目录--> <PARAM name="gaussdbAppPath" value="/app/gaussdb/app" /> <!-- 日志目录--> <PARAM name="gaussdbLogPath" value="/data/gaussdb/log" /> <!-- 临时文件目录--> <PARAM name="tmpMppdbPath" value="/data/gaussdb/tmp" /> <!-- 数据库工具目录--> <PARAM name="gaussdbToolPath" value="/app/gaussdb/om" /> <!-- 数据库core文件目录--> <PARAM name="corePath" value="/data/gaussdb/corefile" /> <!-- 节点IP,与数据库节点名称列表一一对应 --> <PARAM name="backIp1s" value="192.168.137.17"/> </CLUSTER> <!-- 每台服务器上的节点部署信息 --> <DEVICELIST> <!-- 节点1上的部署信息 --> <DEVICE sn="1000001"> <!-- 节点1的主机名称 --> <PARAM name="name" value="gaussdb1"/> <!-- 节点1所在的AZ及AZ优先级 --> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> <PARAM name="backIp1" value="192.168.137.17"/> <PARAM name="sshIp1" value="192.168.137.17"/> <!--dbnode--> <PARAM name="dataNum" value="1"/> <PARAM name="dataPortBase" value="26000"/> <PARAM name="dataNode1" value="/data/gaussdb/data/db1"/> </DEVICE> </DEVICELIST> </ROOT>

开始初始化

export LD_LIBRARY_PATH=/app/software/openGauss/script/gspylib/clib:$LD_LIBRARY_PATH cd /app/software/openGauss/script python3 gs_preinstall -U omm -G dbgrp -L -X /app/software/openGauss/cluster_config.xml /app/software/openGauss/script/gs_checkos -i A -h gaussdb1 --detail ##查看具体的检查信息 reboot ##重启系统,使limits资源生效     A9. [ Pre-read block size status ]报错的话    /sbin/blockdev --setra 16384 /dev/sda echo '/sbin/blockdev --setra 16384 /dev/sda' >> /etc/rc.local          

再做一次授权

chmod 755 -R /app/software /app/gaussdb /data/gaussdb chown omm:dbgrp -R /app/software /app/gaussdb /data/gaussdb    

切换 omm 用户 ,执行数据库安装

su - omm cd /app/software/openGauss/script gs_install -X /app/software/openGauss/cluster_config.xml     TIPS:此步骤要求输入符合密码复杂度要求的密码:最少包含8个字符,不能和用户名、当前密码(ALTER)、或当前密码反序相同,至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?)四类字符中的三类字符。 安装过程中会生成ssl证书,证书存放路径为{gaussdbAppPath}/share/sslcert/om,其中{gaussdbAppPath}为openGauss配置文件中指定的程序安装目录 初设密码:Cynhard0408@

查看数据库进程和修改密码

ps -ef | grep gaussdb gsql -d postgres -p 26000 -r ##进入数据库 ALTER ROLE omm IDENTIFIED BY 'P@ss7168' REPLACE 'Csdfjs920.'; 后面的是 old passwrd
  1. 创建数据库

postgres=# create database uat;

查看安装版本

postgres=# show server_version; server_version ---------------- 9.2.4 (1 row) postgres=# select version(); version ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 9.2.4 (openGauss 1.1.0 build 392c0438) compiled at 2020-12-31 20:07:42 commit 0 last mr on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit (1 row)

退出

postgres-# \q

数据库启动和停止,数据库状态查看

gs_om -t status --detail ##查看数据库状态 gs_om -t start ##启动数据库 gs_om -t stop ##停止数据库 gs_om -t status --all ##查看数据库系统详细信息 下面是一些拓展

数据库性能监控

[omm@gaussdb1 ~]$ gs_checkperf

数据库卸载

gs_uninstall --delete-data    
  1. 安装遇到的问题:
  1.  md5值错误,有一行很长的码
The authenticity of host 'gaussdb2 (192.168.1.139)' can't be established. ECDSA key fingerprint is SHA256:TxgpuPREaYun8X1r577nyNcTdMY5KlHHqYKm52ZMG4c. ECDSA key fingerprint is MD5:41:5b:b1:53:58:4a:94:a0:e8:40:41:5e:83:f9:e2:7c. Are you sure you want to continue connecting (yes/no)? no   这个说明没有做好互信 提示51400看下是不是ssh互信失败,重新互信下   GAUSS-50216: "Failed to remote copy %s." 这也是互信问题   [root@gaussdb1 script]# /app/software/openGauss/script/gs_checkos -i A -h gaussdb3 --detail The authenticity of host 'gaussdb3 (192.168.1.140)' can't be established. ECDSA key fingerprint is SHA256:TxgpuPREaYun8X1r577nyNcTdMY5KlHHqYKm52ZMG4c. ECDSA key fingerprint is MD5:41:5b:b1:53:58:4a:94:a0:e8:40:41:5e:83:f9:e2:7c. Are you sure you want to continue connecting (yes/no)? yes Checking items:   互信没做好,python3 gs_sshexkey -f ip_huxin -W 123456      ip_huxin上面写集群的ip -W  各主机用户密码相同情况下建立互信。12345为用户密码。  su - omm 同样的操作  
  1. share memry ,linux 内存不够
找到 postgresql.conf  看share memry  
  1. euler系统
多几个环境配置                
上一篇:polardb_consensus日志


下一篇:CentOS 安装 git 教程