【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】4.2.5
【问题描述】 客户现场反馈执行curl请求卡住没反应,我怀疑是他请求的端口的问题,和客户现场的人员沟通,他自己也搞不清楚数据库人员给他的端口是OceanBase的服务端口还是数据库端口,我应为也不是很熟,能麻烦各位大佬帮我看看吗
【复现路径】附件执行netstat -nltp的返回值图片
【附
件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
论坛小助手
#3
在 OceanBase 中,服务端口通常指的是集群中各节点用于内部通信的端口,而数据库端口则是客户端连接 OceanBase 集群进行数据操作的端口。一般情况下,OceanBase 默认的数据库端口是 2881 或者 2883。如果您遇到了使用 curl 请求 OceanBase 时的卡顿现象,这可能是由于网络配置、防火墙设置、或是端口监听问题导致的。建议首先确认 curl 请求所使用的端口号是否正确,以及该端口是否已被正确配置并允许外部访问。
针对您提到的情况,建议先进行如下步骤:
- 确认数据库端口是否被正确监听,可以通过
netstat -tlnp | grep 2881(或您使用的实际端口)命令来检查。
- 检查是否有防火墙规则阻止了外部对数据库端口的访问,可以使用
iptables -L 查看当前的防火墙规则。
- 确认
curl 请求的目标地址和端口是否准确无误。
接下来,您可以使用 obdiag 工具来进一步采集日志信息,以便于更深入地分析可能存在的问题。建议使用以下命令:
日志采集场景: io问题
日志采集命令: obdiag gather scene run --scene=observer.io
请执行上述命令并将生成的日志文件打包发送给我们,以便我们能够进一步分析导致 curl 请求卡顿的具体原因。
为了更好地定位问题,请您提供以下几个方面的信息:
- 当前 OceanBase 版本及部署方式(如 OCP, OBD)。
- 使用
curl 请求的具体命令及其返回的结果。
- 是否有其他应用在同一台机器上也出现了类似的网络访问卡顿情况?
- 您是否已经检查过服务器的网络连接状态,例如通过 ping 测试或其他网络诊断工具?
- 您是否有对 OceanBase 的端口配置做出过任何更改?如果有,请详细说明。
- 在出现问题的时间段内,系统是否有其他异常表现,比如 CPU 或 内存 使用率突增?
以上信息将有助于我们更快地找出问题所在。感谢您的配合!
附上敏捷诊断工具 obdiag 使用帮助链接