- 1 介绍
- —1.1 安装流程
- —1.2 配置要求
- —1.3 集群规划
- 2 环境准备
- —2.1 节点软硬件配置
- —2.2 集群服务配置(三个节点)
- —2.3 确保集群每个节点的防火墙关闭
- —2.4 确保每个节点的 SELINUX 关闭
- —2.5 三个节点重新设置主机名
- —2.6 配置三个节点的 IP 主机名映射
- —2.7 检查软件依赖
- — 2.8 检查是否支持 rdtscp指令集
- 3 集群安装
- —3.1 每个节点都要创建 DBA 用户
- —3.2 添加gbase 用户至sudoer 列表
- —3.3 配置gbase用户ssh互信
- —3.4 配置系统时间同步
- —3.5 使用 SSH 工具上传安装包
- —3.6 解压安装包
- —3.7 开始安装
- ——3.7.1 编辑集群部署文件 gbase8c.yml
- ——3.7.2 执行安装脚本
- ——3.7.3 节点状态检查
- 4 数据库启停
- 5 卸载
- 6 连接和 SQL 测试
- 7 常见问题
- —7.1 NTP服务未处于正常运行状态
- —7.2 安装数据库时报错显示错误码:80000201:Run cmd failed:%s
- —7.3 安装过程中,报错显示80000301:Transport endpoint unreach
- —7.4 缺失依赖文件
- —7.5 系统参数问题
- —7.6 安装报错:Failed to start instance. Error: Please check the gs_ctl log for failure details.
- —7.7 安装:Failed to initialize instance
- —7.8 安装:两个节点成功,一个节点失败
- —7.9 安装:端口被占用
- —7.10 安装: "The content of file /home/gbase/version.cfg is not correct
- —7.11 安装:包的版本号和 gbase.yml 的 version 不一致
- —7.12 80000201 Resource:gbase already in use
- —7.13 安装:80000107 Resource:gbase already in use
- —7.14 安装:80000116 Rpc request failed:Coordinator cnl start failed'
- —7.15 安装:80000116 Rpc request failed:Rpc request failed:Start pg failed
- —7.16 安装:80000116 Rpc request failed:Can not find gtm master, prestart all nodes failed
- —7.17 安装:su - gbase bash: /home/gbase/.bash profile: 权限不够
- —7.18 安装:su gbase 后,home/gbase/.bashrc:权限不够
- —7.19 安装:The current 0S rhel is not supported.
- —7.20 执行 bash: gsql: 未找到命令
- —7.21 执行:Failed to connect /home/gbase/gbase_db/tmp:5432
- —7.22 执行:ERROR: Installation node group is not defined in current cluster
1 介绍
—1.1 安装流程
GBase 8c 是 GBASE公司(天津南大通用数据技术股份有限公司)自主研发的一款多模多态的企业级分布式数据库:支持行存、列存、内存等多种存储模式;支持单机、主备式、分布式等多种部署形态。
GBase 8c 具备高性能、高可用、弹性伸缩、高安全性等特性,可以部署在物理机、虚拟机、容器、私有云和公有云,为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。
本文讲解集群版安装部署步骤、卸载、连接测试。属于入门级别的实操课程。


—1.2 配置要求



—1.3 集群规划


2 环境准备
—2.1 节点软硬件配置
☆ 针对内存 4G 的节点,需要增加 8G SWAP 才能安装成功。具体步骤:
① 创建 8G 的 Swap 文件
# dd if=/dev/zero of=/etc/swapfile bs=1024 count=8192000
② 制作为 Swap 文件
# mkswap /etc/swapfile
③ 令 Swap 文件生效
# swapon /etc/swapfile
④ 查看当前SWAP
# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	1048572	59840	-2
/etc/swapfile                          	file	8191996	3148	-3
⑤ 自动挂载
编辑/etc/fstab,将以下行追加到文件末尾
/etc/swapfile swap swap defaults 0 0
⑥ 查看创建好的 SWAP,已经增长了 8G
# free -m
              total        used        free      shared  buff/cache   available
