银河麒麟高级服务器操作系统(全架构)OpenGauss 数据库部署手册

一、部署前准备工作

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 开源社区下载对应平台的安装包。

  1. 通过 openGauss 官方下载页面 登录 openGauss 开源社区,选择对应平台的极简版安装包。
  2. 单击“下载”。

二、部署步骤

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”。具体步骤如下:

  1. 使用vim编辑器打开/etc/selinux/config文件:

    vim /etc/selinux/config
    
  2. 修改“SELINUX”的值为“disabled”:

    SELINUX=disabled
    
  3. 保存并退出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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86316.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Boosting:从理论到实践——集成学习中的偏差征服者

核心定位&#xff1a;一种通过串行训练弱学习器、自适应调整数据权重&#xff0c;将多个弱模型组合成强模型的集成学习框架&#xff0c;专注于降低预测偏差。 本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千A…

Ubuntu下交叉编译工业相机库aravis到OpenHarmony(aarch64)使用

文章目录 下载交叉编译工具链安装meson编写交叉编译配置文件编译glib编译libiconv编译libxml2编译libusb&#xff08;暂时不编译&#xff0c;依赖的udev库我找不到&#xff09;编译Aravis使用 自行编译的库都统一放到一个地方去&#xff0c;这样引用时方便一些&#xff0c;比如…

深入理解互斥信号量(Mutex)在 FreeRTOS 中的使用与实现

在多任务操作系统中&#xff0c;任务间的同步和资源共享是至关重要的。为了避免多个任务同时访问共享资源&#xff0c;导致资源冲突和数据不一致&#xff0c;信号量&#xff08;Semaphore&#xff09; 是常用的同步机制。特别是在 FreeRTOS 中&#xff0c;互斥信号量&#xff0…

Liunx操作系统笔记2

Linux下的包/源管理命令&#xff1a;主要任务是完成在Linux环境下安装软件。 1.rpm 是最基础的rpm包的安装命令&#xff0c;需要提前下载相关安装包和依赖包。 2.yum/dnf是基于rpm包的自动安装命令&#xff0c;可以自动在仓库中匹配安装软件和依赖包。 3.光盘源 是指的 安装系统…

企业级RAG系统架构设计与实现指南(Java技术栈)

企业级RAG系统架构设计与实现指南&#xff08;Java技术栈&#xff09; 开篇&#xff1a;RAG系统的基本概念与企业应用价值 在当今快速发展的AI技术背景下&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09; 已成为构建智能问答、知识库管…

【Rust http编程】Rust搭建webserver的底层原理与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

4 Geotools坐标参考系与转换

在地理信息系统 (GIS) 开发中&#xff0c;坐标参考系统 (Coordinate Reference System, CRS) 是核心概念之一。无论是处理地图投影、坐标转换&#xff0c;还是在 Spring Boot 应用中管理空间数据&#xff0c;理解和正确使用 CRS 都至关重要。本文将围绕 GeoTools 库&#xff0c…

docker start mysql失败,解决方案

文章目录 1.查看端口占用情况2.关闭7767进程3.再次检查4.运行docker start mysql 1.查看端口占用情况 sudo netstat -tanlp | grep :33062.关闭7767进程 sudo kill -9 77673.再次检查 进程已关闭 4.运行docker start mysql 正确启动 备注&#xff1a;可能要关闭防火墙

SQL关键字三分钟入门:DELETE —— 删除数据

在数据库操作中&#xff0c;除了添加和修改记录外&#xff0c;我们有时还需要删除不需要的记录。例如&#xff1a; 清除不再使用的用户账号&#xff1b;删除已完成并归档的订单&#xff1b;移除测试时插入的数据。 这时候就需要用到 SQL 中非常基础但极其重要的关键字 —— D…

electron 全量更新

electron-builder.yml配置更新地址 # 配置自动更新的信息 publish:provider: generic # 更新服务提供者url: http://xxx.xxxx.com/pc/xxx-xx# 更新的地址服务器地址 会自动读取latest.yml 下的版本号比较 检测更新方法autoUpdater.js// src/main/autoUpdater.jsimport { app, d…

《大模型 Agent 应用实战指南》第2章:商业目标与 Agent 能力边界定义

