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

原文链接:https://www.gbase.cn/community/post/5425

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

南大通用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 检查最大打开文件数

要求不低于640000

# ulimit -n

修改方式:

# echo 'ulimit -n 1000000' >> ~/.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 gbase@172.16.xx.xxx

$ ssh-copy-id gbase@172.16.xx.xxx

$ 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://www.gbase.cn/community/post/5425

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容