Mem:           3770        1660         117        1740        1992         138
Swap:          9023          61        8962
⑦提前检查下端口,避免安装的时候冲突。
------- 常用的默认端口 20001、2379、6666、5432、15432、20010等
netstat -ntlp
—2.2 集群服务配置(三个节点)
node1(10.0.0.15) GHA Server(高可用服务)、DCS(分布式配置存储)、GTM主(全局事务管理),DN2备 node2(10.0.0.16) DCS、GTM备、CN1(协调器)、DN1主 node3(10.0.0.17) DCS、CN2、DN2主
—2.3 确保集群每个节点的防火墙关闭
(1) 检查每个节点的防火墙状态
# 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)
(2) 如果防火墙没有关闭,则执行
# systemctl stop firewalld.service
# systemctl disable firewalld.service
以上两条命令关闭防火墙并禁止防火墙开机自启动。
—2.4 确保每个节点的 SELINUX 关闭
(1) 检查每个节点的 SELINUX 状态
# sestatus
如果系统提示以下信息说明 selinux 已被禁用
SELinux status: disabled
(2) 如果 SELINUX 没有关闭,需要编辑当前节点的 selinux 配置文件
# vi /etc/selinux/config
SELINUX=enforcing
将 SELINUX 关键字的值修改为 disabled,存盘退出,执行
# shutdown -r
重启操作系统。
—2.5 三个节点重新设置主机名
[root@gbase05 ~]# hostnamectl set-hostname gbase8c_1
[root@gbase06 ~]# hostnamectl set-hostname gbase8c_2
[root@gbase07 ~]# hostnamectl set-hostname gbase8c_3
—2.6 配置三个节点的 IP 主机名映射
编辑三个节点的 hosts 文件
# vi /etc/hosts
将以下三行信息追加到 hosts 文件中
10.0.0.15 gbase8c_1
10.0.0.16 gbase8c_2
10.0.0.17 gbase8c_3
—2.7 检查软件依赖
检查每个节点bison、flex、patch、bzip2 依赖是否安装:rpm -q bison flex patch bzip2

— 2.8 检查是否支持 rdtscp指令集
cat /proc/cpuinfo | grep rdtscp
• 显示以下信息,表示支持rdtscp指令集。

• 若不支持,请参考对应CPU型号官网资料,安装rdtscp指令集。
3 集群安装
—3.1 每个节点都要创建 DBA 用户
# useradd gbase
# passwd gbase
—3.2 添加gbase 用户至sudoer 列表
三个节点都要执行如下操作——
# visudo
打开 sudoer 配置文件,找到 “root ALL=(ALL) ALL” 行,在下方增加
“gbase ALL=(ALL) NOPASSWD:ALL”
## Allow root to run any commands anywhere root ALL=(ALL) ALL gbase ALL=(ALL) NOPASSWD:ALL
完成 sudoer 配置后,数据库安装就可以用 gbase 用户了。本文使用的安装包是不能在 root 账户下安装的。
个别操作系统,经过以上的设置后,gbase 用户执行 sudo 命令时,第一次还是有密码提示。需要有以下补救措施:
(1) root 账户下进入 /etc/sudoers.d/ 目录
# cd /etc/sudoers.d/
(2) 生成新文件 gbase:
# vi gbase
添加如下信息后,存盘即可:
gbase ALL=(ALL) NOPASSWD:ALL
—3.3 配置gbase用户ssh互信
每个节点都要执行以下命令——
(1) 切换到 gbase 用户下
# su - gbase
(2) 创建秘钥目录和必要的授权
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
(3) 生成秘钥文件(连续回车即可)
$ ssh-keygen -t rsa
(4) 将公钥文件上传至其他节点即可实现免密登录:
此操作需输入 gbase 的密码,所有节点都要执行——
$ ssh-copy-id gbase@10.0.0.15
$ ssh-copy-id gbase@10.0.0.16
$ ssh-copy-id gbase@10.0.0.17
$ echo 'StrictHostKeyChecking no' >> ~/.ssh/config;
$ echo 'UserKnownHostsFile ~/.ssh/known_hosts' >> ~/.ssh/config;
$ chmod 644 ~/.ssh/config
不需要输入密码即可登录,表明配置互信成功。
—3.4 配置系统时间同步

