一、部署前准备工作
1. 环境检查
项目 | 配置描述 |
---|---|
内存 | 功能调试建议 32GB 以上。性能测试和商业部署时,单实例部署建议 128GB 以上。复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。 |
CPU | 功能调试最小 1×8 核,2.0GHz。性能测试和商业部署时,建议 1×16 核,2.0GHz。CPU 超线程和非超线程两种模式都支持。说明:个人开发者最低配置 2 核 4G,推荐配置 4 核 8G。目前,openGauss仅支持ARM服务器和基于x86_64通用PC服务器的CPU。 |
硬盘 | 用于安装 openGauss 的硬盘需最少满足如下要求:至少 1GB 用于安装 openGauss 的应用程序。每个主机需大约 300MB 用于元数据存储。预留 70%以上的磁盘剩余空间用于数据存储。建议系统盘配置为 RAID1,数据盘配置为 RAID5,且规划 4 组 RAID5 数据盘用于安装 openGauss。有关 RAID 的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中 Disk Cache Policy 一项需要设置为 Disabled,否则机器异常掉电后有数据丢失的风险。openGauss 支持使用 SSD 盘作为数据库的主存储设备,支持 SAS 接口和 NVME 协议的 SSD 盘,以 RAID 的方式部署使用。 |
网络 | 要求 300 兆以上以太网。建议网卡设置为双网卡冗余 bond。有关网卡冗余 bond 的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。 |
2. 获取部署包
从 openGauss 开源社区下载对应平台的安装包。
- 通过 openGauss 官方下载页面 登录 openGauss 开源社区,选择对应平台的极简版安装包。
- 单击“下载”。
二、部署步骤
1. 解压 openGauss
使用普通用户登录到 openGauss 包安装的主机,解压 openGauss 压缩包到安装目录(假定安装目录为/opt/software/openGauss
,请用实际值替换)。
cd /usr/local/
mkdir openGauss
tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /usr/local/openGauss
2. 安装依赖包
yum -y install gcc gcc-c++ make cmake bison flex libtool-ltdl-devel numactl-devel openssl-devel libtirpc-devel libaio-devel readline-devel expect
3. 基础环境配置
3.1 关闭 Selinux
修改/etc/selinux/config
文件中的“SELINUX”值为“disabled”。具体步骤如下:
使用
vim
编辑器打开/etc/selinux/config
文件:vim /etc/selinux/config
修改“SELINUX”的值为“disabled”:
SELINUX=disabled
保存并退出
vim
编辑器:
按“Esc”键盘退出文本编辑模式,再输入“:wq
”保存退出。
3.2 关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
3.3 关闭 swap
swapoff -a //临时关闭
sudo sed -i '/\bswap\b/s/^/#/' /etc/fstab //永久关闭
3.4 设置字符集参数
将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile
文件中添加“export LANG=xxx
”(其中xxx
为 Unicode 编码)。
cat >> /etc/profile <<EOF
export LANG=en_US.UTF-8
EOF
source /etc/profile
3.5 设置时区和时间
将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/
目录下的时区文件拷贝为/etc/localtime
文件。
cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime
注:$地区/$时区
为需要设置时区的信息,例如:Asia/Shanghai
。
3.6 关闭 RemoveIPC
修改/etc/systemd/logind.conf
文件中的“RemoveIPC”值为“no”。
vim /etc/systemd/logind.conf
RemoveIPC=no
修改/usr/lib/systemd/system/systemd-logind.service
文件中的“RemoveIPC”值为“no”。
vim /usr/lib/systemd/system/systemd-logind.service
RemoveIPC=no
重新加载配置参数。
systemctl daemon-reload
systemctl restart systemd-logind
检查修改是否生效。
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
3.7 关闭 HISTORY 记录
vim /etc/profile
HISTSIZE=0
source /etc/profile
3.8 一站式 xml 安装文件生成
tar -zxvf openGauss-OM-6.0.0-openEuler20.03-aarch64.tar.gz
cd script
./gs_preinstall -U omm -G dbgroup --one-stop-install --sep-env-file=ENVFILE
其中--sep-env-file
是环境分离时使用,如果不使用环境分离,可以去掉该参数;targetDir
为包解压后的保存路径;omDir
为 OM 包解压后的保存路径。
执行后,首先程序会根据本地的默认字符集,程序根据配置的语言设置会显示对应语言的导航栏,在导航栏选择使用哪种语言来进行下面的安装(支持中文和英文)。
可以通过如下命令来查看本地操作系统的语言设置:
echo $LANG
如果系统显示值包含“en_US”,则导航栏为英文。
Please choose whether to generate an XML file with one click navigation in English or Chinese?
>> 1) chinese
2) english
如果系统显示值包含“zh_CN”,则为中文语言,导航栏会显示中文内容。否则,您可以执行如下命令修改语言设置为中文:
export LANG=zh_CN.UTF-8
请选择是英文还是中文导航一键式生成 xml 文件?
>> 1) 中文
2) 英文
请输入 xml 的路径和文件名(默认为./cluster.xml
)。
输入的 xml 文件路径如果存在,会对判断该输入是否有非法字符,是否是文件,当前用户是否有权限;如果输入 xml 文件路径不存在,那么不会判断;默认生成的cluster.xml
文件默认会在解压包路径下script/base_utils/template/cluster.xml
。
请输入数据库安装目录(默认为/opt/openGauss/install
)。
输入的数据库安装目录如果存在,会判断该目录是否有非法字符,是否是一个空目录,当前用户是否有权限操作;如果目录不存在,那么不会判断。
请输入数据库端口(默认为 15000)。
数据库端口在 1024-65535 之间,并且输入必须是数字。
请选择是否主备部署。
可以选在主备部署或单机部署。如果单机部署,默认会将本地 ip 和 hostname 写入 xml 中,后面的流程跳过;如果主备部署,继续后面的流程。
请选择是否部署资源池化。
选择部署或不部署资源池化,如果部署,默认会部署 CM;如果不部署,继续后面的流程。
请选择是否部署 CM。
选择部署 CM 或不部署 CM。
请输入 cmserver 端口(默认:15400)。
输入的端口在 1024-65535 之间,必须是数字,不能和上面配置的数据库的端口重复,并且 cm 端口和数据库端口距离至少间隔 10。
请输入节点数量,最多支持一主八备,即 9 个节点(默认是一主两备,3 个节点)。
输入节点数量在 1-9 之间,必须是数字。
请输入主机节点 IP 和节点名称(如:192.168.0.1 hostname1;192.168.0.2 hostname2
)。
输入的节点 ip 和名称,首先数量必须一致,ip 和 hostname 之间用空格分隔,每一组 ip hostname 之间用分号分隔;其次输入的 ip 不能重复。
生成的 xml 路径是/xxx/script/base_utils/template/cluster.xml
。
默认生成的 xml 路径是script/base_utils/template/cluster.xml
。
请输入 ssh 端口(默认为 22):
输入的端口除了默认的 22 端口,自定义的端口在 1024-65535 之间,必须是数字;多个节点之间端口号不一样用逗号分隔。如:22,2222
;端口号一样,直接输入一个即可,如:22
。
xml 的内容
请确认 xml 的内容是否正确,正确输入 yes;如需修改 xml 内容,需自行修改,然后输入 yes 确认。
生成的 xml 首先需确认下是否正确,如果正确输入 y 或 yes 继续后面的流程;如果不正确,需重新开一个窗口直接修改生成的 xml,修改完毕,回到当前窗口,输入 y 或 yes 继续下面的流程。
4. 安装 OpenGauss
执行安装脚本:
cd /usr/local/opengauss/script/
source ENVFILE
gs_install -X /usr/local/opengauss/script/base_utils/template/cluster.xml
5. 验证安装
连接访问功能测试:
gsql -d postgres -p 15000
SELECT * FROM pg_user;
DROP USER remote_user CASCADE; -- 删除用户及依赖
CREATE USER liwei PASSWORD 'Sidev@0591';
GRANT CONNECT ON DATABASE postgres TO liwei;
GRANT USAGE ON SCHEMA public TO liwei;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO liwei;
gsql -d postgres -p 15000 -h 127.0.0.1 -U liwei
修改监听为本机全部:
vi /opt/openGauss/install/data/dn1/postgresql.conf
listen_addresses = '*' -- 监听所有地址
6. 重启数据库
gs_ctl restart -D /opt/openGauss/install/data/dn1/