【openGauss】在openEuler(ARM架构)上安装openGauss(一主一备)

news2024/11/16 7:27:09

一、系统版本介绍

当前案例中的openGauss安装,底层操作系统为openEuler-20.03-LTS版本,当前openGauss对Python版本兼容性最好的是Python 3.6版本与Python 3.7版本,该实验使用的openEuler版本自带Python 3.7.4,不需要再自行安装


二、修改系统配置(主备都需要配置)

1.更改python默认版本(默认是2.x,更改为3.x)

先使用以下命令查看当前系统默认Python版本与系统中的Python3版本,python -V查看的就是默认Python,如果不是3.x版本,需要将默认Python更改为Python3.x的版本

python -V
python3 -V

在这里插入图片描述

执行以下命令将默认Python版本更改为Python3.x版本

mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/bin/python3 /usr/bin/python

在这里插入图片描述

查看当前默认Python版本是否从Python2.x版本切换到了Python3.x版本

2.禁用SELINUX,状态值设置为disabled(重启操作系统生效)

SELINUX全称为Security Enhanced Linux (安全强化 Linux),是对系统安全级别更细粒度的设置。由于SELinux配置设置太严格,可能会与CM需要的功能相冲突。

vi /etc/selinux/config

在这里插入图片描述

3.关闭防火墙

安装过程需要在防火墙关闭情况下完成

systemctl stop firewalld
systemctl disable firewalld

在这里插入图片描述

4.关闭交换内存

关闭交换内存是为了避免数据交换到磁盘 IO 影响性能

swapoff -a

5.修改字符集为utf-8

echo export LANG=en_US.UTF-8 >> /etc/profile

6. 设置时区和时间

使用date命令查看各节点时间是否一致,如果一致就不需要更改,不一致需要配置成一样的
在这里插入图片描述
使用以下命令配置时区与时间

rm -fr /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date -R
hwclock

7.关闭RemoveIPC

默认RemoveIPC=yes,表示当用户退出时,会删除该用户的共享内存段和信号量。

echo RemoveIPC=no >> /etc/systemd/logind.conf
echo RemoveIPC=no >> /usr/lib/systemd/system/systemd-logind.service

重启服务刷新配置(更改完后需要重启服务器,所以可以不重启服务)

systemctl daemon-reload 
systemctl restart systemd-logind

8.注释欢迎语

设置允许root远程登录,openEuler 20.3中默认PermitRootLogin=yes是允许的,所以不需要更改。
修改 Banner 配置,去掉连接到系统,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行。

vi /etc/ssh/sshd_config

在这里插入图片描述

重启服务刷新配置(更改完后需要重启服务器,所以可以不重启服务)

systemctl restart sshd.service

9.关闭THP服务

THP(透明大页)功能会降低操作系统的IO性能,而且需要一定的CPU资源对大页碎片进行整理。

echo never >> /sys/kernel/mm/transparent_hugepage/defrag 
echo never >> /sys/kernel/mm/transparent_hugepage/enabled 
echo 'echo never >> /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local 
echo 'echo never >> /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local 
sh /etc/rc.d/rc.local

10.重启操作系统

SELINUX、THP服务的更改需要重启操作系统才生效

reboot

三、配置yum源,下载缺失的依赖包(主备都需要配置)

编辑yum源配置文件

cd /etc/yum.repos.d/
vi openEuler_x86_64.repo

将以下内容添加到repo文件中的末尾

[openEuler]
name=openEuler
baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/everything/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/everything/x86_64

当前实验源系统环境中不包含expect依赖包,需要自行安装

yum -y install expect --nogpgcheck

–nogpgcheck参数是为了不检查gpg,可以避免源key错误导致的安装失败
在这里插入图片描述


四、准备安装包(只需要在主节点执行)

1.创建安装目录

mkdir -p /opt/software/openGauss

2.解压all、om压缩包
在openGauss社区https://www.opengauss.org/zh/中下载安装包(下载arm架构对应的安装包)
在这里插入图片描述
然后将安装包上传到服务器中,在安装包存储在路径执行以下命令,将安装包解压在/opt/software/openGauss目录下

tar zxf openGauss-3.0.0-openEuler-64bit-all.tar.gz -C /opt/software/openGauss
cd /opt/software/openGauss
tar zxf openGauss-3.0.0-openEuler-64bit-om.tar.gz

3.准备配置文件clusterconfig.xml(/opt/software/openGauss目录下)

vi clusterconfig.xml

注意将nodeNames给为安装数据库的主机名,backIp1s是主机对应的IP
dataNode1参数需要将节点2的数据目录也配置上

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

