GBase 8c GDCA培训认证【环境准备、安装】

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 等

其他相关资料:

2. 安装过程

  1. 检查了解环境
[root@ufo001 ~]# free -m
              total        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 -m
              total        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 daemon
   Loaded: 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.1
      port: 20001
      
dcs:
  - host: 172.16.144.1
    port: 2379
  - host: 172.16.144.2
    port: 2379
  - host: 172.16.144.3
    port: 2379
    
gtm:
  - gtm1:
      host: 172.16.144.1
      agent_host: 172.16.144.1
      role: primary
      port: 6666
      agent_port: 8001
      work_dir: /home/gbase/data/gtm/gtm1
      
coordinator:
  - cn1:
      host: 172.16.144.1
      agent_host: 172.16.144.1
      role: primary
      port: 5432
      agent_port: 8003
      work_dir: /home/gbase/data/coord/cn1

datanode:
  - dn1:
      - dn1_1:
          host: 172.16.144.2
          agent_host: 172.16.144.2
          role: primary
          port: 15432
          agent_port: 8005
          work_dir: /home/gbase/data/dn1/dn1_1
  - dn2:
      - dn2_1:
          host: 172.16.144.3
          agent_host: 172.16.144.3
          role: primary
          port: 20010
          agent_port: 8007
          work_dir: /home/gbase/data/dn2/dn2_1

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.0B76
  user: gbase
  port: 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 | Mike
  2 | John
(2 rows)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值