oms添加configurl报错Invalid request parameter. Reason: ObCluster or ObRegion is required

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】

OMS添加源数据为ob时需要填入configurl,结果报错了

我手动curl了下,需要加引号才行,不加引号就是上图那个报错
-bash-4.2$ curl http://10.47.182.79:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=ocpmaster&ObRegion=ob_hd
[1] 11699
[2] 11700
[3] 11701
-bash-4.2$ -bash: UID: readonly variable
{“Code”:2010,“Cost”:1,“Message”:“Invalid request parameter. Reason: ObCluster or ObRegion is required”,“Server”:“b5aafd077a”,“Success”:false,“Trace”:“c15c66ca02ef478f”}
[1] Done curl http://10.47.182.79:8080/services?Action=ObRootServiceInfo
[2]- Done User_ID=alibaba
[3]+ Exit 1 UID=ocpmaster
-bash-4.2$
-bash-4.2$ curl ‘http://10.47.182.79:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=ocpmaster&ObRegion=ob_hd
{“Code”:200,“Cost”:1,“Data”:{“ObCluster”:“ob_hd”,“ObClusterId”:1,“ObRegion”:“ob_hd”,“ObRegionId”:1,“ReadonlyRsList”:[],“RsList”:[{“address”:“10.47.182.76:2882”,“role”:“LEADER”,“sql_port”:2881},{“address”:“10.47.182.77:2882”,“role”:“FOLLOWER”,“sql_port”:2881},{“address”:“10.47.182.78:2882”,“role”:“FOLLOWER”,“sql_port”:2881}],“Type”:“PRIMARY”,“timestamp”:1725351211523000},“Message”:“successful”,“Server”:“b5aafd077a”,“Success”:true,“Trace”:“dd07cee6b40a4728”}

image
我改成rootservice_list也报错,一定要url格式

啥情况,感觉有点搞笑。。
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

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

3 个赞

用户问题: “在 OMS 中添加 OceanBase 配置 URL 时报告了无效请求参数的错误,提示需要 ObCluster 或 ObRegion。”

根据您的描述,这个问题与 OceanBase 集群的配置有关,但并不直接对应于 obdiag 工具预定义的任何特定的日志采集或根因分析场景。不过,为了更好地理解问题并提供进一步的帮助,我们可以从集群的基础信息入手,这有助于确认集群的基本设置是否正确。

推荐使用 obdiag 工具进行基础信息的日志采集,并且将采集到的日志提供给我们以便确认问题所在。

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

请您执行上述命令并将采集到的日志压缩包发送给我们。这将帮助我们更准确地定位问题所在。

为了进一步了解问题,请您提供以下信息:

  1. 您是在哪个界面尝试添加 OceanBase 配置 URL 的?是通过图形界面还是命令行?
  2. 在添加配置 URL 时,您是否指定了正确的 ObClusterObRegion 参数?
  3. 您能否提供尝试添加的配置 URL 的具体格式或示例?
  4. 您是否尝试过查看集群的当前配置 (cluster name)?可以通过执行 show parameters where name = 'cluster' 来获取。

具体信息可参考以下文档:

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

3 个赞

我填的那个值就是 show parameters where name = 'cluster'获取的呀

都手动curl成功了,就是需要加引号

3 个赞

oms平台上添加ob源数据地址的时候报错的

2 个赞

再向您确认几个问题:

  1. 您是在OMS平台的哪个具体功能模块中尝试添加OB源数据地址时遇到此问题的
  2. 您所使用的OMS平台版本是多少
  3. 在添加配置URL时除了ObCluster或ObRegion外是否还填写了其他参数
  4. 您能提供一下具体的错误提示信息吗包括完整的错误代码和上下文
2 个赞

1.界面就是数据源管理-添加数据源

2.版本号: 4.2.4_CE
image

3.没有其他参数,只有必填的
4.具体错误就是返回{“Code”:2010,“Cost”:1,“Message”:“Invalid request parameter. Reason: ObCluster or ObRegion is required”,“Server”:“b5aafd077a”,“Success”:false,“Trace”:“c54a309efe7c4cd9”}
手动curl如果不加引号就是报这个错

2 个赞

感谢您提供的详细信息。根据您提供的截图和描述,您在OMS社区版4.2.4_CE版本中尝试添加OceanBase数据源时遇到了错误,错误信息表明缺少必要的ObClusterObRegion参数。然而,您已经通过show parameters where name = 'cluster'命令确认了集群名称,并且手动通过curl命令验证了配置URL的有效性,只是在不加引号的情况下会出现错误。

针对您的问题,以下是可能的解决方案:

1. 确认ObClusterObRegion参数

在OMS平台中添加数据源时,ObClusterObRegion是必须填写的参数之一。请确保您在填写Configurlrootservice时,也正确地指定了ObClusterObRegion

2. 引号问题

从您的描述来看,手动通过curl命令时,如果在URL字符串中加上引号,请求可以成功。这表明OMS平台在处理配置URL时可能也需要类似的格式。因此,请尝试在OMS平台中输入配置URL时加上双引号,例如:

"http://10.47.182.79:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=ocpmaster&ObRegion=ob_hd"

3. 检查其他参数

尽管您提到没有填写其他参数,但请再次确认是否所有必填字段都已经正确填写,包括但不限于:

  • 数据源标识
  • 地域(如果适用)
  • 租户类型
  • 输入方式
  • 主机IP
  • 端口
  • 数据库用户名
  • 数据库密码

4. 联系技术支持

如果以上步骤仍然无法解决问题,建议您联系OceanBase的技术支持团队,他们可以提供更详细的排查和解决方案。同时,您可以将此问题反馈给OMS平台的开发团队,以便他们能够优化用户体验。

希望这些建议对您有所帮助。如果还有其他问题,请随时告知。

具体信息可参考以下文档:

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

2 个赞

数据源ob是否是由ocp管理的,如果是则需要选择对应的ocp
只有不是ocp管理的,才能使用rootservice_list

1 个赞

你这个rootservice_list 是点击这个自动获取么?还是查询的rootservice_list自己输入的?
image

2 个赞

show parameters like ‘rootservice_list’
命令查到然后自己写上去的,现在已经解决了, 我改成只写一个10.47.182.76:2882:2881就可以了

2 个赞

大佬,还有个问题,正向切换这里的确认追平为啥不通过的,我源目端都没数据写入,等很久还是没通过

1 个赞

看着增量延迟比较大 你把增量的日志发一下 查看一下组件监控


应该是增量延迟导致 位点应该不一致

增量应该不会有延迟才对,从头到尾都没写入过数据

现在我手动在源端MySQL写了一条数据,然后就好了

你是mysql迁移到obmysql中是么?源端是mysql?应该是是你的源端没有数据进来 增量那边有延迟 现在好了么?

你的集群使用ocp接管了吗?

是的,MySQL迁移到obmysql

源端刚才没有数据写入的,迁移的数据都是以前的存量数据
所以根本没有增量数据,增量同步延迟却一直在增加

现在我主动写一条数据进去源端MySQL作为增量数据,等那一条数据同步过去后才ok的

是的,完全用ocp部署和管理的

是的 你全量迁移是mysql的存量数据 增量同步 才是你新增的数据 所以你插入一条数据 才会有增量 延迟才不会增加了

这样设计感觉怪怪的,得写点脏数据进去同步才会走下一步流程,要是有个功能让我们确认是否跳过这个检查就好了

暂时先咨询一下相关的同学 后续在给你答复