五、初始化安装环境gs_preinstall(只需要在主节点执行)

1.更改目录权限

chmod -R 775 /opt/software
chmod -R 777 /opt/software/openGauss

2.初始化安装环境
进入om解压后得到的script目录中

cd /opt/software/openGauss/script
./gs_preinstall -U omm -G dbgrp -X ../clusterconfig.xml

在这里插入图片描述

注意omm用户是不存在的,如果用户存在需要初始化,否则会报错
安装成功如下图所示:
在这里插入图片描述


六、安装gs_install(只需要在主节点执行)

1.更改目录权限

初始化完成后,数据库安装路径权限会被重置为仅root用户可操作,需要重新更改目录权限(主备节点的目录都需要更改权限)

chmod -R 775 /opt/software
chmod -R 777 /opt/software/openGauss

2.切换到系统用户omm,使用omm安装

su omm
cd /opt/software/openGauss/script
./gs_install -X ../clusterconfig.xml

配置登录到数据库的密码(用户就是preinstall -U设置的omm)
在这里插入图片描述

如果出现以下报错是因为物理机内存过小,无法安装,需要重新配置内存
在这里插入图片描述

安装成功后如下所示(安装完成后会自动启动服务)
在这里插入图片描述


七、openGauss使用

1.启动服务

gs_om -t start

在这里插入图片描述

2.查看服务状态

gs_om -t status --detail

在这里插入图片描述

3.停止服务

gs_om -t stop

在这里插入图片描述

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

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

相关文章

零基础如何入门网络安全?2023年最新,建议收藏!

前言 最近收到不少关注朋友的私信和留言&#xff0c;大多数都是零基础小友入门网络安全&#xff0c;需要相关资源学习。其实看过的铁粉都知道&#xff0c;之前的文里是有过推荐过的。新来的小友可能不太清楚&#xff0c;这里就系统地叙述一遍。 01.简单了解一下网络安全 说白…

前端必会手写面试题合集

实现Event(event bus) event bus既是node中各个模块的基石&#xff0c;又是前端组件通信的依赖手段之一&#xff0c;同时涉及了订阅-发布设计模式&#xff0c;是非常重要的基础。 简单版&#xff1a; class EventEmeitter {constructor() {this._events this._events || ne…