(1) 检查所有服务器上 NTP 服务的状态:sudo systemctl status ntpd.service
(2) 主安装节点(10.0.0.15)作为 server执行# vim /etc/ntp.conf
打开 NTP 服务配置文件,修改如下:
# Permit all access over the loopback interface. This could # be tightened as well, but to do so would effect some of # the administrative functions. restrict 10.0.0.15 nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 # Hosts on local network are less restricted. restrict 10.0.0.255 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 127.127.1.0 Fudge 127.127.1.0 stratum 10
ntp.conf 文件存盘退出后,执行
$ sudo service ntpd start # 启动NTP服务
$ sudo chkconfig ntpd on # 设置 NTP 服务开机自启
(3) 修改数据节点一(10.0.0.16)NTP 配置
执行
# vi /etc/ntp.conf
打开 NTP 服务配置文件,修改如下:
# Permit all access over the loopback interface. This could # be tightened as well, but to do so would effect some of # the administrative functions. restrict 10.0.0.16 nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 # Hosts on local network are less restricted. restrict 10.0.0.255 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 10.0.0.15 Fudge 10.0.0.15 stratum 10
ntp.conf 文件存盘退出后,执行
$ sudo service ntpd start # 启动NTP服务
$ sudo chkconfig ntpd on # 设置 NTP 服务开机自启
(4) 修改数据节点二(10.0.0.17)NTP 配置
执行
# vi /etc/ntp.conf
打开 NTP 服务配置文件,修改如下:
# Permit all access over the loopback interface. This could # be tightened as well, but to do so would effect some of # the administrative functions. restrict 10.0.0.17 nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 # Hosts on local network are less restricted. restrict 10.0.0.255 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 10.0.0.15 Fudge 10.0.0.15 stratum 10
ntp.conf 文件存盘退出后,执行
$ sudo service ntpd start # 启动NTP服务
$ sudo chkconfig ntpd on # 设置 NTP 服务开机自启
—3.5 使用 SSH 工具上传安装包
(GBase8cV5_S3.0.0B78_centos7.8_x86_64.tar.gz)到主安装节点(10.0.0.15) /home/gbase/gbase_package 下
—3.6 解压安装包
$ cd /home/gbase/gbase_package
$ sudo tar xvf GBase8cV5_S3.0.0B78_centos7.8_x86_64.tar.gz
解压成功新增五个文件
GBase8cV5_S3.0.0B78_CentOS_x86_64_om.sha256
GBase8cV5_S3.0.0B78_CentOS_x86_64_om.tar.gz
GBase8cV5_S3.0.0B78_CentOS_x86_64_pgpool.tar.gz
GBase8cV5_S3.0.0B78_CentOS_x86_64.sha256
GBase8cV5_S3.0.0B78_CentOS_x86_64.tar.bz2
再次解压
$ sudo tar xvf GBase8cV5_S3.0.0B78_CentOS_x86_64_om.tar.gz

—3.7 开始安装
——3.7.1 编辑集群部署文件 gbase8c.yml

[root@gbase8c_1 ~]#chown -R gbase:gbase /home/gbase
[root@gbase8c_1 gbase_package]# chown -R gbase.gbase /tmp/gha_ctl/
[10.0.0.15]$ vim /home/gbase/gbase_package/gbase.yml
node1(10.0.0.15)  GHA Server(高可用服务)、DCS(分布式配置存储)、GTM主(全局事务管理),DN2备 
node2(10.0.0.16)  DCS、GTM备、CN1(协调器)、DN1主  
node3(10.0.0.17) DCS、CN2、DN2主  
=========================================================
gha_server:
  - gha_server1:
      host: 10.0.0.15
      port: 20001
dcs:
  - host: 10.0.0.15
    port: 2379
  - host: 10.0.0.16
    port: 2379
  - host: 10.0.0.17
    port: 2379
