南大通用GBase 8c 多模多态分布式数据库系列二之安装与卸载

news2024/11/13 21:35:06

目录

一.前言

二. 学习目标

三. 安装流程

四. 配置要求

1. 硬件配置要求

2. 软件配置要求

3. 软件依赖配置

五. 集群规划

1. 物理规划

2. 演示环境配置

六. 安装前环境检查

1. 关闭防火墙

2. 关闭SELINUX

3. 主机名检查、依赖检查

4. Gbase用户配置sudo

七. 配置NTP时间同步

         1. 检查所有服务器上NTP的服务状态:

2. 配置NTP主节点,通常是 GTM 主节点。

3. 配置NTP从节点(192.168.56.201,192.168.56.202)

4. 启动NTP服务

5.  查看NTP同步情况

八. 配置SSH免密互信

         1. 在所有节点创建 gbase 用户的.ssh 目录,并授权(很重要)

         2. 生成密钥文件(一直按回车即可)

         3. 将公钥文件上传至所有节点即可实现免密登陆,包括本节点(此操作需输入密码)

         4. ssh命令验证

九. 解压安装包、配置yml及执行安装

1. GBase 8c 安装包获取

2. 上传安装包至虚拟机 

3. 解压

4. 安装部署:配置gbase.yml文件 

5. 数据库状态查询

十. 数据库的停止

十一. 数据库的卸载

十二. 常见问题

NTP服务未处于正常运行状态

安装数据库时报错显示错误码:80000201:Run cmd failed:%s

安装过程中,报错显示80000301:Transport endpoint unreach

缺失依赖文件

系统参数问题

 su - gbase:权限不够


一.前言

  感谢南大通用提供的GBase 8c GDCA 认证培训课程。本文旨在记录学习心得和分享传播国产分布式数据库。欢迎感兴趣的伙伴自行前往公众号“南大通用培训中心”、官网https://www.gbase.cn去了解产品、参与GBase学堂培训课程。

二. 学习目标

  • 了解 GBase 8c 分布式数据库架构,熟悉分布式部署流程

  8C数据库基本介绍见此文:南大通用GBase 8c 多模多态分布式数据库系列一之基本介绍、核心技术、架构演进-CSDN博客

  • 掌握分布式集群的安装和卸载操作
  • 能够自行解决安装过程中的常见问题

三. 安装流程

 安装前准备:

  安装好虚拟机工具 Virtualbox;

  安装三个CentOS 的虚拟机环境(GBase培训团队提供了:CentOS 7.9操作系统的镜像文件。该镜像操作系统安装了必要的组件、关闭了防火墙和 selinux,安装了 ntp 组件,节省了安装操作系统和配置的时间)。

  具体操作见链接,建议新手初次安装时严格按照课前准备要求使用官方提供的虚拟操作系统,节省时间并减少安装过程中可能出现的错误。

GBase 8c GDCA 认证培训课前准备|天津南大通用数据技术股份有限公司

安装前检查:

 

四. 配置要求

1. 硬件配置要求

 

  在实际个人学习时,如果个人电脑本身就<=8G内存,可以设置虚拟机内存为4G,甚至是2G(会出现卡顿,但可以忍受),否则当同时运行3台8G内存的虚拟机,电脑会出现死机、黑屏(内存严重不足)、无法进行安装步骤等问题。

  同时,设置共享粘贴板和拖放为双向,用于复制命名、拖拽上传安装文件。

2. 软件配置要求

 

3. 软件依赖配置

 

五. 集群规划

1. 物理规划

  在此次学习例子中,设置如下物理规划。

  • 每个节点node对应一台虚拟主机。
  • 每台虚拟服务器上都有自己的DCS(集群状态管理器:管理各整个集群各节点的高可用状态 )。
  • 选取一台主机作为gha_server(高可用状态管理器:存储各节点的高可用状态,负责在故障情况下判断集群各个节点状态并进行状态切换)。
  • gtm(全局事务管理器:负责生成并维护全局时间戳,保证集群数据一致性)只在非gha_server节点上部署,node1为主,node2为备。
  • 因为数据节点dn1和dn2分别在节点2和节点3上,所以对应的的协调器Coordinator也未愈node2和node3上。且不分主备。
  • 数据节点dn的dn1位于node2,dn2主位于node3,dn2的备节点位于node1。

  以本次三台虚拟机的ip为192.168.200,192.168.201,192.168.202为例。熟悉下图IP对应的节点类型,在各步骤配置时有助于理解。

