opengauss 单机安装 centos 7.6

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.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系统
多几个环境配置
 
 
 
 
 
 
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值