gtm:
  - gtm1:
      host: 10.0.0.15
      agent_host: 10.0.0.15
      role: primary
      port: 6666
      agent_port: 8001
      work_dir: /home/gbase/data/gtm/gtm1
  - gtm2:
      host: 100.0.0.16
      agent_host: 10.0.0.16
      role: standby
      port: 6666
      agent_port: 8002
      work_dir: /home/gbase/data/gtm/gtm2
coordinator:
  - cn1:
      host: 10.0.0.16
      agent_host: 10.0.0.16
      role: primary
      port: 5432
      agent_port: 8003
      work_dir: /home/gbase/data/coord/cn1
  - cn2:
      host: 100.0.0.17
      agent_host: 10.0.0.17
      role: primary
      port: 5432
      agent_port: 8004
      work_dir: /home/gbase/data/coord/cn2
datanode:
  - dn1:
      - dn1_1:
          host: 10.0.0.16
          agent_host: 10.0.0.16
          role: primary
          port: 15432
          agent_port: 8005
          work_dir: /home/gbase/data/dn1/dn1_1
#      - dn1_2:
#          host: 100.0.1.18
#          agent_host: 10.0.1.18
#          role: standby
#          port: 15433
#          agent_port: 8006
#          work_dir: /home/gbase/data/dn1/dn1_2
#      - dn1_3:
#          host: 100.0.1.16
#          agent_host: 10.0.1.16
#          role: standby
#          port: 15433
#          agent_port: 8006
#          work_dir: /home/gbase/data/dn1/dn1_3
  - dn2:
      - dn2_1:
          host: 10.0.0.17
          agent_host: 10.0.0.17
          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: 10.0.0.15
          agent_host: 10.0.0.15
          role: standby
          port: 20010
          agent_port: 8008
          work_dir: /home/gbase/data/dn2/dn2_2
          # numa:
          #   cpu_node_bind: 2
          #   mem_node_bind: 2
