国产数据库OpenGauss的安装部署以及问题排查解决(含源码分析)
💖点赞超100,将取消VIP文章,免费公开
前面都是一些排除得方式,如果想知道最终的问题,可以直接切换到3.3章节
💖如果您需要这篇文章可以扫描下方的公众号二维码,私信我们,我们将帮您解答
目录
- 国产数据库OpenGauss的安装部署以及问题排查解决(含源码分析)
- 0.简介
- 1.环境介绍
- 2.安装步骤
- 2.1第一步创建用户
- 2.2第二步解压
- 2.2第三步设置环境变量
- 2.3第四步初始化
- 2.4第五步启动数据库
- 3.深坑问题
- 3.1问题发现
- 3.2问题排查过程
- 3.3“真凶”浮出水面
- 彩蛋
- 1.检测权限脚本
- 为者常成,行者常至!你点点赞收藏,就是我最大的动力,如果帮到您请动动小手,如果您有意见,我们评论区见。
关键词:Could not create file “global/pg_dw_meta”: Invalid argument
gs_initdb初始化报错:PANIC: Could not create file “global/pg_dw_meta”: Invalid argument 和 gs_ctl 启动报错:gaussDB state is Coredump
🥰微信公众号:【给点知识】分享小知识,快速成长,欢迎关注呀!(底部点击二维码)
🥰学习宗旨:活到老,学到老。
😍写作宗旨:致力于改变现有文章难读难懂问题。
💖文章作者:给点知识
0.简介
遇到了这两个错误,由于开源社区没有解决,然后用了docker镜像意外解决了(后面会提到,因为docker目录更换的问题才解决的,不然的话,还是没有办法解决,因为根本问题没有找到)后面官方也关闭了issue,后面找到根因后,无法跟评论了,所以这里就撰写记录以下。目前是全网唯一一个解决的
gs_initdb初始化报错:PANIC: Could not create file "global/pg_dw_meta": Invalid argument
gs_ctl 启动报错:gaussDB state is Coredump
在开源社区提到这个问题:
https://gitee.com/opengauss/openGauss-server/issues/I97YUE
1.环境介绍
操作系统:CentOS7.4
架构:x86
root>uname -a
Linux localhost 4.4.131.kylin.x86 #1 SMP Wed Jan 24 11:50:07 CST 2024 x86_64 GNU/Linux
openGauss下载地址:https://opengauss.org/zh/download/
openGauss安装包:openGauss-Lite-5.0.1-CentOS-x86_64.tar.gz
2.安装步骤
这里的安装方式不唯一,其他方式请参考OpenGauss官网
2.1第一步创建用户
因为这里root用户下不允许初始化、安装、启动opengauss所以这里要创建用户
简单介绍下两个命令
- useradd:useradd 是一个较为底层的命令,通常在系统管理中使用。它的主要作用是创建用户账户,但不会自动创建用户的家目录、设置默认的登录 shell、添加用户到组等。在使用 useradd 命令时,你需要额外的参数和选项来配置新用户的各种属性。
- adduser:adduser 是一个高级命令,它在用户创建过程中提供了更多的交互式选项和默认配置。与 useradd 不同,adduser 会自动创建用户的家目录、设置默认的登录 shell,并允许你在创建用户时选择要加入的组,设置密码等。adduser 命令更加友好和易于使用,适合普通用户创建自己的用户账户。
adduser omm
2.2第二步解压
这里解压到指定得目录:/home/omm/opengauss
tar -jxf openGauss-Lite-5.0.1-CentOS-x86_64.tar.gz -C /home/omm/opengauss
2.2第三步设置环境变量
-
修改 vi ~/.bashrc 最后一行增加如下内容
export GAUSSHOME=/home/omm/opengauss export PATH=$GAUSSHOME/bin:$PATH export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH export GS_CLUSTER_NAME=dbCluster ulimit -n 1000000
-
使配置文件生效
source ~/.bashrc
2.3第四步初始化
使用gs_initdb命令:gs_initdb初始化数据库时,会创建数据库目录、生成系统表、创建默认数据库和模板数据库
gs_initdb -w xxx@123456 -D /opt/data/openbin/openbin/data/single_node --nodename "sgnode" --locale="en_US.UTF-8"-w:数据库密码
-D:指定数据目录的位置
--nodename:初始化的节点名称。
--l