电力系统IEEE33节点Simulink仿真研究(Matlab实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;主要研究方向是电力系统和智能算法、机器学…

arduino基本知识认识和学习资源

个人对ardunio的感觉 **像是一个模块化功能的单片机&#xff0c;编程时在单片机中就像python在计算机语言的感觉。**硬件方面的功能比较单一依赖于传感器和硬件电路&#xff1b;编程比较简单&#xff0c;所有执行的函数都已经被封装&#xff0c;所以想要成为第一个用这个库吃瓜…

【C语言刷题】猜名次、猜凶手、杨辉三角、杨氏矩阵、字符串左旋、判断是否为左旋子串

目录 一、猜名次 二、猜凶手 三、杨辉三角 解法一&#xff1a; 解法二 四、杨氏矩阵 解法一 解法二 五、字符串左旋 解法一 解法二 六、判断是否为字符串左旋字串 解法一 解法二 总结 一、猜名次 5位运动员参加了10米台跳水比赛&#xff0c;有人让他们预测比赛结果…

基于轻量级CNN开发构建学生课堂行为识别系统

其实早在之前&#xff0c;我的一些文章里面就有做过关于学生课堂行为检测识别的项目&#xff0c;感兴趣的话可以自行移步阅读&#xff1a;《yolov4-tiny目标检测模型实战——学生姿势行为检测》《基于yolov5轻量级的学生上课姿势检测识别分析系统》这些主要是偏目标检测类的项目…

Raft论文阅读

Raft 论文阅读 参考&#xff1a; Raft Paper 一文搞懂Raft算法 - xybaby Raft Demo Raft 实现汇总 Raft 为什么是更易理解的分布式一致性算法 空挡) Raft协议实现之etcd(一)&#xff1a;基本架构 Raft 协议 - buttercup 【raft】学习二&#xff1a;etcd/raft raft数据结构学…

第四十八讲:神州路由器IPv6静态路由配置

实验拓扑图如下所示 配置步骤&#xff1a; 步骤1&#xff1a;配置R1接口 R1_config#ipv6 unicast-routing //启用IPv6路由 R1_config#in g0/4 R1_config-_g0/4#ipv6 address 2001:10::1/64 //手工配置IPv6地址 R1_config-…

LInux背景【Linux】

一、技术推动社会发展的基本动力作为万物之长的人类&#xff0c;我们相较于其他的生物哪里是特殊的&#xff1f;举一个例子&#xff1a;老虎需要几千上万年进化来的爪子&#xff0c;人类可以在更短的时间内通过制造石矛石斧这类工具变可以模拟。通过这一个例子我们得出——人的…

python自学之《21天学通Python》(7)

第10章 Python进阶话题 10.1 函数与命名空间 Python中可以通过模块来管理复杂的程序&#xff0c;而将不同功能的函数分布在不同的模块中&#xff0c;那么函数及其全局命名空间决定了函数中引用全局变量的值。函数的全局命名空间始终是定义该函数的模块&#xff0c;而不是调用该…

java面试之Spring篇

一、Spring概述 1. Spring由哪些模块组成 spring core&#xff1a;提供了框架的基本组成部分&#xff0c;包括控制反转&#xff08;Inversion of Control&#xff0c;IOC&#xff09;和依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;功能。spring beans…

windows无线连接Linux服务器,实现终端操作与文件传输

0、建议安装完Ubuntu后按照百问网的设置安装必要的linux软件 执行&#xff1a; git clone https://e.coding.net/weidongshan/DevelopmentEnvConf.git cd DevelopmentEnvConf sudo ./Configuring_ubuntu.sh 等待安装完成&#xff0c;大约半个小时事件。 我搭建的环境 家…

git的使用

一、创建仓库 gitee官网创建好用户之后&#xff0c;我们点创建仓库。 选择好语言&#xff0c;开源许可证随便选一个即可&#xff0c;模板我们最好设置一个Readme文件&#xff0c;方便后面写明仓库的介绍。 分支模型我们新手选一个单分支模型就可以了。 因为仓库创建的时候只能…

Windows下Canal.admin-1.1.6安装部署

一、下载解压 1 下载 进入页面&#xff1a;Release v1.1.6 alibaba/canal GitHub 下载 canal.admin-1.1.6.tar.gz 2 解压 解压至目录&#xff1a;D:\Tools\canal.admin-1.1.6 二、创建数据库 canal_manager 1 创建时间数据库&#xff1a;canal_manager 2 初始化元数据…

并发编程学习案例-模拟抢红包

一、前言 再来系统动手学习一下Java并发编程。 知识点&#xff1a;CountDownLatch 的发令枪使用模式&#xff1b;红包均分&#xff0c;最后一个分不完的解决方法 抢红包的需求,每个红包均分&#xff0c;最后一个除外 1. 设置红包总额 2. 设置红包的个数 3. 模拟抢红包的人数 &a…

图文结合带你搞懂MySQL日志之relay log(中继日志)

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a; KAiTO文章来源&#xff1a;GreatSQL社区原创 什么是中继日志&#xff08;relay log&#xff09; 中继日志&a…

线程,协程,异步编程模型

线程,协程,异步编程模型 1.线程编程模型 我们知道线程是 cpu 调度的基本单位。 如果是一个单核的cpu, 而且现在有3个线程需要执行。那么可能是 线程 1, 2, 3 通过 cpu分片&#xff0c; 轮流执行。 那么 如果不将 cpu 进行分片&#xff0c; 而是 线程 1,2,3 轮流执行&#x…

Springboot中如何优雅的写好controller层代码

前言优雅&#xff1f;看到这个词&#xff0c;我第一反应是什么是优雅&#xff1f;怎么写才算优雅&#xff1f;一千个读者有一千个哈姆雷特&#xff0c;每个人的经验、阅历不同&#xff0c;也许理解就不同。我对优雅的理解很简单&#xff0c;就是简洁有效、容易理解&#xff0c;…

递归、迭代、单向快排的实现和两种优化方法

目录 快速排序 实现代码​​​​​​​ 时间复杂度 快排的优化 随机选择策略 三位取中法 非递归的快排 单向快排 快速排序 快速排序算法是基于分治策略的一个排序算法&#xff0c;其基本思想是对于输入的子数组进行分解、递归求解&#xff0c;最后合并。 分解&#xff…

Fiddler - 夜神模拟器证书安装App抓包

Fiddler- 夜神模拟器证书安装App抓包 文章目录Fiddler- 夜神模拟器证书安装App抓包前言一、软件安装1.Openssl安装1.1下载安装1.2配置环境变量1.3查看openssl版本&#xff0c;输入命令&#xff1a;openssl version2.夜神模拟器安装1.1 下载安装1.2工具准备&#xff0c;MT管理器…