概述
这次记录的opengaussDB 7.0 RC2 在centos 7.9的安装过程记录。这次只记录的单机情况的安装,记录于此也方便自己日后查看。
操作系统系统环境准备
依赖包安装
bash
yum -y groupinstall "Development tools"
yum install -y libaio-devel readline-devel expect libedit-devel libxml2-devel lz4-devel numactl-devel unixODBC-devel java-1.8.0-openjdk-devel openblas-devel python3-devel gcc gcc-c++ vim openssl openssl-devel patch glibc-devel ncurses-devel bison flex bzip2 bzip2-devel tar wget
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel zlib1g-dev expat-devel zlib* gcc* make*
防火墙,selinux 设置,主机名,软件限制,网卡的mtu 设置
bash
#防火墙设置
systemctl disable firewalld.service
systemctl start firewalld.service
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --zone=public --add-port=15400/tcp --permanent
firewall-cmd --zone=public --add-port=15000/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --zone=public --add-port=15432/tcp --permanent
firewall-cmd --reload
systemctl stop firewalld.service
#主机限制打开
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 unlimited
root hard nproc unlimited
omm hard nproc unlimited
omm soft nofile unlimited
root hard nofile unlimited
EOF
#主机名设置
cat >>/etc/hosts<<EOF
192.168.40.199 opengaussdb
EOF
#网卡设置
cat >> /etc/profile<<EOF
ifconfig ens32 mtu 8192
EOF
#ssh 设置
sed -i 's/^#Banner .*/Banner none/g' /etc/ssh/sshd_config
sed -i 's/^#PermitRootLogin .*/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/^#AllowTcpForwarding .*/AllowTcpForwarding yes/' /etc/ssh/sshd_config
systemctl restart sshd
#selinux 设置
sed -i 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config
#时区设置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
因数据库增加的参数
关闭透明大页
bash
#关闭透明大页
echo '
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag' >>/etc/rc.local
chmod +x /etc/rc.local
sed -i "s/quiet/quiet numa=off transparent_hugepage=never/g" /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg
关闭RemoveIPC
bash
cat >>/etc/systemd/logind.conf<<EOF
RemoveIPC=no
EOF
cat >>/usr/lib/systemd/system/systemd-logind.service<<EOF
RemoveIPC=no
EOF
linux 内核调整
bash
cat>> /etc/profile<<EOF
ifconfig ens32 mtu 8192
export LANG=en_US.UTF-8
export LD_LIBRARY_PATH=/opt/software/openGauss/script/gspylib/clib:$LD_LIBRARY_PATH
EOF
cat>>/etc/sysctl.conf<<EOF
fs.file-max = 2097152
net.ipv4.ip_local_port_range = 26000 65500
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.conf. ens33.rp_filter = 1
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
EOF
软件安装过程
bash
--groupadd -g 2048 dbgrp
--useradd -g dbgrp -G root -u 2048 omm
--echo "omm:Bigdata123@" | chpasswd
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/7.0.0-RC2/CentOS7/x86/openGauss-All-7.0.0-RC2-CentOS7-x86_64.tar.gz
mkdir -p /opt/openGauss/software/
tar -zxvf openGauss-All-7.0.0-RC2-CentOS7-x86_64.tar.gz -C /opt/openGauss/software/
cd /opt/openGauss/software/
tar -zxvf openGauss-OM-7.0.0-RC2-CentOS7-x86_64.tar.gz
cd script
/opt/openGauss/software/script/gs_checkos -i A -h opengaussdb -X /opt/openGauss/software/script/base_utils/template/cluster.xml --skip-item-num=A11 --detail
./gs_preinstall -U omm -G dbgroup --one-stop-install --sep-env-file=ENVFILE
pip install cryptography --verbose
pip3 install --upgrade pip setuptools wheel
pip3 install --user omm -m pip psutil
pip3 install --user omm -m pip cffi
pip3 install --user omm -m pip pycparser
pip3 install --user omm -m pip cryptography
pip3 install --user omm -m pip pynacl
pip3 install --user omm -m pip bcrypt
pip3 install --user omm -m pip paramiko
pip3 install --user omm netifaces
-----------------/opt/openGauss/install/tool/script/base_utils/template/cluster.xml
chown -R omm:dbgroup /opt/openGauss/
cd /opt/openGauss/software/script/
环境变量设置
bash
cat >> ~/.bashrc << 'EOF'
export PATH
export GAUSS_ENV=2
export GAUSSHOME=/opt/openGauss/install/app/
export GAUSSLOG=/opt/openGauss/install/log
export PATH=$GAUSSHOME/bin:$PATH
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PGHOST=192.168.40.199
export PGPORT=5432
export PGDATABASE=postgres
export PGUSER=omm
EOF
./gs_install -X /opt/openGauss/install/tool/script/base_utils/template/cluster.xml --gsinit-parameter="--encoding=UTF8" --dn-guc="max_connections=5000" --dn-guc="max_process_memory=10GB" --dn-guc="shared_buffers=512MB" --dn-guc="bulk_write_ring_size=512MB" --dn-guc="cstore_buffers=128MB"
gsql -h /opt/openGauss/install/tmp -ar
gs_guc reload -Z coordinator -N all -I all -h "host all all 0.0.0.0/0 sha256"
gs_ctl start -D /opt/openGauss/install/data/dn1
gs_ctl reload -D /opt/openGauss/install/data/dn1
一些运维小案例
bash
-q选项:使 得gsq1以安静的方式运行,只显示查询结果(了解)
-E选项:使gsq1在执行元命令的时候,显示其底层对应的SQL查询语句
\l 列出数据库集簇中所有数据库的名称、所有者、字符集编码以及使用权限等
\d 列出当前search_path中模式下所有的表、视图和序列
\db 列出所有可用的表空间
\dn 列出所有的模式(名称空间)
\du 列出所有数据库角色
\dt 列出数据库中的表
\di 列出所有的索引
\dv 列出所有的视图
\ds 列出所有的序列
\dp 列出权限信息
\d Tablename 列出表的详细信息
\d Indexname 列出索引的详细信息
\df 列出所有的函数
\sf 列出函数的定义
\timing 显示每条SQL语句的执行时间(以毫秒为单位)
\echo [string] 把字符串写到标准输出
\i file.sql 从文件FILE中读取内容,并将其当作输入,执行查询
\! os_command 执行操作系统命令
\? 查看gsql 的帮助命令
\h 查看SQL语法帮助
\conninfo 查询当前连接的数据库的信息
\c 更换连接的数据库和用户
\o file_name 把所有的查询结果发送到文件里
vim /opt/huawei/install/data/dn/postgresql.conf 搜索 password_encryption_type,去掉#注释,并设置值设为0
vim /opt/huawei/install/data/dn/postgresql.conf 搜索 listen_addresses,去掉前面的#,值设置值为*
关闭会话超时设置
sed -i "s/session_timeout = 10min/session_timeout = 0/g" /opt/huawei/install/data/dn/postgresql.conf
gs_om -t restart
select gs_index_advise()