#      - dn2_3:
#          host: 100.0.1.17
#          agent_host: 10.0.1.17
#          role: standby
#          port: 20010
#          agent_port: 8009
#          work_dir: /home/gbase/data/dn2/dn2_3
          # numa:
          #   cpu_node_bind: 3
          #   mem_node_bind: 3
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
——3.7.2 执行安装脚本
[10.0.0.15]$ cd /home/gbase/gbase_package/script
[10.0.0.15]$ ./gha_ctl install -c gbase -p /home/gbase/gbase_package
首次安装时,环境变量尚未配置,需进入 script 目录执行 gha_ctl 命令。
A. -c 参数:数据库名称,缺省 gbase; B. -p 参数:配置文件路径,缺省 /home/gbase。
执行时间 3+ 分钟,安装结束后,脚本会提示
{
    "ret":0,
    "msg":"Success"
}
集群安装成功!
❈ 异常处理
在没有安装开发组件的操作系统上,执行安装脚本可能出现以下现象:
{
    "ret":-1,
    "msg":"Host localhost install or upgrade dependency {'libaio': None} failed!  Host 172.168.10.227 install or upgrade dependency {'libaio': None} failed!  Host 172.168.10.108 install or upgrade dependency {'libaio': None} failed!  "
}
——解决:
在集群所有节点安装 libaio 组件
[10.0.0.15]# yum -y install libaio
[10.0.0.16]# yum -y install libaio
[10.0.0.17]# yum -y install libaio
——3.7.3 节点状态检查
在主安装节点上执行
[10.0.0.15]$ exit
[10.0.0.15]# su - gbase
以上两个命令是保证环境变量生效
gha_ctl monitor all/datanode/coordinator/gtm/dcs [-H] -l dcslist
-H 表示输出以表格形式显示。
-l 指定管理该集群的dcs信息。
dcslist 格式为http://host:2379
[10.0.0.15]$ gha_ctl monitor -l http://10.0.0.15:2379
结果如下,说明集群安装正常,数据服务启动中
[gbase@gbase8c_1 script]$ gha_ctl monitor -l http://10.0.0.15:2379
{
    "cluster": "gbase",
    "version": "V5_S3.0.0B78",
    "server": [
        {
            "name": "gha_server1",
            "host": "10.0.0.15",
            "port": "20001",
            "state": "running",
            "isLeader": true
        }
    ],
    "gtm": [
        {
            "name": "gtm1",
            "host": "10.0.0.15",
            "port": "6666",
            "workDir": "/home/gbase/data/gtm/gtm1",
            "agentPort": "8001",
            "state": "running",
            "role": "primary",
            "agentHost": "10.0.0.15"
        },
        {
            "name": "gtm2",
            "host": "10.0.0.16",
            "port": "6666",
            "workDir": "/home/gbase/data/gtm/gtm2",
            "agentPort": "8002",
            "state": "running",
            "role": "standby",
            "agentHost": "10.0.0.16"
        }
    ],
    "coordinator": [
        {
            "name": "cn1",
            "host": "10.0.0.16",
            "port": "5432",
            "workDir": "/home/gbase/data/coord/cn1",
            "agentPort": "8003",
            "state": "running",
            "role": "primary",
            "agentHost": "10.0.0.16"
        },
        {
            "name": "cn2",
            "host": "10.0.0.17",
            "port": "5432",
            "workDir": "/home/gbase/data/coord/cn2",
            "agentPort": "8004",
            "state": "running",
            "role": "primary",
            "agentHost": "10.0.0.17",
            "central": true
        }
    ],
    "datanode": {
        "dn1": [
            {
                "name": "dn1_1",
                "host": "10.0.0.16",
                "port": "15432",
                "workDir": "/home/gbase/data/dn1/dn1_1",
                "agentPort": "8005",
                "state": "running",
                "role": "primary",
                "agentHost": "10.0.0.16"
            }
        ],
        "dn2": [
            {
                "name": "dn2_1",
                "host": "10.0.0.17",
                "port": "20010",
                "workDir": "/home/gbase/data/dn2/dn2_1",
                "agentPort": "8007",
                "state": "running",
                "role": "standby",
                "agentHost": "10.0.0.17"
            },
            {
                "name": "dn2_2",
                "host": "10.0.0.15",
                "port": "20010",
                "workDir": "/home/gbase/data/dn2/dn2_2",
                "agentPort": "8008",
                "state": "running",
                "role": "primary",
                "agentHost": "10.0.0.15"
            }
        ]
    },
    "dcs": {
        "clusterState": "healthy",
        "members": [
            {
                "url": "http://10.0.0.15:2379",
                "id": "4e84a5750f19d6e8",
                "name": "node_2",
                "isLeader": true,
                "state": "healthy"
            },
            {
                "url": "http://10.0.0.17:2379",
                "id": "54f0e7837cf89bc8",
                "name": "node_1",
                "isLeader": false,
                "state": "healthy"
            },
            {
                "url": "http://10.0.0.16:2379",
                "id": "b125d8f9d189f035",
                "name": "node_0",
                "isLeader": false,
                "state": "healthy"
            }
        ]
    }
}
也可以执行
[10.0.0.15]$ gha_ctl monitor -l http://10.0.0.15:2379 -H

4 数据库启停
停止数据库服务
[10.0.0.15]$ gha_ctl stop all -l http://10.0.0.15:2379
启动数据库服务
[10.0.0.15]$ gha_ctl start all -l http://10.0.0.15:2379
5 卸载
(1) 在部署机上(通常为 GTM 主节点10.0.0.15),执行 gha_ctl uninstall 命令卸载集群
语法格式:
gha_ctl uninstall -l dcslist [-c cluster]
-l 指定管理该集群的dcs信息,dcslist 格式为http://host:2379
[-c cluster]表示集群名称,为可选字段,缺省默认值gbase;
$ cd /home/gbase/gbase_package/script/
a 停止所有节点的集群服务
$ gha_ctl stop all -l http://10.0.0.15:2379
(2) 卸载DCS集群,执行 gha_ctl destroy dcs 命令。参数同上。
语法格式:
gha_ctl destroy dcs -l dcslist [-c cluster]

