openGauss

开源数据库

openGauss社区官网

开源社区

CentOS7.3安装openGauss1.0.1主备

13J43QKKKAA2021-01-29openGauss主备安装

CentOS7.3 安装 openGauss1.0.1 主备

1.硬件环境(最低配置)

用于安装 openGauss 的硬盘需最少满足如下要求:

至少 1GB 用于安装 openGauss 的应用程包。

每个主机需大约 300MB 用于元数据存储。

预留 70%以上的磁盘剩余空间用于数据存储。

CPU:功能调试最小 1×8 核 2.0GHz。

内存:2G

网络:300 兆以上以太网。

2.软件环境(两台机器都要做)

python3.7 的版本下载

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar -zxvf Python-3.7.1.tgz
mkdir /usr/local/python3
cd Python-3.7.1
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

检查软件依赖的包

rpm -qa libaio-devel flex bison ncurses-devel glibc-devel patch lsb_release readline-devel

安装软件依赖包

yum install libaio-devel flex bison ncurses-devel glibc-devel patch lsb_release readline-devel

3.操作系统相关设置(两台机器都要做)

1)操作系统参数设置

##添加如下参数:
cat>>/etc/sysctl.conf <<EOF
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
sysctl -p

2)关闭透明大页(transparent_hugepage)设置

cat >> /etc/rc.d/rc.local<<EOF
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

3)关闭防火墙及 SELINUX

systemctl status firewalld
systemctl disable firewalld.service
systemctl stop firewalld.service

4)修改/etc/selinux/config 文件中的“SELINUX”值为“disabled”

cat /etc/selinux/config | grep disabled

5)修改字符集

cat>> /etc/profile<<EOF
export LANG=en_US.UTF-8
EOF

#检查

cat /etc/profile | grep LANG

6)关闭 swap 交换内存

swapoff -a(重启失效)

4.安装规划主机名

ip 端口

Gauss1 ... 26000

Gauss2 ... 26000

5.用户名和密码

执行 gs_install 会创建和数据库一样的用户

6.软件安装(主库执行就行,从库会自动更新)

mkdir -p /opt/software/openGausschmod 755 -R /opt/softwaretar -zxvf openGauss-Package-bak_0bd0ce80.tar.gz

生成配置文件 clusterconfig.xml

执行安装预检测 export LD_LIBRARY_PATH=/opt/software/openGauss/script/gspylib/clib:$LD_LIBRARY_PATH root

用户执行 python3 /opt/software/openGauss/script/gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml Successfully set finish flag. Preinstallation succeeded.

执行数据库安装 omm 用户执行。

cd /opt/software/openGauss/script chmod -R 755 /opt/software/openGauss/script chown -R omm:dbgrp /opt/software/openGauss/script gs_install -X /opt/software/openGauss/clusterconfig.xml

Successfully started cluster.Successfully installed application.end deploy…安装成功。

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

ps -ef | grep gaussdb
gsql -d postgres -p 26000
ALTER ROLE omm IDENTIFIED BY ‘newpasswd’ REPLACE ‘oldpasswd’;

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

[omm@Gauss1 ~]$ gs_om -t status --detail[ Cluster State ]
cluster_state : Normalredistributing : Nocurrent_az : AZ_ALL
[ Datanode State ]
node node_ip instance state | node node_ip instance state
1 Gauss1 ***.***.***.*** 6001 /opt/huawei/install/opt/db1 P Primary Normal | 2 Gauss2 ***.***.***.*** 6002 /opt/huawei/install/opt/db1 S Standby Normal
gs_om -t start -启动
gs_om -t stop -停止

8.数据库卸载

gs_uninstall --delete-data

9.复制链接配置检查

postgres=# show replconninfo1;replconninfo1
localhost=***.***.***.*** localport=26001 localheartbeatport=26005 localservice=26004
remotehost=***.***.***.*** remotep(1 row)

10.检查日志传送线程状态

postgres=# \pset expanded
Expanded display is on.
postgres=# select * from pg_stat_get_wal_senders();
-[ RECORD 1 ]--------------±---------------------------------------------
pid | 140107453511424
sender_pid | 52184
local_role | Primary
peer_role | Standby
peer_state | Normal
state | Streaming
catchup_start | 2021-01-06 23:17:41.647524-05
catchup_end | 2021-01-06 23:17:41.653131-05
sender_sent_location | 0/30262D0
sender_write_location | 0/30262D0
sender_flush_location | 0/30262D0
sender_replay_location | 0/30262D0
receiver_received_location | 0/30262D0
receiver_write_location | 0/30262D0
receiver_flush_location | 0/30262D0
receiver_replay_location | 0/30262D0
sync_percent | 100%
sync_state | Async
sync_priority | 0
sync_most_available | Off
channel | ***.***.***.***:26001–>***.***.***.***:49386

11.查看日志接收线程

postgres=# \pset x
Expanded display is on.
postgres=# select * from pg_stat_get_wal_receiver();
-[ RECORD 1 ]--------------±---------------------------------------------
receiver_pid | 23823
local_role | Standby
peer_role | Primary
peer_state | Normal
state | Normal
sender_sent_location | 0/F026470
sender_write_location | 0/F026470
sender_flush_location | 0/F026470
sender_replay_location | 0/F026470
receiver_received_location | 0/F026470
receiver_write_location | 0/F026470
receiver_flush_location | 0/F026470
receiver_replay_location | 0/F026470
sync_percent | 100%
channel | ***.***.***.***:49480<–***.***.***.***:26001