GBase 8c GDCA培训认证【环境准备、安装】
创始人
2025-05-31 08:23:41

1. 环境准备

相关配置要求如下:

  • 配置:内存16G以上(最好16G),硬盘 20G以上,固定IP地址和mac地址;镜像包(Centos7.9)下载,root 账户密码6个1:111111(推荐);各节点IP是同一网段,并互相能连通;关闭防火墙、关闭seLinux服务

  • 安装包和镜像下载: https://blog.csdn.net/wiserhowe/article/details/128833346

  • 连接linux的工具(任意一个即可)
    Putty、Xshell、SecureCRT、SecureFX 等

其他相关资料:

  • 《GBase 8c GDCA 认证培训课前准备课前准备》
    https://blog.csdn.net/wiserhowe/article/details/128833346

  • 《GBase 8c V5 分布式集群版安装示例》
    https://blog.csdn.net/wiserhowe/article/details/126725440

  • 《GBase 学习资料》
    https://edu.gbase.cn/page/2355055?navIndex=4

2. 安装过程

  1. 检查了解环境
[root@ufo001 ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:          15362         385       14610           0         366       14713
Swap:             0           0           0
[root@ufo001 /]# df  -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  7.5G     0  7.5G   0% /dev
tmpfs          tmpfs     7.6G     0  7.6G   0% /dev/shm
tmpfs          tmpfs     7.6G  540K  7.6G   1% /run
tmpfs          tmpfs     7.6G     0  7.6G   0% /sys/fs/cgroup
/dev/vda1      ext4       40G  2.1G   36G   6% /
tmpfs          tmpfs     1.6G     0  1.6G   0% /run/user/0
  1. 针对内存 4G 的节点,需要增加 8G SWAP 才能安装成功(此处,内存16G,其实不需要加 8G SWAP)
# 创建 8G 的 Swap 文件
[root@ufo001 /]# dd if=/dev/zero of=/etc/swapfile bs=1024 count=8192000
8192000+0 records in
8192000+0 records out
8388608000 bytes (8.4 GB) copied, 41.2087 s, 204 MB/s# 制作为 Swap 文件
[root@ufo001 /]# mkswap /etc/swapfile
Setting up swapspace version 1, size = 8191996 KiB
no label, UUID=52381280-e69b-4701-963a-32b5254d0544# 令 Swap 文件生效
[root@ufo001 /]# swapon /etc/swapfile
swapon: /etc/swapfile: insecure permissions 0644, 0600 suggested.# 查看当前SWAP
[root@ufo001 /]# swapon -s
Filename			Type		Size    	Used    	Priority
/etc/swapfile		file    	8191996 	0       	-2# 自动挂载,追加 /etc/swapfile swap swap defaults 0 0
[root@ufo001 /]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Feb  8 02:15:09 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=627df7a6-36cf-4152-ac9c-326dc141c9a2 /                       ext4    defaults        1 1
/etc/swapfile swap swap defaults 0 0# 查看创建好的 SWAP,已经增长了 8G
[root@ufo001 /]# free -mtotal        used        free      shared  buff/cache   available
Mem:          15362         390        6376           0        8595       14643
Swap:          7999           0        7999
  1. 集群服务配置(三个节点,按照上述步骤安装三台机器)
IP账号密码节点角色
172.16.144.1root######gha_server(高可用服务)、dcs(分布式配置存储)、gtm(全局事务管理)、coordinator(协调器)
172.16.144.2root######datanode(数据节点) 1
172.16.144.3root######datanode(数据节点) 2
  1. 确保集群每个节点的防火墙是关闭的
# 如果系统提示以下信息说明防火墙已被禁用
[root@ufo001 ~]# systemctl status firewalld.service
firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)# 如果防火墙没有关闭,则执行
# systemctl stop firewalld.service
# systemctl disable firewalld.service
# 以上两条命令关闭防火墙并禁止防火墙开机自启动
  1. 确保每个节点的 SELINUX 是关闭的
# 如果系统提示以下信息说明 selinux 已被禁用
[root@ufo001 ~]# sestatus
SELinux status:                 disabled# 如果 SELINUX 没有关闭,需要编辑当前节点的 selinux 配置文件。
# 将 SELINUX 关键字的值修改为 disabled,存盘退出,
[root@ufo001 ~]# vim /etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted# 重启操作系统,生效
[root@ufo001 ~]# shutdown -r
  1. 重新设置主机名
