【 使用环境 】生产环境
【 OB or 其他组件 】meta
【 使用版本 】4.3.5
【问题描述】服务器关机重启后,无法启动oceanbase数据库,用root提示用户不对,换成admin后一直没有权限进行启动操作
【附件及日志】
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】生产环境
【 OB or 其他组件 】meta
【 使用版本 】4.3.5
【问题描述】服务器关机重启后,无法启动oceanbase数据库,用root提示用户不对,换成admin后一直没有权限进行启动操作
【附件及日志】
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
根据您的描述,您在尝试使用OBD工具以不同用户(root与admin)身份启动OceanBase 4.3.5版本数据库时遇到了权限相关的问题。这种情况下,推荐首先使用obdiag来收集有关集群基础信息的日志文件,这可以帮助我们更准确地判断问题的原因所在。
日志采集场景: 集群基础信息
日志采集命令: obdiag gather scene run --scene=observer.base
这条命令将帮助收集关于集群的一些基本信息,包括但不限于配置文件、环境变量设置等,这对分析权限问题非常有用。
请您执行上述命令并把得到的日志文件分享给我们,以便进一步诊断。在此之前,我有几个问题想确认一下,希望这些信息能够帮助我们更快定位问题:
admin用户时,是通过什么方式创建的该用户账号,并且给它分配了哪些权限?admin用户拥有执行OceanBase启动脚本所需的全部必要环境变量?例如:PATH变量是否正确指向了OB的二进制文件路径?期待您的回复,谢谢!
附上敏捷诊断工具 obdiag 使用帮助链接
obd.log日志 发一下
这个没有用 找一下obd.log日志文件 找一下 默认保存在安装obd的用户home路径: cd ~/.obd/log/ 看看用户对不对
在节点 133.3.4.13 上,OBD 用 root(uid=0) 启动 observer,但该节点 observer 最初是由 uid=1000 admin 的用户启动的,用户不一致导致启动被拒绝
133.3.4.13 上执行):getent passwd 1000
admin),而不是 rootobd cluster start oceanbase
学习中
学习
厉害
之前配置的root权限的免密登录,没有创建admin用户,在页面部署的时候填写的也是root账号进行部署,路径也是自己配置的/home/data/oceanbase,应该不会有用户不一致的情况才对啊
我们搭了两套的,另一套目前已经启动没有什么问题,都是用root装的,我查了1000的用户确实是admin,但是admin连目录读取权限都没有,应该不是这个账号安装的
日志.txt (51.0 KB)
OBD-2002: Failed to start 133.3.4.15 observer
ERROR: current user(uid=0) that starts observer is not the same with the original one(uid=1000)
Fail check_uid_before_start, please use the initial user to start observer!
OBD-1005: Some of the servers in the cluster have been stopped
从日志信息 来看 OBD 仍用 root 连各节点并启动 observer,但集群最初由 uid=1000(admin) 部署,用户不一致被拒绝。
– 第一步:统一用 root 修复权限(在所有 6 个节点执行)
配置 admin 免密 sudo
echo ‘admin ALL=(ALL) NOPASSWD: ALL’ > /etc/sudoers.d/admin
chmod 440 /etc/sudoers.d/admin
修正属主
chown -R admin:admin /home/data/oceanbase
chown -R admin:admin /home/data
清理残留 pid(5 个宕机节点)
rm -f /home/data/oceanbase/run/observer.pid
– 第二步:OBD 配置改回 admin
vi /root/.obd/cluster/oceanbase/config.yaml
确认 user: admin (不是 root)。
–第三步: 用 admin 启动
obd cluster start oceanbase