$ gha_ctl uninstall -l http://10.0.0.15:2379
$ cd /home/gbase/gbase_package/script
$ ./gha_ctl destroy dcs -l http://10.0.0.15:2379
6 连接和 SQL 测试
在cn节点执行
$ gsql -d postgres -p 5432 出现 postgres=# 操作符说明客户端工具 gsql 成功连接 8c 数据库 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)
7 常见问题
—7.1 NTP服务未处于正常运行状态
解决方法:
• 若系统可以与外网通信(能ping通),执行命令与NTP服务器同步:sudo ntpdate asia.pool.ntp.org • 如果服务器所在网络无法与外网通信(无法ping通),需要检查是否已安装NTP服务。
# 确认是否已安装ntp:
[gbase@gbase8c ~]$ rpm -qa|grep ntp
#--若已安装ntp应返回如下内容:
ntp-4.2.6p5-29.el7.centos.x86_64
ntpdate-4.2.6p5-29.el7.centos.x86_64
#--若没有ntp显示,则应删除原有ntpdate后重新安装ntp:
[gbase@gbase8c ~]$ sudo yum -y remove ntpdate-4.2.6p5-29.el7.centos.x86_64 [gbase@gbase8c ~]$ sudo yum -y install ntp
—7.2 安装数据库时报错显示错误码:80000201:Run cmd failed:%s

解决方法:
• 配置 gbase 用户权限,将 gbase 用户添加至 sudoer 列表
• 以 gbase 用户身份,配置各节点间互信免密。注意 密码也需上传至本节点。
—7.3 安装过程中,报错显示80000301:Transport endpoint unreach

解决方法:
• 在备机 /etc/resolv.conf 配置文件中注释掉如下内容(红框标注),取消备机 resolv 配置,
恢复主备间时延,重新执行安装


—7.4 缺失依赖文件
安装过程中提示:无法exec:没有那个文件或目录
安装过程中提示:/home/gbase/script/../venv/bin/python3: 没有那个文件或目录 ……
解决方法
根据提示,安装依赖文件。例如:yum -y install bzip2
—7.5 系统参数问题
安装过程中可能报错显示“check install env and os setting On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please check it.……”
解决方法:
执行 sudo vim /etc/sysctl.conf,配置系统内核参数(红框标注,根据机器稍作修改),避免信号量 不足无法初始化。

按键“:wq!”保存并退出。并执行 sysctl -p 命令使其生效。
—7.6 安装报错:Failed to start instance. Error: Please check the gs_ctl log for failure details.

【**解决思路**】
1、sysctl kernel.shmmax 配置过小,需要修改
vi /etc/sysctl.conf
添加一行:
kernel.shmmax = 18446744073692774399
sysctl -p 生效
2、没有 lsof 命令(建议添加到软件依赖中)
yum install -y lsof
3、集群卸载后进程还在,端口占用
重启机器解决(不知是否有更好办法)
—7.7 安装:Failed to initialize instance

【解决思路】仔细检查 gbase.yml 文件。
注意:一定要注意 yml 文件格式!!两个空格为一个缩进。
YML 在线编辑(校验)器:https://www.bejson.com/validators/yaml_editor/
—7.8 安装:两个节点成功,一个节点失败

【解决思路】检查互信操作是否配置成功。
—7.9 安装:端口被占用

【解决思路】看看是否已被占用,例如使用命令:lsof -i:端口号
—7.10 安装: "The content of file /home/gbase/version.cfg is not correct

【解决思路】删掉再重新解压

—7.11 安装:包的版本号和 gbase.yml 的 version 不一致


【解决思路】修改 gbase.yml 中的 version 和版本包的版本号一致
—7.12 80000201 Resource:gbase already in use

【解决思路】有残留信息,没有卸载成功。
在主节点(10.168.10.70)执行以下命令——
1、停止所有节点的集群服务
$ gha_ctl stop all -l http://10.168.10.70:2379
2、集群程序的卸载:
$ gha_ctl uninstall -l http://10.168.10.70:2379
3、移除 dcs 集群:
$ cd /home/gbase/script
$ ./gha_ctl destroy dcs -l http://10.168.10.70:2379
—7.13 安装:80000107 Resource:gbase already in use