节点/主机包含节点类型主机IP
Node1(8ch1)GHA Server、DCS、GTM主、DN2备192.168.56.200
Node2(8ch1)DCS、GTM备、CN1、DN1主192.168.56.201
Node1(8ch1)DCS、CN2、DN2主192.168.56.202

2. 演示环境配置

 

六. 安装前环境检查

 注:从GBase 8c GDCA 认证培训课前准备下载的虚拟机CentOS7.9,已经安装了必要的组件、关闭了防火墙和 selinux,安装了 ntp 组件。

1. 关闭防火墙

查看防火墙状态:systemctl status firewalld

2. 关闭SELINUX

3. 主机名检查、依赖检查

 

4. Gbase用户配置sudo

  1. 在所有节点创建 gbase 组和用户(牢记密码)。:密码至少是3种字符(大小写字符、数字、特殊符号)且大于八位的组合。

  2. 编辑 /etc/sudoers 文件,执行命令:visudo。
    添加如下内容(红框标注),将 gbase 用户添加至 sudoer 列表。
  3. 配置完成后,切换为 gbase 用户身份。执行命令:su - gbase。推荐使用 - 在切换用户时。原因如链接。这么多年linux白用了,到现在才知道su和su -的区别

  4. 后续数据库安装配置操作无需 root 用户。  

七. 配置NTP时间同步

1. 检查所有服务器上NTP的服务状态:

  执行命令:sudo systemctl status ntpd.service 

• 若显示active (running),则表示服务正在运行。

若未处于正常运行,启动服务并与 NTP 服务器同步:

2. 配置NTP主节点,通常是 GTM 主节点。

  本次用例主节点为192.168.56.200,在主机上编辑配置文件:vim /etc/ntp.conf,修改后并“:wq”保存退出。

 注释掉以下四行。

3. 配置NTP从节点(192.168.56.201,192.168.56.202)

以192.168.56.201为例,在主机192.168.56.202上配置原理一样。

4. 启动NTP服务

  启动ntp服务,执行命令:sudo systemctl start ntpd.service

  使ntp服务开机自运行,执行命令:sudu systemctl enable ntpd.service

  查看状态,执行命令:sudo systemctl status ntpd.service

如果成功开启,则显示:

如果未开启,则显示: 

如果显示以下红色文字,则可能没有注释掉上文要求的四行文字:

5.  查看NTP同步情况

    执行命令:ntpstat

    NTP主节点应返回

 

    其他节点应返回

 

注意:

  NTP 服务器配置完毕后,需要等待 5~20 分钟才能完成时间同步,如果在配置后提示 unsynchronised time server re-starting polling server every 8 s 或 unsynchronised polling server every 8 s 均属正常,等待一段时间再次执行 ntpstat 命令查看即可。

八. 配置SSH免密互信

1. 在所有节点创建 gbase 用户的.ssh 目录,并授权(很重要)

  执行命令:mkdir ~/.ssh chmod 700 ~/.ssh

 

2. 生成密钥文件(一直按回车即可):

  执行命令:ssh-keygen -t rsa

 

3. 将公钥文件上传至所有节点即可实现免密登陆,包括本节点(此操作需输入密码)

  执行命令:ssh-copy-id gbase@hostip

  在每一个主机(200,201,202),都执行以下语句:目的是每一台主机都和自己,包括另外两台主机互信(共9次)。第一次弹出的对话框输入yes,然后输入密码即可。每次添加成功密钥,出现number of key(s) added :1

  • ssh-copy-id gbase@192.168.56.200
  • ssh-copy-id gbase@192.168.56.201
  • ssh-copy-id gbase@192.168.56.202

4. ssh命令验证

  在任意节点主机,例如192.168.56.200,执行 ssh 192.168.56.200ssh gbase@192.168.56.201ssh gbase8c_2。gbase8c_2是201主机的hostname。可实现免密登陆即视为成功。若提示输入密码,则视为不成功

九. 解压安装包、配置yml及执行安装

1. GBase 8c 安装包获取

  安装包下载链接:GBase 8c V5(兼容Oracle)|下载中心

2. 上传安装包至虚拟机 

  将下载后的压缩包GBase8cV5_S3.0.0_分布式版_x86_64,解压为:GBase8cV5_S3.0.0B78_centos7.8_x86_64.tar.gz,然后将此.tar.gz上传至虚拟机主节点,位于gbase用户下/home/gbase/gbace_package目录下。

