obd demo运行一段时间后无法通过客户端连接,重新删除部署obd demo后还是连接失败

【 使用环境 】测试环境
【 OB or 其他组件 】obd demo
【 使用版本 】OceanBase_CE 4.1.0.1
【问题描述】上周在服务器A安装运行obd demo后,能正常运行,并能在本地机器B上通过ODC客户端连接到服务器。但是本周回来后在本地机器B上连接,提示服务器无法连接。此时在服务器A上依然能够通过obclient -hxxx -Pxxx登录访问。
obd cluster destroy demo后重新运行obd demo安装后,问题还是存在
(本地服务器B无法telnet上)
【复现路径】
【问题现象及影响】

【附件】



1 个赞

telnet 不连看起来不是odc或者ob的问题,本身网络就不通了。可以确认一下服务器A是否有修改过网络配置等,防火墙等

1 个赞

两个机器是一个网段的,不会设置防火墙

尝试ping一下 ob所在机器看能否联通

ping是没问题,并且可以通过ssh连上ob部署所在的服务器

1 个赞

先执行 obd cluster stop demo 停掉 ob,使用 obd web -p2881看能否访问这个网址
image

停止ob执行命令后,一直卡在这里

看起来是 obd web 没有找到其他 ip,所以报出了127的ip。可以尝试一下在网页上用本机的 ip:port看能否打开网页。如果打不开,说明网络有问题。
如果可以打开,此时可以看一下租户的白名单是否配置了。


https://www.oceanbase.com/docs/community-observer-cn-10000000000900434

1、访问哪个port?2881吗?
2、是否需要重新启动obd demo才能查看租户白名单?
3、这边重启obd demo提示失败,请问如何处理?

1、直接访问 ob集群是2881 端口,通过 obproxy访问是2883 端口
2、是要有ob集群运行中才能查看
3、obproxy重启失败,需要发一下proxy的日志查看一下,默认在 ~/obproxy-ce/log 下

老师:
1、关于第一点,我的组网机器A(开发环境,window)访问机器B(数据库安装环境,linux),我是要在A上用ip:port的方式访问网页吗?这么操作肯定是不行的吧,telnet都telnet不上。但是如果机器B访问网页,要如何操作,命令行登录的,没有浏览器?
2、关于第二点,重启服务后执行命令显示如下:


3、关于第三点有个猜想,obproxy作用是什么?是不是因为其启动失败,导致无法再机器A上访问机器B?

跟你确认下目前的现状:
1.ob装在A机器,本地可以访问通
2.通过B 访问A上面的数据库访问不通
3.通过B telnet A机器的ip port telnet不通

如果是这样的话 和ob没啥关系。 应该是端口访问不通的问题。可能是2881的端口没有开放。 建议关闭防火墙 或者单独放开这个端口之后尝试

3.obproxy 你可以简单通俗的理解(不准确)为集群的代理 在有多个节点时候充当路由分发的作用。
proxy启动失败需要看 ~/.obd/log/obd 这个日志文件是否有错误日志。
如果没有错误日志大概率是超时导致的,可以重试 如果还不行 需要通过手动修改超时时间解决(obd下一个版本就会增加这个超时时间) 参考这个帖子解决:在测试环境安装社区版ob4.1失败

:+1:增加重试次数后ok了,granfana启动应该也是同样问题,第一次启动失败,增加重试次数后也能正常启动了

可能是你机器配置低 或者磁盘不是nvme固态盘 所以速度慢

mark