【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】
基于OCP重新创建了新的业务集群,然后关联至已经创建好的OBProxy集群,所有节点都显示正常运行。目前可以直接连接新集群下的observer,但是获取通过OBProxy连接的连接串,就无法连接了。
报错如下:
ERROR 2002 (HY000): Can’t connect to OceanBase server on ‘192.168.18.130’ (115)
下图是OBProxy集群以及其下的OBProxy节点
目前想通过OBProxy集群,去访问新业务集群的SYS租户,通过界面获取连接串,如下图:
然后通过obclient客户端连接,就返回上面提到的错误了。
直接连接新业务集群的observer节点确实没问题,但是通过OBProxy集群就不行了。
1 个赞
辞霜
2024 年11 月 11 日 15:59
#3
麻烦去proxy节点进入/home/admin/myoceanbase/obproxy/log目录,提取出obproxy.log日志和error日志
error日志是空的呀。
然后obproxy给您截取了 我尝试连接之后的打印输出
obproxy.log (502.9 KB)
辞霜
2024 年11 月 11 日 16:46
#5
obproxy接管集群是否正常。使用root@proxysys#jx_proxy登录试试是否能成功
还是同样的错误呀
接管的集群显示是正常运行的呀
这个集群我是通过OCP的界面完成创建的。整体任务执行过程中,全部成功,没有任何异常!
然后我通过客户端,也是可以直接连到新集群的observer节点的,如图:
辞霜
2024 年11 月 11 日 17:13
#7
obporxy可能有问题,如果方便的话可以铲掉重新搭建一下试试,端口默认使用2883即可
我OBproxy集群下的节点就一个呀,就是130那台机器,而且端口使用的都是默认的。
但是我有一个疑问啊,就是我OBProxy的集群(jx_proxy),他提供的访问地址(IP+端口)
这个地址是我写哪台机器都可以吗? 还是必须是集群下的某一节点的IP,还是需要添加一台空闲的主机?
因为我proxy节点就一个(130),然后集群的访问我也写到了130上,因为2883的端口已经被节点默认占用了,所以我自定义了9999的端口,提供OBProxy的集群用于访问。这样可以吗?
辞霜
2024 年11 月 11 日 17:29
#9
连接串填写 obproxy节点
自定义端口也可以的。目前看使用root@proxysys#jx_proxy登录不上去就说明obproxy存在问题
那这个问题呢? 这个集群的访问地址的IP到底应该怎么去填写呀?规则是怎样的
而且OBProxy那个节点也能连接上,但是连上之后显示的库不对,而且所有库都无法打开。
辞霜
2024 年11 月 11 日 17:44
#12
你连的是OBProxy没有数据库的正常。
集群访问地址指什么?
连接业务集群串:obclient -h填写30节点obproxy的ip -uroot@sys#ob集群名 -P9999
不就是创建OBProxy集群的时候,需要填写的访问地址么。
辞霜
2024 年11 月 12 日 10:05
#14
这个填写obproxy的节点即可,你使用2883端口试试呢 看你上面连proxy时用的2883
OBProxy集群的访问地址不生效,是因为没有搭建OBProxy集群的负载,虽然在同一台机器,可是9999的端口无法指向proxy节点的2883端口的,所以通过代理集群的访问地址还是无法连接的,我目前是通过直接访问代理集群下的某一代理节点的连接串,即可连接到业务集群的某一租户下。
如果OBProxy集群下后续会部署多个代理节点的话,自行搭建负载即可,至于负载可选的方案就很多了。只要可以负载TCP的连接就行。