3. 解压

  执行命令:cd /home/gbase/gbace_package

  执行命令:tar -xvf GBase8cV5_S3.0.0B78_centos7.8_x86_64.tar.gz

  得到下面四个文件:


  继续解压OM安装包:tar -xvf GBase8cV5_S3.0.0B78_centos7.8_x86_64_om.tar.gz

  得到下列文件:

4. 安装部署:配置gbase.yml文件 

  在/gbase_package目录下执行:vim gbase.yml

host由数据面节点(CN、DN)访问连接的 IP 
port集群节点连接端口
agent_host由控制面访问连接的IP 
role节点角色类型,gtm、cn、dn节点 必须设置的参数
agent_port高可用端口号
work_dir节点数据存放路径
cluster_type集群类型,分布式下参数值为multiple-nodes 
pkg_path安装目录。owner为gbase
prefix运行目录。owner为gbase。
version安装包版本,仅修改后两位数字

  根据第五步的集群物理规划,本次实例中的gbase.yml文件应为(仅修改不一样的地方,删除不需要的节点设置):

gha_server:
  - gha_server1:
      host: 192.168.56.200
      port: 20001
dcs:
  - host: 192.168.56.200
    port: 2379
  - host: 192.168.56.201
    port: 2379
  - host: 192.168.56.202
    port: 2379
gtm:
  - gtm1:
      host: 192.168.56.200
      agent_host: 192.168.56.200
      role: primary
      port: 6666
      agent_port: 8001
      work_dir: /home/gbase/data/gtm/gtm1
  - gtm2:
      host: 192.168.56.201
      agent_host: 192.168.56.201
      role: standby
      port: 6666
      agent_port: 8002
      work_dir: /home/gbase/data/gtm/gtm2
coordinator:
  - cn1:
      host: 192.168.56.201
      agent_host: 192.168.56.201
      role: primary
      port: 5432
      agent_port: 8003
      work_dir: /home/gbase/data/coord/cn1
  - cn2:
      host: 192.168.56.202
      agent_host: 192.168.56.202
      role: primary
      port: 5432
      agent_port: 8004
      work_dir: /home/gbase/data/coord/cn2
datanode:
  - dn1:
      - dn1_1:
          host: 192.168.56.201
          agent_host: 192.168.56.201
          role: primary
          port: 15432
          agent_port: 8005
          work_dir: /home/gbase/data/dn1/dn1_1
  - dn2:
      - dn2_1:
          host: 192.168.56.202
          agent_host: 192.168.56.202
          role: primary
          port: 20010
          agent_port: 8007
          work_dir: /home/gbase/data/dn2/dn2_1
          # numa:
          #   cpu_node_bind: 0,1
          #   mem_node_bind: 0,1
      - dn2_2:
          host: 192.168.56.200
          agent_host: 192.168.56.200
          role: standby
          port: 20010
          agent_port: 8008
          work_dir: /home/gbase/data/dn2/dn2_2
          # numa:
          #   cpu_node_bind: 2
          #   mem_node_bind: 2
env:
  # cluster_type allowed values: multiple-nodes, single-inst, default is multiple-nodes
  cluster_type: multiple-nodes
  pkg_path: /home/gbase/gbase_package
  prefix: /home/gbase/gbase_db
  version: V5_S3.0.0B78
  user: gbase
  port: 22
# constant:
#   virtual_ip: 100.0.1.254/24

进入gbase_package下的 script 子目录,执行 gha_ctl install 命令来安装分布式集群。

成功界面如下:

 注:

(1)因主机的性能不同,该安装过程可能持续几分钟甚至十几分钟,请耐心等待,不要关闭窗口。

(2)安装过程中保证三台主机都在开机状态,安装时需要拷贝安装文件到另外两台机器(此时ssh免密互信就发挥了功能)

(3)保证虚拟机主机不占用过多系统内存以免死机、黑屏。

(4)安装失败,去检查ssh互信,检查.ssh文件是否为700权限,

5. 数据库状态查询

执行:gha_ctl monitor all -H -l http://192.168.56.200

语法格式:

 结果如下:

十. 数据库的停止

在主节点(192.168.56.200)停止所有节点的集群服务
$ gha_ctl stop all -l http://10.168.10.70:2379