【解决思路】有残留信息,没有卸载成功。
在主节点(10.168.10.70)执行以下命令——
1、停止所有节点的集群服务
$ gha_ctl stop all -l http://10.168.10.70:2379
2、集群程序的卸载:
$ gha_ctl uninstall -l http://10.168.10.70:2379
3、移除 dcs 集群:
$ cd /home/gbase/script
$ ./gha_ctl destroy dcs -l http://10.168.10.70:2379
—7.14 安装:80000116 Rpc request failed:Coordinator cnl start failed'

【解决思路】内存不够,free -m 查看内存可用空间。
查看数据库运行日志,可能是由于存在磁盘不足,导致数据库无法启动。在这种情况下清理磁盘空间后,再次重启解决问题。
建议业务与数据库分盘部署,以防业务盘撑爆导致数据库无法启动。
—7.15 安装:80000116 Rpc request failed:Rpc request failed:Start pg failed

【解决思路】
内存不够,free -m 查看内存可用空间。
查看数据库运行日志,可能是由于存在磁盘不足,导致数据库无法启动。在这种情况下清理磁盘空间后,再次重启解决问题。
建议业务与数据库分盘部署,以防业务盘撑爆导致数据库无法启动
—7.16 安装:80000116 Rpc request failed:Can not find gtm master, prestart all nodes failed

【解决思路】内存不够,free -m 查看内存可用空间。
查看数据库运行日志,可能是由于存在磁盘不足,导致数据库无法启动。在这种情况下清理磁盘空间后,再次重启解决问题。建议业务与数据库分盘部署,以防业务盘撑爆导致数据库无法启动。
—7.17 安装:su - gbase bash: /home/gbase/.bash profile: 权限不够

【解决思路】
用 root 用户执行 chown -R gbase:gbase /home/gbase
—7.18 安装:su gbase 后,home/gbase/.bashrc:权限不够

【解决思路】要用 su - gbase 切换用户。
小贴士:su gbase 和 su - gbase 这两命令的效果:
如果加入了 符号“- ”参数,那么是一种 login-shell 的方式,意思是说切换到另一个用户 <user_name> 之后,当前的 shell 会加载 <user_name> 对应的环境变量和各种设置;相反,如果没有加符号“-”参数,那么是一种 non-login-shell 的方式,意思是说我现在切换到了 <user_name>,但是当前的 shell 还是加载切换之前的那个用户的环境变量以及各种设置。
—7.19 安装:The current 0S rhel is not supported.

【解决思路】 在 package.info 中 修改名字
—7.20 执行 bash: gsql: 未找到命令

【解决思路】
export GPHOME=/home/gbase/安装目录 >> ~/.bashrc
export PATH=$GPHOME/script:$PATH >> ~/.bashrc
source ~/.bashrc
—7.21 执行:Failed to connect /home/gbase/gbase_db/tmp:5432
问题描述:GTM 主节点上执行 gslq 连接报错。在另外 cn1 和 cn2 上就可以正常连接。

【解决思路】
连接命令格式如下:
gsql -d dbname -p port <-U user_name> <-h hostip>
-d 参数指定要连接到的数据库名称。首次连接可以指定生成的默认数据库 postgres。
-p 参数指定通过节点哪个端口号连接。可查看安装使用的 yml 文件。
-U 参数指定以哪个数据库用户身份连接,权限可能不同。缺省默认为 gbase。
-h 参数指定数据库节点所在的服务器 IP。缺省默认为当前服务器 IP非 cn 节点,要指定 ip
gsql -d postgres -p 5432 -U gbase -h 172.30.2.28
—7.22 执行:ERROR: Installation node group is not defined in current cluster

【解决思路】
这个我这是因为 visudo 的配置配错了
操作要求:打开 sudoer 配置文件,找到 “
root ALL=(ALL) ALL” 行,在下方增加
“gbase ALL=(ALL) NOPASSWD:ALL”
错误做法:我直接 shift+G 在最后把下面这段复制进去了
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
gbase ALL=(ALL) NOPASSWD:ALL
 MySQL学习笔记
MySQL学习笔记