ubuntu设置oceanbase开机自动运行服务
先查找perf路径全盘搜索(一般就在文件解压后的路径下面下一级下一级找)


标准路径下没有,那我们就执行全盘搜索,看看 OBD 到底把 observer 藏在了哪里。请在终端执行以下命令(需要一点时间):bash
编辑
sudo find / -name observer -type f -executable 2>/dev/null
这次的日志终于把“真凶”揪出来了!你看这行关键的报错:
observer: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
这说明你的系统里缺少了 OceanBase 运行所必需的一个基础依赖库 libaio。之前我们绕过了 OBD 直接去拉 observer,结果反而暴露出了这个底层的环境缺失问题。只要把这个库装上,之前的阻碍就扫清了一大半!
🛠️ 第一步:安装缺失的系统依赖库
请在终端执行以下命令,一键补全 OceanBase 所需的基础依赖(包括刚刚报错的 libaio 以及其他常用的 numactl 等):bash
这一步可以不执行
sudo yum install -y libaio numactl-libs ncurses-libs openssl-libs zlib readline
注:如果你使用的是 Ubuntu/Debian 系统,请将 yum install 替换为 apt install,包名对应为 libaio1 libnuma1 等。
⚙️ 第二步:回归最稳妥的 OBD 启动方案
依赖库装好后,强烈建议放弃直接拉起 observer 的做法(因为容易引发配置文件和权限冲突),重新回到用 OBD 管理集群的正轨上。
请再次编辑你的服务文件,使用最精简、兼容性最好的配置:bash
编辑
sudo nano /etc/systemd/system/oceanbase-perf.service
将内容完全替换为以下配置(这里使用了 su -l root 来完美模拟你平时手动敲命令时的环境):ini
[Unit] Description=OceanBase Cluster Perf Service After=network.target [Service] Type=forking User=root Group=root # 👇 核心改动:使用 su -l 模拟 root 完整登录环境,自动加载 PATH 和 OBD 配置 ExecStart=/bin/su -l root -c "/home/haihong/下载/oceanbase-all-in-one-4.5.0_20260203.el8.x86_64/oceanbase-all-in-one/obd/usr/bin/obd cluster start perf" ExecStop=/bin/su -l root -c "/home/haihong/下载/oceanbase-all-in-one-4.5.0_20260203.el8.x86_64/oceanbase-all-in-one/obd/usr/bin/obd cluster stop perf" Restart=on-failure TimeoutSec=300 [Install] WantedBy=multi-user.target
# 👇 核心改动:使用 su -l 模拟 root 完整登录环境,自动加载 PATH 和 OBD 配置--就是文件解压路径下图

保存退出后,依次执行以下命令重载并重启服务:bash
这步执行报错可以不用管直接设置开机自动运行服务
sudo systemctl daemon-reload sudo systemctl restart oceanbase-perf.service sudo systemctl status oceanbase-perf.service
设置服务开机运行
sudo systemctl enable oceanbase-perf.service
执行后,终端通常会提示创建了一个符号链接(例如 Created symlink ...),这就代表设置成功了。以后每次服务器重启,OceanBase 集群都会自动被拉起来。
💡 补充建议:验证与日常维护
为了确保万无一失,你可以顺便了解一下这几个常用的维护命令:
- 验证是否生效:执行 sudo systemctl is-enabled oceanbase-perf.service。如果返回 enabled,就说明开机自启已经稳稳地配置好了。
- 如果需要取消开机自启:随时可以执行 sudo systemctl disable oceanbase-perf.service 来解除绑定。
- 日常手动控制服务:
手动启动:sudo systemctl start oceanbase-perf.service 手动停止:sudo systemctl stop oceanbase-perf.service 查看实时状态:sudo systemctl status oceanbase-perf.service

浙公网安备 33010602011771号