服务器重启后启动Meta报错,不是当初安装的用户,但是已经切换了admin用户

【 使用环境 】生产环境
【 OB or 其他组件 】meta
【 使用版本 】4.3.5
【问题描述】服务器关机重启后,无法启动oceanbase数据库,用root提示用户不对,换成admin后一直没有权限进行启动操作
【附件及日志】



【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

5 个赞

根据您的描述,您在尝试使用OBD工具以不同用户(root与admin)身份启动OceanBase 4.3.5版本数据库时遇到了权限相关的问题。这种情况下,推荐首先使用obdiag来收集有关集群基础信息的日志文件,这可以帮助我们更准确地判断问题的原因所在。

日志采集场景: 集群基础信息
日志采集命令: obdiag gather scene run --scene=observer.base

这条命令将帮助收集关于集群的一些基本信息,包括但不限于配置文件、环境变量设置等,这对分析权限问题非常有用。

请您执行上述命令并把得到的日志文件分享给我们,以便进一步诊断。在此之前,我有几个问题想确认一下,希望这些信息能够帮助我们更快定位问题:

  1. 在尝试启动OceanBase服务时,具体的错误消息是什么?能否提供完整的报错文本?
  2. 使用admin用户时,是通过什么方式创建的该用户账号,并且给它分配了哪些权限?
  3. 您能否检查并告知当前OceanBase安装目录及其子目录下的文件/文件夹权限设置情况?特别关注那些需要特殊权限才能访问的部分。
  4. 是否已经确保admin用户拥有执行OceanBase启动脚本所需的全部必要环境变量?例如:PATH变量是否正确指向了OB的二进制文件路径?
  5. 您的操作系统发行版及版本号是多少?有时特定版本的Linux可能对安全性和用户权限有着不同的要求。

期待您的回复,谢谢!

附上敏捷诊断工具 obdiag 使用帮助链接

2 个赞

obd.log日志 发一下

3 个赞

没有找到今天的日志文件,只有关机之前的日志信息
observer.log (9.5 MB)

2 个赞

这个没有用 找一下obd.log日志文件 找一下 默认保存在安装obd的用户home路径: cd ~/.obd/log/ 看看用户对不对

3 个赞

应该是admin这个用户,但是我用这个用户一直提示权限有问题,通过admin启动observer一直提示权限不够
log.zip (739.0 KB)

3 个赞

在节点 133.3.4.13 上,OBD 用 root(uid=0) 启动 observer,但该节点 observer 最初是由 uid=1000 admin 的用户启动的,用户不一致导致启动被拒绝

  1. 确认 uid=1000 对应的用户(在 133.3.4.13 上执行):

getent passwd 1000

  1. 修改 OBD 配置,将该节点 SSH 用户改为该用户(如 admin),而不是 root
    查看observer的目录 查看一下 admin用户是否有权限所属的组是否是admin
  2. 用该用户执行:

obd cluster start oceanbase

2 个赞

调整之后启动有了新的错误,时间是通过ntp校准的应该没有问题


1 个赞

学习中

学习

厉害

之前配置的root权限的免密登录,没有创建admin用户,在页面部署的时候填写的也是root账号进行部署,路径也是自己配置的/home/data/oceanbase,应该不会有用户不一致的情况才对啊

1 个赞


执行一下这个 取一下日志 看看

1 个赞

我们搭了两套的,另一套目前已经启动没有什么问题,都是用root装的,我查了1000的用户确实是admin,但是admin连目录读取权限都没有,应该不是这个账号安装的
日志.txt (51.0 KB)


显示有这个进程但是登录提示在初始化

1 个赞

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) 部署,用户不一致被拒绝。

1 个赞

– 第一步:统一用 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

1 个赞


想问下,这个是用户配置的不正确吗?我用的是root免密

1 个赞