GBase 8c 学习笔记 002 —— GBase 8c 安装与卸载
安装流程
- 检查配置
- 集群规划
- 安装准备
- 关闭防火墙
- 关闭SELINUX
- 环境检查
- 创建用户并配置sudo
- NTP同步
- 配置节点互信
- 上传并解压包
- 编辑配置文件
- 安装集群
配置要求
硬件配置要求
配置项 | 物理机环境 | 虚拟机环境 |
---|---|---|
CPU | 2.4GHz以上 | 2.4GHz以上 |
内存 | 128GB 以上 | 单个节点8G及以上 注意:若一台虚拟机上部署N个节点,要求 |
内存预留8N | ||
硬盘 | 500GB 以上 | 100GB及以上 |
网络 | 10GB 以上 | 1000MB 或 10GB |
软件配置要求
软件依赖配置
所需软件 | 建议版本 |
---|---|
bison | 2.7-4 |
flex | 2.5.31 以上 |
libaio-devel | 0.3.109-13 |
lsb_release | 4.1 |
patch | 2.7.1-10 |
ncurses-devel | 5.9-13.20130511 |
bzip | 1.0.6 |
安装步骤
安装准备工作
- 关闭防火墙
在集群所有服务器上,以root用户身份执行。
# 查看防火墙状态:
systemctl status firewalld
# 若Active显示为 not running 或 inactive (dead),即已关闭防火墙,无需进行其它操作。
# 若防火墙处于开启状态
# 需手动关闭防火墙:
systemctl stop firewalld
#并禁止开机自启动:
systemctl disable firewalld
# 再次查看防火墙状态,处于关闭状态即可。
- 关闭SELINUX
在集群所有服务器上,以root用户身份执行。
# 查看SELINUX状态:
sestatus
# 若显示为 disabled,说明SELINUX已被禁用,无需操作。
# 若显示为 enabled,则处于开启状态,需要将其关闭
# 修改配置文件:
vim /etc/selinux/config
#在文件中,将 SELINUX 参数设置为 disabled,“:wq”保存退出
# 重启服务器生效
reboot
- 环境检查
在集群所有服务器上,以root用户身份执行。
# 检查并修改各主机hostname,避免重名,否则可能导致安装失败
hostname
vim /etc/hostname
# 检查bison、flex、patch、bzip2 依赖是否安装:
rpm -q bison flex patch bzip2
# 若显示的依赖版本信息在软件依赖配置要求中,无需操作。
# 若未安装依赖,执行 yum install -y name 命令安装相应依赖。
yum install -y bison flex patch bzip2
# (虚拟机环境)检查是否支持 rdtscp指令集:
cat /proc/cpuinfo | grep rdtscp
若不支持,需要参考对应CPU型号官网资料,安装rdtscp指令集
- gbase用户配置sudo
在集群所有服务器上,以root用户身份执行。
# 在所有节点创建 gbase 组和用户(牢记密码)
groupadd gbase
useradd -m -d /home/gabse gbase -g gbase
# 编辑 /etc/sudoers 文件,执行命令:
visudo
# 添加如下内容,将 gbase 用户添加至 sudoer 列表
gbase ALL=(ALL) NOPASSWD:ALL
# 执行“:wq”保存退出。
# 配置完成后,切换为 gbase 用户身份。后续数据库安装配置操作无需 root 用户
su gbase
- 节点 NTP 时间同步
在集群所有服务器上,以gbase用户身份执行。
# 检查所有服务器上 NTP 服务的状态:
sudo systemctl status ntpd.service
# 若显示active (running),则表示服务正在运行。
# 若未处于正常运行,启动服务并与 NTP 服务器同步:
sudo ntpdate asia.pool.ntp.org
# 配置 NTP 服务
# 人为选取 NTP 主节点,通常是 GTM 主节点。在所有节点上编辑配置文件:vim /etc/ntp.conf,并“:wq”保存退出。
vim /etc/ntp.conf
- 配置免密互信
在集群所有服务器上,以gbase用户身份执行。
# 在所有节点创建 gbase 用户的.ssh 目录,并授权:
mkdir ~/.ssh
chmod 700 ~/.ssh
# 生成密钥文件(执行后根据提示输入相应信息即可):
ssh-keygen -t rsa
# 将公钥文件上传至所有节点,包括本节点(此操作需输入密码):
ssh-copy-id gbase@hostip
# 通过 ssh 命令验证是否已实现互信免密:
ssh gbase@hostip
# 不需要输入密码即可登录,表明配置互信成功
- 上传安装包并解压
在部署机(通常为 GTM 主),以gbase用户身份执行。
# 上传包至安装目录(属于gbase用户),解压缩安装包
# 解压安装包后,继续解压 OM 安装包
# 安装过程中需要熟悉的文件
# gbase.yml:安装配置文件模板
# script:工具库,包括gha_ctl、gs_check、gs_backup等工具。
- 编辑yml配置文件
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:安装包版本,仅修改后两位数字
-
执行安装 (仅在部署机操作)
yml配置文件部署
在部署机上以 gbase 用户身份执行。
# 进入安装目录(解压得到的)下的 script 子目录,执行 gha_ctl install 命令来安装分布式集群。
# 语法格式
gha_ctl install [-c cluster] [-p confpath]
# [-c cluster]:表示集群名称,为可选字段,缺省默认值gbase;需要与配置文件名统一。
# [-p confpath]:指定配置文件保存路径,为可选字段,缺省默认/tmp;
# 首次安装时,环境变量尚未配置,需进入 script 目录执行 gha_ctl 命令。
# 通过 gha_ctl monitor 命令,查询分布式集群运行状态。
# 语法格式
gha_ctl monitor all/datanode/coordinator/gtm/dcs [-H] -l dcslist
# -H 表示输出以表格形式显示。
# -l 指定管理该集群的dcs信息。dcslist 格式为http://host:2379
卸载
在部署机上以 gbase 用户身份执行。
- 在部署机上(通常为 GTM 主节点),执行 gha_ctl uninstall 命令卸载集群。
# 语法格式
gha_ctl uninstall -l dcslist [-c cluster]
# -l 指定管理该集群的dcs信息。dcslist 格式为http://host:2379
# [-c cluster]表示集群名称,为可选字段,缺省默认值gbase;
- 卸载DCS集群,执行 gha_ctl destroy dcs 命令。参数同上。
# 语法格式
gha_ctl destroy dcs -l dcslist [-c cluster]
常见问题
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
安装数据库时报错显示错误码:80000201:Run cmd failed:%s
- 配置 gbase 用户权限,将 gbase 用户添加至 sudoer 列表
- 以 gbase 用户身份,配置各节点间互信免密。注意 密码也需上传至本节点。
安装过程中,报错显示80000301:Transport endpoint unreach
- 在备机 /etc/resolv.conf 配置文件中注释掉如下内容(红框标注),取消备机 resolv 配置,恢复主备间时延,重新执行安装
缺失依赖文件
安装过程中提示:无法exec:没有那个文件或目录
安装过程中提示:/home/gbase/script/…/venv/bin/python3: 没有那个文件或目录
……
- 根据提示,安装依赖文件。例如:yum -y install bzip2
系统参数问题
安装过程中可能报错显示“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,配置系统内核参数(kernel.sem,根据机器稍作修改),避免信号量不足无法初始化
编辑后保存退出,执行sysctl -p 命令使其生效。