十一. 数据库的卸载

  1.在部署机上(通常为 GTM 主节点:192.168.56.200)。
  执行$ cd /home/gbase/ script ,$  gha_ctl uninstall 命令卸载集群。

  语法格式:

  2.卸载DCS集群,执行 gha_ctl destroy dcs 命令。参数同上。
  语法格式:
  3. 示例:
  执行: gha_ctl uninstall -c gbase -l http://192.168.56.200:2379
  执行: gha_ctl destroy dec -l http://192.168.56.200:2379

十二. 常见问题

NTP服务未处于正常运行状态

安装数据库时报错显示错误码:80000201:Run cmd failed:%s

 

安装过程中,报错显示80000301:Transport endpoint unreach

缺失依赖文件

 
安装过程中提示:无法exec:没有那个文件或目录
安装过程中提示:/home/gbase/script/../venv/bin/python3: 没有那个文件或目录
解决办法:根据提示,安装依赖文件。例如:yum -y install bzip2
 

系统参数问题

执行 sudo vim /etc/sysctl.conf,配置系统内核参数(红框标注,根据机器稍作修改),避免信号量
不足无法初始化。

 su - gbase:权限不够

问题如下:

 

解决办法如下:

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

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

相关文章

科研闭环指南|关于 Review Rebuttal 的二三事

两个月前投稿的论文审稿&#xff08;Review&#xff09;意见快下来了&#xff0c;期间我也是作为审稿人&#xff08;Reviewer&#xff09;完成了4篇工作的审稿工作。回想自己从入学以来也算是审过 10 篇左右的稿子了&#xff0c;也参与过 Review 之后的 Rebuttal 环节。下面我就…

思维决定发展,软件测试人也不例外

最近特别懒&#xff0c;不想码字&#xff0c;原本写作就很差&#xff0c;更是退化严重。社招和校招面试过很多人&#xff0c;从十年前自己还很弱的时候学着面试&#xff0c;到数百次面试积累之后&#xff0c;面对候选人的时候&#xff0c;我的内心依然有些许紧张&#xff0c;非…

《Reinforcement Learning: An Introduction》第5章笔记

Chapter 5 Monte Carlo Methods Monte Carlo 方法不假设拥有完备的环境知识&#xff0c;它仅仅需要经验–从与环境的实际或模拟交互中得到的一系列的状态、动作、和奖励的样本序列。 Monte Carlo方法是基于平均采样回报的来解决强化学习问题的方法。 5.1 Monte Carlo Predic…

NFS服务器

文章目录 NFS服务器NFS的由来与功能什么是NFS(Network File System)什么是RPC(Remote Procedure Call)NFS启动的RPC daemons NFS Server 端的配置所需要的软件NFS的软件结构/etc/exports配置文件的语法与参数 启动NFSRPC服务的注册状况怎么查看(rpcinfo) NFS的连接查看showmoun…

认识服务器

1、查看操作系统的信息 CentOS 输入&#xff1a;cat /etc/os-release 字段含义解释NAME操作系统名称CentOS LinuxVERSION操作系统版本7 (Core)ID操作系统标识centosID_LIKE相关操作系统标识rhel fedoraVERSION_ID操作系统版本号7PRETTY_NAME可读性较好的操作系统名称CentOS L…

产品如何有效把控产品上线质量

很多人乍看这个标题&#xff0c;可能有些惊讶。产品上线质量不是由测试来主要负责的么&#xff0c;怎么产品也需要来把控这个事情&#xff1f; 诚然&#xff0c;从具体分工而言&#xff0c;产品的线上质量主要由测试来负责&#xff0c;产品按时按量完成由项目项目经理把控。但…

详谈数据中心网络中的四种虚拟化技术:VXLAN、NVGRE、STT和SPBM

概要 在现代的数据中心网络中&#xff0c;虚拟化技术被广泛应用以提供更高的可扩展性、灵活性和效率。数据中心网络虚拟化允许多个虚拟网络在共享的物理基础设施上运行&#xff0c;使得网络资源的管理更为简单和高效。本文将详细介绍数据中心网络中的四种不同类型的虚拟化技术&…

全网超全,接口测试用例设计——常见问题和风险,测试不背锅...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 接口测试用例设计…

【开源工具】使用Whisper提取视频、语音的字幕