# 三个节点重新设置主机名
[root@ufo001 ~]# hostnamectl set-hostname ufo001
[root@ufo002 ~]# hostnamectl set-hostname ufo002
[root@ufo003 ~]# hostnamectl set-hostname ufo003# 配置三个节点的 IP 主机名映射
# 编辑三个节点的 hosts 文件
[root@ufo001 ~]# vim /etc/hosts
# 将以下三行信息追加到 hosts 文件中172.16.144.1    ufo001  ufo001
172.16.144.2    ufo002  ufo002
172.16.144.3    ufo003  ufo003
  1. 创建集群安装用户(每个节点都需要执行)
[root@ufo001 ~]# useradd gbase
[root@ufo001 ~]# passwd gbase
Changing password for user gbase.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.[root@ufo001 ~]# visudo
root    ALL=(ALL)       ALL
gbase   ALL=(ALL)       NOPASSWD:ALL

注意:个别操作系统,经过以上的设置后,gbase 用户执行 sudo 命令时,第一次还是有密码提示。需要有以下补救措施:

# root 账户下进入 /etc/sudoers.d/ 目录
cd /etc/sudoers.d/
# 生成新文件 gbase
vim gbase
# 添加如下信息后,存盘即可:
gbase ALL=(ALL) NOPASSWD:ALL
  1. 集群之间创建互信(每个节点都需要执行)

参考:https://blog.csdn.net/qq_42226855/article/details/112691157

