OBLOGMINER初始化报错

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】[admin@localhost ~]$ oblogminer -c “192.168.150.116:2881” -u “root@ob_mysql” -p "xxxx
" -s “2024-10-20 20:38:22” -o “file:///data/logminer_output/”
succ to open, filename=oblogminer.log, fd=3, wf_fd=2
logminer init failed, please check log[oblogminer.log] for more detail
查看日志,也时初始化失败,有大佬遇到过吗
oblogminer.log (44.5 KB)
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

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

2 个赞

推荐使用 obdiag 工具进行日志采集,以便我们能够更准确地定位问题。

日志采集场景: 未知问题
日志采集命令: obdiag gather scene run --scene=observer.unknown

请您先执行上述命令,将采集到的日志提供给我们以便确认问题所在。另外,为了确定具体的问题,在此需要您提供一些信息:

  1. 您当前使用的 OceanBase 版本是什么?
  2. OBLogMiner 初始化失败的具体错误码是多少?
  3. 在初始化 OBLogMiner 时,是否有特定的操作或配置变更?
  4. 是否有其他相关的错误日志或警告信息?
  5. 您是否尝试过重启 OBServer 节点,如果有,请告知重启后的结果。

详情请参考:

  1. 节点日志盘(Clog)空间满
  2. 4000 ~ 4499
  3. 使用 Debezium 连接 OceanBase 并获取数据
  4. 部署 OceanBase 集群
  5. 系统内存不足/泄漏

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

3 个赞

这里用的oblogminer是什么版本的

2 个赞

yum 安装的

utils版本:
oceanbase-ce-utils-4.3.3.0-100000142024101215.el7.x86_64

oblogminer版本没有找到怎么看,没有–version参数

2 个赞

根据您提供的信息,您使用的是通过 YUM 安装的 OceanBase 社区版工具集,其中包括 oblogminer。您提到 oblogminer 没有 --version 参数来查看版本信息,这可能是由于工具本身的限制或您的安装版本不支持该选项。不过,您可以通过其他方式来确认 oblogminer 的版本信息:

  1. 检查安装包版本:既然您已经知道了 oceanbase-ce-utils 的版本,通常情况下,oblogminer 的版本会与 oceanbase-ce-utils 的版本一致。因此,您可以认为 oblogminer 的版本也是 4.3.3.0-100000142024101215

  2. 查看帮助文档:您可以尝试使用 oblogminer -hoblogminer --help 来查看帮助文档,其中可能会包含版本信息或其他有用的调试信息。

关于 oblogminer 初始化失败的问题,根据您提供的日志信息,oblogminer 在初始化过程中遇到了问题。为了更好地定位问题,您可以尝试以下步骤:

1. 检查日志文件

您提到日志文件 oblogminer.log 中也显示初始化失败。请仔细查看该日志文件,特别是错误信息部分,寻找具体的错误提示。常见的错误可能包括但不限于:

  • 网络问题:确保 192.168.150.116:2881 可以正常访问。
  • 认证问题:确保用户名 root@ob_mysql 和密码 xxxx 正确无误。
  • 权限问题:确保 root@ob_mysql 用户具有足够的权限来执行 oblogminer 操作。
  • 路径问题:确保输出路径 file:///data/logminer_output/ 存在且可写。

2. 检查网络连接

确保 192.168.150.116:2881 可以正常访问。您可以使用 telnetnc 命令来测试网络连接:

telnet 192.168.150.116 2881

nc -zv 192.168.150.116 2881

3. 检查认证信息

确保用户名和密码正确无误。您可以尝试使用 obclient 连接到数据库,验证认证信息:

obclient -h192.168.150.116 -P2881 -uroot@ob_mysql -pxxxx

4. 检查权限

确保 root@ob_mysql 用户具有足够的权限。您可以使用 obclient 登录后,执行以下命令检查权限:

SHOW GRANTS FOR 'root'@'ob_mysql';

5. 检查输出路径

确保输出路径 file:///data/logminer_output/ 存在且可写:

mkdir -p /data/logminer_output
chmod 755 /data/logminer_output

6. 重新尝试初始化

在确认以上步骤无误后,重新尝试初始化 oblogminer

oblogminer -c "192.168.150.116:2881" -u "root@ob_mysql" -p "xxxx" -s "2024-10-20 20:38:22" -o "file:///data/logminer_output/"

7. 收集更多诊断信息

如果问题仍然存在,建议使用 obdiag 工具收集更多的诊断信息,以便进一步排查:

obdiag gather scene run --scene=observer.unknown

8. 联系技术支持

如果以上步骤仍无法解决问题,建议联系 OceanBase 的技术支持团队,提供详细的日志和诊断信息,以便他们能够更有效地帮助您解决问题。

希望这些步骤能帮助您解决 oblogminer 初始化失败的问题。如果有任何进一步的问题或需要更多帮助,请随时联系。

更多信息请查看:

  1. ob_admin 简介
  2. 使用 systemd 部署 OceanBase 数据库
  3. ob_error
  4. 使用命令行部署单机集中式 OceanBase 数据库
  5. OceanBase 数据库 TPC-H 测试
  6. 升级 OceanBase 集群
  7. 通过 OBD 白屏部署 OceanBase 集群

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

2 个赞

好的,感谢反馈,这个问题后面会修复的。

2 个赞

我重新在另一台机器用二进制的安装了一遍,启动一直报init cdc instance failed,
按照官方文档处理:

  1. 为什么 oblogminer 启动失败,提示 init cdc instance failed?启动失败的一个常见原因是开始时间(-s/--start-time 指定)不符合 obcdc 对启动时间戳的要求,过早的开始时间会导致 oblogminer 启动失败。具体限制可参见 obcdc 常见问题

用文档里的sql查出来时间戳也不可以,还可以排查哪里呢,谢谢

SELECT CEIL(MAX(BEGIN_SCN)/1000) AS START_TS_US FROM oceanbase.GV$OB_LOG_STAT;

1 个赞

是指用 4.2.x 分支 重新编译的吗? 发一下 oblogminer 使用的命令行参数,以及oblogminer 日志吧

1 个赞

是的,用4.2.x 分支 重新编译的
oblogminer.log (126.3 KB)

1 个赞

看日志的话是你使用的oblogminer 与 observer 版本不一致,用目前 4.2.x 分支编译出来的不支持和4.3.x 的observer 一起用。

1 个赞

现在4.3的可以编译了吗;
这个版本不兼容建议明确下报错信息,提示的cdc初始化失败,容易误导哦

  1. 等这个问题修复后,我@你一下。 2. 这个在日志里是比较明确的,而且在文档里也有明确的版本兼容要求,感兴趣的话可以在github 上提交相关的issue / pull request。
2 个赞

收到感谢 :+1:

@banjin 这个问题已经在master分支上修复了,但是master 分支现在编译还有点问题。如果想试用的话可以在代码中检索一下,把obshell相关依赖删除 再编译。有问题也可以再回复我。

收到,上次编译就报obshell的问题了,我把它换成可以下的版本了 :sweat_smile:

123