OceanBase启动不了 obd程序被占用 解决办法

错误提示

[ERROR] Another app is currently holding the obd lock. Trace ID: 794034c8-f5ad-11ef-8cb6-e8611f622a37 If you want to view detailed obd logs, please run: obd display-trace 794034c8-f5ad-11ef-8cb6-e8611f622a37

手动处理 

  1. 查看详细日志: 首先,查看详细的 obd 日志以获取更多关于锁定原因的信息。

     

    shell

    obd display-trace 794034c8-f5ad-11ef-8cb6-e8611f622a37

  2. 检查锁定状态: 查看是否有其他 obd 进程正在运行。

     

    shell

    ps aux | grep obd

  3. 终止锁定进程: 如果发现有其他 obd 进程正在运行,可以尝试终止这些进程。

     

    shell

    sudo kill -9 <PID>

    其中 <PID> 是 obd 进程的进程 ID。

  4. 清除锁文件: 有时锁文件可能会导致问题。可以尝试删除 obd 的锁文件。

     

    shell

    sudo rm /path/to/obd/lockfile

    请确保你删除的是正确的锁文件,通常位于 obd 的工作目录下。

  5. 重启 obd 服务: 清除锁文件后,尝试重新启动 obd 服务。

     

    shell

    obd cluster start volador

脚本处理

以下是一个示例脚本,结合了上述步骤来解决锁定问题:

 
 

shell

#!/bin/bash

# 查看详细日志
echo "Viewing detailed obd logs..."
obd display-trace 794034c8-f5ad-11ef-8cb6-e8611f622a37

# 查找并终止持有锁的进程
echo "Checking for processes holding the lock..."
if sudo lsof /root/.obd/lock/deploy_volador > /dev/null
then
    echo "Found processes holding the lock. Terminating them..."
    sudo lsof /root/.obd/lock/deploy_volador | awk 'NR>1 {print $2}' | xargs sudo kill -9
else
    echo "No processes holding the lock found."
fi

# 清除锁文件
echo "Clearing obd lock file..."
sudo rm -f /root/.obd/lock/deploy_volador

# 重启 obd 服务
echo "Restarting obd service..."
obd cluster start volador

使用说明

  1. 保存脚本:将上述脚本保存为一个文件,例如 resolve_obd_lock.sh
  2. 赋予执行权限
     

    shell

    chmod +x resolve_obd_lock.sh

  3. 运行脚本
     

    shell

    sudo ./resolve_obd_lock.sh

通过执行上述步骤和脚本,你应该能够解决 obd 被锁定的问题,并成功启动 OceanBase 服务。如果问题仍然存在,请检查是否有其他进程或脚本在后台运行 obd,并确保它们已正确终止。

猜你喜欢

转载自blog.csdn.net/zengliguang/article/details/145932117
今日推荐