在任何技术项目,特别是像大模型 Agent 这样具有创新性和复杂性的项目启动之初,明确清晰的商业目标是成功的基石。这不仅仅是技术团队的职责,更需要产品、运营、销售甚至高层管理者的深度参与。一个明确的目标能确保所有团队成员步调一致,资源有效分配,并最终衡量项目的成功…

提供稳定可靠的自助共享空间系统,支撑客户无人自助门店运营不错数据,历程感想

以技术产品研发系统为主&#xff0c;为客户提供自助共享空间系统解决方案&#xff0c;适用于共享棋牌室&#xff0c;共享麻将室&#xff0c;共享台球室&#xff0c;共享KTV&#xff0c;共享舞蹈室等场景&#xff0c;以下是其中一位客户真实门店运营数据&#xff0c;第一家店本月…

Golang单例实现

Go语言中&#xff0c;实现单例模式的方式有很多种。单例模式确保一个类只有一个实例&#xff0c;并提供一个全局访问点。Go语言没有类的概念&#xff0c;但是可以通过结构体、函数和包级变量来实现类似的功能。 懒汉实现 type Product interface {DoSomething() }type single…

JVM元空间(Metaspace)详解及其工作流程

JVM元空间(Metaspace)详解与工作流程分析 元空间概述 元空间(Metaspace)是Java虚拟机(JVM)在HotSpot VM 1.8及以后版本中引入的&#xff0c;用于替代永久代(PermGen)的内存区域。它主要存储类的元数据信息&#xff0c;包括&#xff1a; 类的结构信息&#xff08;如方法、字段…

【JAVA】idea中打成jar包后报错错误: 找不到或无法加载主类

排查步骤 首先要排查的是&#xff0c;将jar文件打开&#xff0c;查看里面的内容是否完整是否有META-INF/MANIFEST.MF是否有MANIFEST.MF里面类路径的目录排查路径里面是否有class文件&#xff0c;如主类 com.example.Main 对应的 class 文件应位于 com/example/Main.class 常见…

Fisco Bcos学习 - 开发第一个区块链应用

文章目录 一、前言二、业务场景分析&#xff1a;简易资产管理系统三、智能合约设计与实现3.1 存储结构设计3.2 接口设计3.3 完整合约代码 四、合约编译与Java接口生成五、SDK配置与项目搭建5.1 获取Java工程项目5.2 项目目录结构5.3 引入Web3SDK5.4 证书与配置文件 六、业务开发…

软件设计模式选择、判断解析-1

前言 解析是我个人的理解&#xff0c;相对来说我觉得是能对上定义的逻辑的 目录 一.单选题 1.设计模式的两大主题是(  )  解析&#xff1a;无 2.下列模式中,属于行为型模式的是&#xff08;&#xff09; 解析&#xff1a; 排除A和D&#xff0c;剩下的观察者的“观察”…

【编程基本功】Win11中Git安装配置全攻略,包含Git以及图形化工具TortoiseGit

1 摘要 今天田辛老师给大家带来了一份超实用的博客&#xff0c;手把手教你安装并配置 Git 及其图形化界面 TortoiseGit&#xff0c;从官网下载到最终完成配置&#xff0c;每一个步骤都给大家讲得明明白白&#xff0c;还配有相应的截图&#xff0c;即使是新手小白也能轻松上手&…

细谈QT信号与槽机制

转自个人博客 信号与槽是我个人认为QT中最牛的机制之一&#xff0c;最近没有其他的内容可写&#xff0c;今天就来细细总结一下这个信号与槽机制。 1. 信号与槽机制概述 信号与槽机制可以理解为QT中的一种通信手段&#xff0c;在运行相关代码前&#xff0c;分别声明信号和槽&a…

Docker Swarm 与 Kubernetes 在集群管理上的主要区别

Docker Swarm 和 Kubernetes 是两种流行的容器编排工具&#xff0c;它们都可以用于部署、管理和扩展容器化应用&#xff0c;但在集群管理方面有明显的差异。 下面从多个维度对比它们在集群管理上的主要区别&#xff1a; ✅ 一、总体定位 项目Docker SwarmKubernetes官方支持D…