[gbase@ufo001 ~]$ mkdir ~/.ssh
[gbase@ufo001 ~]$
[gbase@ufo001 ~]$ chmod 700 ~/.ssh
[gbase@ufo001 ~]$
[gbase@ufo001 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/gbase/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/gbase/.ssh/id_rsa.
Your public key has been saved in /home/gbase/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:d654ol43lMWPxNLtp+U5rIpQhVACkEINxhy/Q0TziOY gbase@ufo001
The key is randomart image is:
+---[RSA 2048]----+
|+===o..o..       |
|.++o+   o .+ .   |
| o.+ .   ...* .  |
|o . .     .= +   |
| E o    S.+ o o o|
|    .   .o o  .=.|
|       .. o . .+.|
|       .oooo  . .|
|     .o..+....   |
+----[SHA256]-----+[gbase@ufo001 ~]$ echo 'StrictHostKeyChecking no' >> ~/.ssh/config; echo 'UserKnownHostsFile ~/.ssh/known_hosts' >> ~/.ssh/config; chmod 644 ~/.ssh/config
[gbase@ufo001 ~]$ ssh-copy-id gbase@172.16.144.1
[gbase@ufo001 ~]$ ssh-copy-id gbase@172.16.144.2
[gbase@ufo001 ~]$ ssh-copy-id gbase@172.16.144.3
  1. 系统时间同步设置(每个节点都有操作,即时钟同步)

参考:https://blog.csdn.net/lixiangchibang/article/details/116422775


[root@ufo001 ~]# vim /etc/ntp.conf
# Access Control Support
restrict    default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap nopeer noquery
restrict 172.16.0.0 mask 255.240.0.0 nomodify notrap nopeer noquery
restrict 100.64.0.0 mask 255.192.0.0 nomodify notrap nopeer noquery
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap nopeer noquery
# local clock
server 127.127.1.0
fudge  127.127.1.0 stratum 10[root@ufo002 ~]# vim /etc/ntp.conf
# local clock
server 172.16.144.1
fudge  172.16.144.1 stratum 10[root@ufo003 ~]# vim /etc/ntp.conf
# local clock
server 172.16.144.1
fudge  172.16.144.1 stratum 10# CentOS 版本不同,启动方式不同
# 启动NTP服务
sudo service ntpd start 
# 设置 NTP 服务开机自启
sudo chkconfig ntpd on 
  1. 上传安装包
# 使用的 Putty 工具,上传安装包到所有节点,目录 /home/gbase/gbase_package
C:\Users\zhaoyuntao>pscp C:\Users\zhaoyuntao\Desktop\GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz gbase@47.99.146.16:/home/gbase/gbase_package/
gbase@47.99.146.16's password:
GBase8cV5_S3.0.0B76_cento | 262299 kB | 1847.2 kB/s | ETA: 00:00:00 | 100%[gbase@ufo001 gbase_package]$ scp GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz gbase@172.16.144.2:/home/gbase/gbase_package/
GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz                                                                100%  256MB 186.0MB/s   00:01[gbase@ufo001 gbase_package]$ scp GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz gbase@172.16.144.3:/home/gbase/gbase_package/
GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz [gbase@ufo001 gbase_package]$ tar xvf GBase8cV5_S3.0.0B76_centos7.8_x86_64.tar.gz
GBase8cV5_S3.0.0B76_CentOS_x86_64_om.sha256
GBase8cV5_S3.0.0B76_CentOS_x86_64_om.tar.gz
GBase8cV5_S3.0.0B76_CentOS_x86_64_pgpool.tar.gz
GBase8cV5_S3.0.0B76_CentOS_x86_64.sha256
GBase8cV5_S3.0.0B76_CentOS_x86_64.tar.bz2[gbase@ufo001 gbase_package]$ tar xvf GBase8cV5_S3.0.0B76_CentOS_x86_64_om.tar.gz
...
  1. 编辑部署相关的配置文件(仅操作管理节点)

注意:配置文件中的缩进一定要对齐,否则后边执行安装会读取文件报错

[gbase@ufo001 gbase_package]$ vim /home/gbase/gbase_package/gbase.yml
gha_server:- gha_server1:host: 172.16.144.1port: 20001dcs:- host: 172.16.144.1port: 2379- host: 172.16.144.2port: 2379- host: 172.16.144.3port: 2379gtm:- gtm1:host: 172.16.144.1agent_host: 172.16.144.1role: primaryport: 6666agent_port: 8001work_dir: /home/gbase/data/gtm/gtm1coordinator:- cn1:host: 172.16.144.1agent_host: 172.16.144.1role: primaryport: 5432agent_port: 8003work_dir: /home/gbase/data/coord/cn1datanode:- dn1:- dn1_1:host: 172.16.144.2agent_host: 172.16.144.2role: primaryport: 15432agent_port: 8005work_dir: /home/gbase/data/dn1/dn1_1- dn2:- dn2_1:host: 172.16.144.3agent_host: 172.16.144.3role: primaryport: 20010agent_port: 8007work_dir: /home/gbase/data/dn2/dn2_1env:# cluster_type allowed values: multiple-nodes, single-inst, default is multiple-nodescluster_type: multiple-nodespkg_path: /home/gbase/gbase_packageprefix: /home/gbase/gbase_dbversion: V5_S3.0.0B76user: gbaseport: 22
# constant:
# virtual_ip: 100.0.1.254/24
  1. 执行安装(主节点)
[gbase@ufo001 ~]$ cd /home/gbase/gbase_package/script
[gbase@ufo001 script]$ ./gha_ctl install -c gbase -p /home/gbase/gbase_package
{"ret":-1,"msg":"Host localhost install or upgrade dependency {'bzip2': None, 'libaio': None} failed!  Host 172.16.144.2 install or upgrade depende                   ncy {'bzip2': None, 'libaio': None} failed!  Host 172.16.144.3 install or upgrade dependency {'bzip2': None, 'libaio': None} failed!  "
}
# 安装报错,缺少依赖包
[root@ufo001 sudoers.d]# yum install bzip2 -y
[root@ufo001 sudoers.d]# yum install libaio -y# 如下所示,安装成功
[gbase@ufo001 script]$ ./gha_ctl install -c gbase -p /home/gbase/gbase_package
{"ret":0,"msg":"Success"
}
  1. 节点状态检查
[gbase@ufo001 script]$ ./gha_ctl monitor -l http://172.16.144.1:2379
{"cluster": "gbase","version": "V5_S3.0.0B76","server": [{"name": "gha_server1","host": "172.16.144.1","port": "20001","state": "running","isLeader": true
...或[gbase@ufo001 script]$ ./gha_ctl monitor -l http://172.16.144.1:2379 -H
+----+-------------+--------------+-------+---------+--------+
| No |     name    |     host     |  port |  state  | leader |
+----+-------------+--------------+-------+---------+--------+
| 0  | gha_server1 | 172.16.144.1 | 20001 | running |  True  |
+----+-------------+--------------+-------+---------+--------+
+----+------+--------------+------+---------------------------+---------+---------+
| No | name |     host     | port |          work_dir         |  state  |   role  |
+----+------+--------------+------+---------------------------+---------+---------+
| 0  | gtm1 | 172.16.144.1 | 6666 | /home/gbase/data/gtm/gtm1 | running | primary |
+----+------+--------------+------+---------------------------+---------+---------+
+----+------+--------------+------+----------------------------+---------+---------+
| No | name |     host     | port |          work_dir          |  state  |   role  |
+----+------+--------------+------+----------------------------+---------+---------+
| 0  | cn1  | 172.16.144.1 | 5432 | /home/gbase/data/coord/cn1 | running | primary |
+----+------+--------------+------+----------------------------+---------+---------+
+----+-------+-------+--------------+-------+----------------------------+---------+---------+
| No | group |  name |     host     |  port |          work_dir          |  state  |   role  |
+----+-------+-------+--------------+-------+----------------------------+---------+---------+
| 0  |  dn1  | dn1_1 | 172.16.144.2 | 15432 | /home/gbase/data/dn1/dn1_1 | running | primary |
| 1  |  dn2  | dn2_1 | 172.16.144.3 | 20010 | /home/gbase/data/dn2/dn2_1 | running | primary |
+----+-------+-------+--------------+-------+----------------------------+---------+---------+
+----+--------------------------+--------+---------+----------+
| No |           url            |  name  |  state  | isLeader |
+----+--------------------------+--------+---------+----------+
| 0  | http://172.16.144.3:2379 | node_2 | healthy |   True   |
| 1  | http://172.16.144.2:2379 | node_1 | healthy |  False   |
| 2  | http://172.16.144.1:2379 | node_0 | healthy |  False   |
+----+--------------------------+--------+---------+----------+

3. 数据库的启动与停止

  • 停止数据库服务
[gbase@ufo001 script]$ ./gha_ctl stop all -l http://172.16.144.1:2379
{"ret":0,"msg":"Success"
}
  • 启动数据库服务
[gbase@ufo001 script]$ ./gha_ctl start all -l http://172.16.144.1:2379
{"ret":0,"msg":"Success"
}

4. 数据库卸载

在主节点(172.16.144.1)执行以下命令即可:

# 停止所有节点的集群服务:
[gbase@ufo001 script]$ ./gha_ctl stop all -l http://172.16.144.1:2379
{"ret":0,"msg":"Success"
}
# 集群程序的卸载:
[gbase@ufo001 script]$ ./gha_ctl uninstall -l http://172.16.144.1:2379
{"ret":0,"msg":"Success"
}
# 移除 dcs 集群:
[gbase@ufo001 script]$ ./gha_ctl destroy dcs -l http://172.16.144.1:2379
{"ret":0,"msg":"Success"
}

5. 数据库连接与测试

在主节点(172.16.144.1)执行。

[gbase@ufo001 script]$ gsql -d postgres -p 5432
gsql ((multiple_nodes GBase8cV5 3.0.0B76 build 47948f99) compiled at 2023-02-27 16:04:20 commit 0 last mr 1232 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.postgres=#
postgres=#
postgres=# create database testdb;
CREATE DATABASE
postgres=# create table student(ID int, Name varchar(10));
CREATE TABLE
postgres=# insert into student values(1, 'Mike'),(2,'John');
INSERT 0 2
postgres=# select * from student;id | name 
----+------1 | Mike2 | John
(2 rows)

相关内容

热门资讯

如何解除迅雷安全模式,迅雷怎样... 如何解除迅雷安全模式目录如何解除迅雷安全模式迅雷怎样解除安全模式迅雷VIP尊享版怎么解除安全模式?迅...
感谢朋友圈留言句子,适合发朋友... 感谢朋友圈留言句子目录感谢朋友圈留言句子适合发朋友圈表达感谢的句子20句发朋友圈的感谢短语有哪些?有...
关于韩娱的小说有没有什么好看的... 关于韩娱的小说有没有什么好看的目录关于韩娱的小说有没有什么好看的求好看的韩娱小说有没有好看的韩娱小说...
什么是表面粗糙度(什么是表面粗... 本篇文章极速百科给大家谈谈什么是表面粗糙度,以及什么是表面粗糙度?它对零件的使用性能有什么影响?对应...
永远用英语怎么说,“永远”除了... 永远用英语怎么说目录永远用英语怎么说“永远”除了“forever”的英文翻译~~还有哪些
少年音怎么练,怎么配出清爽的少... 少年音怎么练目录少年音怎么练怎么配出清爽的少年音?怎么学正太音少年音,像是龙马啊、镜音连啊不二啊那种...
情侣之间的爱称有哪些,情侣称呼... 情侣之间的爱称有哪些目录情侣之间的爱称有哪些情侣称呼有创意的爱称情侣之间好听的称呼都有什么?情侣爱称...
共享汽车怎么租车 极速百科网 ... 共享汽车怎么租车目录共享汽车怎么租车共享汽车怎么租车gofun出行有人开吗?使用方法是什么?共享汽车...
Python应用之爬虫基础:r... 引言 在生活中,大家都使用过浏览器,通过输入要搜索的内容以及鼠标点击等操...
jsp医疗辅助诊断管理系统se... 一、源码特点      JSP医疗辅助诊断管理系统是一套完善的java web信息管理系统ÿ...
db19密钥库和加密 创建密钥库ENCRYPTION_WALLET_LOCATION =(SOURCE =...
开局之年是什么意思(开局之年之... 本篇文章极速百科给大家谈谈开局之年是什么意思,以及开局之年之后是什么年对应的知识点,希望对各位有所帮...
抖音gga什么意思(抖音gg是... 本篇文章极速百科给大家谈谈抖音gga什么意思,以及抖音gg是什么意思对应的知识点,希望对各位有所帮助...
DMZ是什么(防火墙的dmz是... 今天给各位分享DMZ是什么的知识,其中也会对防火墙的dmz是什么进行解释,如果能碰巧解决你现在面临的...
风行SX6Sx6后视镜加热打不... 本篇文章极速百科给大家谈谈风行SX6Sx6后视镜加热打不开,以及东风风行sx6反光镜多少钱对应的知识...
CKA-17 Check Da... 文章目录Issue summary:Useful comment:1. 创建场景1.1...
elasticsearch的入... 目录一.数据聚合1.聚合的种类2.DSL实现聚合2.1.Bucket聚合语法2.2.聚合结果排序2....
成都男子误入停车场51秒收费8... 本篇文章极速百科给大家谈谈成都男子误入停车场51秒收费8元,属于乱收费吗,以及成都停车费贵对应的知识...
城市的路灯系统是如何控制开灯和... 本篇文章极速百科给大家谈谈城市的路灯系统是如何控制开灯和熄灯时间的?,以及路灯咋调制,路灯的时控开关...
对抗雾霾的有效方法(对抗雾霾的... 本篇文章极速百科给大家谈谈对抗雾霾的有效方法,以及对抗雾霾的有效方法英语作文对应的知识点,希望对各位...
Kubernetes集群 服务... Kubernetes集群 服务暴露 Traefik 一、认识traefik1.1 traefik简介...
广汽菲克Jeep指南者真实油耗... 本篇文章极速百科给大家谈谈广汽菲克Jeep指南者真实油耗多少,以及广汽菲克jeep指南者真实油耗多少...
关于OpenResty+dou... 关于OpenResty+doujiang24/lua-resty-kafka写入kafka故...
STM32产品命名规则,系统结... 产品系列 STM32系列芯片是由意法半导体(ST Microelectronics&...
souho(搜猴浏览器下载) ... 今天给各位分享souho的知识,其中也会对搜猴浏览器下载进行解释,如果能碰巧解决你现在面临的问题,别...
什么是金棘末(金棘末什么危害)... 今天给各位分享什么是金棘末的知识,其中也会对金棘末什么危害进行解释,如果能碰巧解决你现在面临的问题,...
徐州周边100公里自驾游景点(... 本篇文章极速百科给大家谈谈徐州周边100公里自驾游景点,以及徐州周边100公里自驾游景点有哪些对应的...
帮帮侠热评:盲人被撞前一秒被公... 本篇文章极速百科给大家谈谈帮帮侠热评:盲人被撞前一秒被公交司机拉回,以及盲人被撞前1秒被公交司机拉回...
【教程】使用ChatGPT制作... 目录 描述 代码 效果 说明 描述         给ChatGPT的描述内容: ...
centos7安装mysql5... centos7安装mysql5.7.40 1.先去下载安装包 下载地址 Tip:使用迅雷下载会快一点...