Centos服务器Open Gauss 部署

2024-03-30 08:20

本文主要是介绍Centos服务器Open Gauss 部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近期很多的项目由于信创要求使用一些国产的数据库,比如OpenGauss。OpenGuass是华为高斯DB的开源版,内核还是PostgreSQL,商业版是收费的。这里记录一下是如何安装部署 的。

官方中文文档
官方下载地址

部署要求

  1. 操作系统要求
  • ARM:
    • openEuler 20.3LTS
    • 麒麟V10
    • Asianux 7.5
  • X86:
    • openEuler 20.3LTS
    • CentOS 7.6
    • Asianux 7.6

我使用的使用是Centos7.4

操作系统环境依赖安装

  1. 一般以来
yum repolist
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel bzip2  
  1. python3环境部署

OpenGauss的部署依赖于Python3的环境,我使用的Python3.6.10。下载地址

mkdir -p /opt/python3   	#(将python-3.6.10.tgz放入)
python -V				#查看当前python版本,centos默认为2.7版本
cd /opt/python3
tar xf Python-3.6.10.tgz					#解压软件包
cd  Python-3.6.10								#进入文件目录
./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC						#若报错就是没有安装gcc,yum install gcc(yum源配置里我加了gcc了)
make 
make install								#(进行python3的安装)
cd /usr/local				
ll						#(该目录下出现python3即安装完毕)
unlink /usr/bin/pythonln -s /usr/local/python3/bin/python3.6 /usr/bin/python   #(创建软连接)
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip
cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64
python -V  		#(此时python版本变为3.6)
yum repolist
#(更改了默认python版本的话,yum命令就用不了,因为yum文件是按照老版本的python2.7编译执行的,所以要将yum文件里面的第一行注释给定义到老版本的python2
vi /usr/bin/yum
#修改第一行python为python2
#此时yum恢复
yum repolist

创建文件夹

注意需要创建两个文件夹,一个用于放置部署文件,另一个空置

mkdir/home/openGauss   # 用于自动化部署到此位置
mkdir /home/open       # 后续安装文件解压到此目录,xml上传至此目录

创建用户组

创建OpenGauss默认的用户组,并给与这两个文件夹的权限

sudo groupadd dbgrp
sudo chgrp  -R  dbgrp  /home/openGauss
sudo chgrp  -R  dbgrp  /home/open

下载安装包

官方下载地址

注意只支持x86_64架构Centos系统

下载安装包

解压安装包

tar xvf /home/openGauss/openGauss-5.0.1-CentOS-64bit-all.tar.gz -C /home/open
cd /home/open
tar xvf openGauss-5.0.1-CentOS-64bit-om.tar.gz # 解压脚本工具

配置xml文件

配置之前,需要将服务器名称改了与xml中的一致。

hostnamectl set-hostname opengauss1

高斯数据库的部署,主要依赖与xml配置文件。我是参考官网文档配置的单实例,多实例的官网也有说明,注意替换自己的ip与服务器名称。

<?xml version="1.0" encoding="UTF-8"?>
<ROOT><!-- openGauss整体信息 --><CLUSTER><!-- 数据库名称 --><PARAM name="clusterName" value="dbCluster" /><!-- 数据库节点名称(hostname) --><PARAM name="nodeNames" value="opengauss1" /><!-- 数据库安装目录--><PARAM name="gaussdbAppPath" value="/home/openGaussGauss/app" /><!-- 日志目录--><PARAM name="gaussdbLogPath" value="/home/openGaussGauss/log" /><!-- 临时文件目录--><PARAM name="tmpMppdbPath" value="/home/openGauss/tmp" /><!-- 数据库工具目录--><PARAM name="gaussdbToolPath" value="/home/openGauss/om" /><!-- 数据库core文件目录--><PARAM name="corePath" value="/home/openGauss/corefile" /><!-- 节点IP,与数据库节点名称列表一一对应 --><PARAM name="backIp1s" value="192.168.0.14"/> </CLUSTER><!-- 每台服务器上的节点部署信息 --><DEVICELIST><!-- 节点1上的部署信息 --><DEVICE sn="node1_hostname"><!-- 节点1的主机名称 --><PARAM name="name" value="opengauss1"/><!-- 节点1所在的AZ及AZ优先级 --><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --><PARAM name="backIp1" value="192.168.0.14"/><PARAM name="sshIp1" value="192.168.0.14"/><!--dbnode--><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="15400"/><PARAM name="dataNode1" value="/home/openGauss/data/dn"/><PARAM name="dataNode1_syncNum" value="0"/></DEVICE></DEVICELIST>
</ROOT>

将xml保存为clusterconfig.xml,并上传至/home/open

执行预安装

cd /home/open/script/
./gs_preinstall -U omm -G dbgrp -X /home/open/clusterconfig.xml

注意安装过程中,会提示创建omm用户,让设置用户的密码。

一般都是会报python、或者文件权限的错误
预安装

正式安装

预安装成功后,最好再给一遍权限

chmod -R 775 /home/open
chmod -R 777 /home/openGauss

切换到omm用户,正式安装,安装过程中,会让设置一个长度不低于8位的密码

su omm
cd /home/open/script
./gs_install -X ../clusterconfig.xml
gs_om -t start # 启动数据库
gs_om -t status # 查看数据库状态
gs_om -t status  --detail # 查看详细数据库状态
gs_om -t stop # 关闭数据库

安装成功

最后查看安装文件,发现里面很多还都是postgresql的原文件

这篇关于Centos服务器Open Gauss 部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/860964

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技