这里写目录标题 一、语音转字幕操作步骤1、下载安装包Assets\WhisperDesktop.zip[^2]2、加载模型2.1 下载模型2.1.1 进入Hugging Face[^3]的仓库2.1.2 选择需要下载的模型2.1.3 配置模型路径 3、语音转字幕4、实时语言转录功能 二、相关简介[^1]特点开发人员指南构建说明其他注…

【MySql】表的内连接和外连接

文章目录 内连接外连接左外连接右外连接 OJ题目 本篇博客主要介绍的内容是表的连接&#xff0c;在MySql中表的连接分为内连接和外连接&#xff0c;下面&#xff0c;我们直接进入主题把 内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选&#xff0c;我们前…

Ubuntu Win10 github.com访问很慢的解决办法

win10 请看这里&#xff1a; 解决国内 github.com 打不开的最最最准确方法_github打不开_杨大脸I的博客-CSDN博客 Ubuntu 请看这里: 看了上面的就应该知道&#xff0c; 需要两步骤&#xff1a;1、修改host文件&#xff1b;2、刷新DNS 1、修改host文件 Ubuntu修改hosts文件_ub…

PySpark集群环境安装(HA-Standalone模式)

PySpark是Python中的一个库, 由Spark官方提供. 专供用户使用Python语言操作Spark 1. 首先安装python环境 基于anaconda的虚拟环境方案&#xff0c;来安装python。因为anaconda可以虚拟出多个Python环境, 且各个环境相对独立&#xff0c;能够解决python版本的兼容性问题 1.1 …

Rust的特征对象

文章目录 Rust的特征对象前言在屏幕上绘制各种UI组件 Rust的特征对象 前言 特征对象不像泛型和impl trait这种零成本抽象&#xff0c;特征对象是在runtime时确定具体类型&#xff0c;有一定的性能开销。当我们需要函数参数是一类实现了特定trait的类型时&#xff0c;这时候就…

4个Camtasia2023隐藏新功能,99%的人都不知道!

在今年5月&#xff0c;全能录屏软件 Camtasia 迎来了2023新版&#xff0c;带来非常多新功能&#xff0c;让制作录屏视频的效果再上一层楼&#xff01;所有购买过旧版 Camtasia 的老用户&#xff0c;都可以享受优惠升级。 Camtaisa 获取&#xff1a; http://souurl.cn/YWkrO7 更…

【Java高级语法】(六)内部类Inner Class:这可能是史上最全的关于内部类的学习资料~

Java高级语法详解之包装类 :one: 概念:two: 优缺点:three: 使用2.1 成员内部类2.2 局部内部类2.3 匿名内部类2.4 静态内部类2.5 小结&#xff1a;外部类访问四种内部类的特点2.6 小结&#xff1a;其他类访问四种内部类的特点 :four: 内部类与外部类的关系:five: 应用场景:six: …

云贝餐饮连锁独立版 v2.6.1+公众号+小程序端+抖音端端+全插件免授权版安装配置教程

云贝餐饮系统应该持续做好多年了&#xff0c;以前的版本都需要授权一直没使用&#xff0c;优选源码网整体测试下感觉从体验上还有逻辑设计上都非常不错&#xff0c;首页、会员中心支持DIY装修&#xff0c;配送支持多种平台对接&#xff0c;基本上餐饮行业需要的功能都能满足了。…

收件地址解析成 省+市+区+详细地址的形式

项目中的源代码在我的GitHub&#xff1a;https://github.com/weitw/address-analyzer 先看效果&#xff1a; 如上图&#xff0c;address数输入的地址&#xff0c;Address对象是解析后的地址。可以支持逆推上一级&#xff0c;且支持地址白话解析。 一、项目介绍 1、解析规则 …

13年测试老鸟,带你详探服务端的接口测试,测试内卷之路...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 服务器的接口测试…

Tinywebserver项目运行(docker部署mysql)

. 运行项目运行时遇到的一些其他问题重启mysql容器时发现端口被占用 前言 Tinywebserver是github上一个十分优秀的开源项目&#xff0c;帮助初学者学习如何搭建一个服务器. 本文讲述如何在使用docker部署mysql容器的情况下跟该项目进行连接并将项目运行起来&#xff0c;而不是…

萌萌哒的八戒1

拿到了一个图片&#xff0c;根据图片下方的字符&#xff0c;结合远古时期这个提示&#xff0c;想到了古典密码里的猪圈密码 挨个输入得到when the pig want to eat,套上flag