南大通用GBase 8c 主备集群常见问题汇总

南大通用GBase 8c 主备集群常见问题汇总原文链接 南大通用 GBase 8c 主备集群常见问题汇总 GBASE 社区 天津南大通用数据技术股份有限公司 GBASE 致力于成为用户最信赖的数据库产品供应商更多精彩内容尽在 GBASE 社区 天津南大通用数据技术股份有限公司 GBASE 致力

大家好,欢迎来到IT知识分享网。

南大通用GBase 8c 多模多态数据库是南大通用第三代智能化分布式数据库产品,支持多种存储模式和部署形态,具有高性能、高可用、高智能、高安全、兼容能力强等特性。本文主要描述由于操作系统版本、环境等信息问题导致其安装失败的故障案例,帮助用户快速定位问题,分析原因,并提供解决办法或者思路,来熟练使用GBase 8c数据库。

0.故障分类

  • 基础环境未准备就绪
  • 系统版本/环境类问题

1.基础环境未准备就绪

安装前准备主要涉及操作系统信息检查、依赖包是否安装、主机名是否生效、防火墙是否关闭、多台机器root用户密码是否一致,时间是否同步等等问题,具体步骤可以参考如下:

1.1 检查操作系统信息

1)ID信息是否在json文件中

# cat /etc/os-release #linux操作系统通用命令 NAME="Kylin Linux Advanced Server" VERSION="V10 (Tercel)" ID="kylin" VERSION_ID="V10" PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)" ANSI_COLOR="0;31" # cat support_system_info.json { "SUSE": "suse", "REDHAT": "redhat", "CENTOS": "centos", "EULEROS": "euleros", "KYLIN": "kylin", "KYLINSEC": "kylinsecos", "OPENEULER": "openeuler", "FUSIONOS": "fusionos", "ASIANUX": "asianux", "DEBIAN": "debian", "UBUNTU": "ubuntu", "NFS": "nfs", "UOS": "uos", "BCLINUX": "bclinux", "NEOKYLIN": "neokylin", "OPENKYLIN": "openkylin" } 

2)如果是麒麟操作系统,还需查看当前版本是否基于 Ubuntu,使用以下命令(二选一即可):

# cat /etc/.kyinfo # cat /etc/os-release 

返回的版本信息中,如果 dist_id 参数值是以”Kylin-Desktop”开头,则是基于 Ubuntu 的 操作系统。

需要更换 bash。使用以下命令:

# sudo dpkg-reconfigure dash 

并在过程中,选择 No 并回车。退出后即可自动切换为 bash

3)麒麟操作系统,需要关闭安全授权认证

# setstatus softmode -p

4)CentOS/RHEL 7.2+环境

systemd-logind 服务引入一个新特性——RemoveIPC,表现为:用户登录后创建的文件,在 logout 后会被自动删除。默认值(即 RemoveIPC=yes)的情况,当用户退出时,操作系统会 crash 掉使用了 Shared Memory Segment (SHM) or Semaphores (SEM)的应用程序,导致 GBase 数据库进程将会被中断。避免发生此类问题。操作步骤如下:

(1) 查看 RemoveIPC 参数值是否为 yes

# loginctl show-session | grep RemoveIPC # systemctl show systemd-logind | grep RemoveIPC

如果为 yes,则需要修改;如果为 no,则无需继续执行后续步骤。

(2) 修改/etc/systemd/logind.conf 配置文件

# vim /etc/systemd/logind.conf

将 RemoveIPC 参数值设置为 no,键入“:wq”保存并退出。

修改
/usr/lib/systemd/system/systemd-logind.service 配置文件,将 RemoveIPC 参数值设置为 no。

# vim /usr/lib/systemd/system/systemd-logind.service

将 RemoveIPC 参数值设置为 no,键入“:wq”保存并退出。

(3) 重新加载配置文件,执行以下命令:

# systemctl daemon-reload # systemctl restart systemd-logind

(4) 再次检查是否生效即可。

# loginctl show-session | grep RemoveIPC # systemctl show systemd-logind | grep RemoveIPC

1.2 检查cpu架构

确认是 x86 还是 aarch64

# lscpu |grep 'Architecture' Architecture: x86_64 

需要确认与下载的数据包名中的信息一致,例如

GBase8cV6_SXXXXX_centos7.8_x86_64.tar.gz # x86 包 GBase8cV6_SXXXXX_centos7.8_aarch64.tar.gz # aarch64 包

1.3 安装前依赖检查

# rpm -qa|egrep "libaio-devel|flex|bison|ncurses-devel|glibc-devel|patch|redhat-lsb-core|readline-devel|libnsl|expect|patchelf|bzip2"

安装命令:

# yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel libnsl expect patchelf bzip2

1.4 确认主机名是否一致

修改hostname。即使是单机部署,也不建议用默认的localhost。

执行命令查看hostname:

# cat /etc/hostname # hostname

修改方式:

# hostnamectl set-hostname gbasedb01

1.5 创建数据库OS管理用户

以gbase为例,不建议使用图形化界面创建

# groupadd gbase # useradd -m -d /home/gbase gbase -g gbase # passwd gbase

1.6 关闭防火墙

# systemctl stop firewalld.service # systemctl disable firewalld.service # sed -i.bak '/^SELINUX=/s#SELINUX=.*#SELINUX=disabled#' /etc/selinux/config # setenforce 0

如果环境必须要求开启,可以参考以下配置:

# systemctl start firewalld # firewall-cmd --zone=public --add-port=15400/tcp --permanent # firewall-cmd --zone=public --add-port=15300/tcp --permanent # firewall-cmd --zone=public --add-port=15301/tcp --permanent # firewall-cmd --zone=public --add-port=15302/tcp --permanent # firewall-cmd --zone=public --add-port=15405/tcp --permanent # firewall-cmd --zone=public --add-port=15401/tcp --permanent # firewall-cmd --zone=public --add-port=5000/tcp --permanent # firewall-cmd --zone=public --add-port=5001/tcp --permanent # firewall-cmd --zone=public --add-port=5002/tcp --permanent # firewall-cmd --zone=public --query-port=15400/tcp systemctl restart firewalld

1.7 多节点环境安装需要查看时间是否一致

# date

修改方式:

# hwclock --show # hwclock --systohc

注:数据库启动过程中,时间不一致会导致启动夯住,手动修改时间时,需要修改当前时间的未来时间。

1.8 检查最大打开文件数

要求不低于

# ulimit -n

修改方式:

# echo 'ulimit -n ' >> ~/.bashrc

2.系统版本/环境类问题

2.1 多节点安装,root密码不一致情况

解决办法:

1.临时调整为一致

2.若不能改动,需要按照以下步骤安装

① 每台机器root下执行gs_preinstall, 安装包及xml文件放在相同目录下,gs_preinstall加上-L命令只进行本地安装

./gs_preinstall -U gbase -G gbase -X /opt/cluster.xml -L

② 切换到gbase用户,建立gbase用户互信,建立后执行”ssh 主机名”、”ssh ip”登录本机及其他机器,刷新缓存信息(具体参考ssh免配置问题 )

③ 任一台服务器执行安装

gs_install -X /opt/cluster.xml

2.2 ssh免配置问题

完整免密配置参考如下(可避免出现ssh权限不足问题)

# su - gbase $ rm -rf /home/gbase/.ssh $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ ssh-keygen -t rsa $ ssh-copy-id  $ ssh-copy-id  $ echo 'StrictHostKeyChecking no' >> ~/.ssh/config $ echo 'UserKnownHostsFile ~/.ssh/known_hosts' >> ~/.ssh/config $ chmod 644 ~/.ssh/config 

验证测试(ip和主机名都需要测试)

$ ssh 172.16.xx.xxx date $ ssh 172.16.xx.xxx date $ ssh gbasedb01 date $ ssh gbasedb01 date

验证时如果发现ssh ip 通,ssh 主机名不通,ping主机名确认是否是ipv6,是ipv6需要操作如下:

echo 'precedence ::ffff:0:0/96 100' | sudo tee -a /etc/gai.conf 

2.3 环境问题

(1)执行安装时报错xxxx list index out of range

检查安装时的xml文件,重点检查主机名、ip地址是否配置正确。

(2)执行安装时报错”
importerror:libffi.so.6:cannot open shared object file: no sucn file or directory”。

这可能是由于服务器CPU架构为ARM版,曾经安装X86版本的包卸载残留所致。这种情况下,根据提示的错误信息,删除所有相应残留即可。

ll /lib64/libffi.so.6* sudo rm -rf /lib64/libffi.so.6*

(3)执行安装时报错“无法执行二进制文件错误”。

这是由于GBase 8c安装包与CPU架构不匹配。根据部署环境,更换对应版本的安装包即可。详情看 1.2 检查cpu架构

2.4 安装完成配置vip问题

1)vip地址不漂移

所有机器都检查是否配置sudo权限

$ su - gbase $ sudo -l

检查备机是否配置了vip

$ sudo find /* -name 'cm_resource.json'

2)主节点宕机整个集群不可用

检查cm_server配置中是否有保存vip信息

cm_ctl list --param --server| grep "third_party_gateway_ip"

如果以上查询结果为空,配置如下:

cm_ctl set --param --server -k "third_party_gateway_ip= 网关地址" cm_ctl set --param --server -k "cms_enable_db_crash_recovery=1" cm_ctl set --param --server -k "cms_network_isolation_timeout=10" cm_ctl set --param --server -k "cms_enable_failover_on2nodes=1"

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/170909.html

(0)
上一篇 2025-02-20 09:10
下一篇 2025-02-20 09:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信