通过obproxy连接ob提示集群不存在

问题现象

[admin@obocp4 ~]$ obclient -h192.168.169.41 -P2883 -uroot@sys#obcp_test -pAdmin1234 -c -A -D oceanbase
ERROR 4669 (HY000): cluster not exist

但直连observer可以通;

系统信息

OBSERVER: OceanBase_CE-v4.2.1.8

OBPROXY: v4.3.5


[admin@obocp4 ~]$ obd cluster display myocp
Get local repositories and plugins ok
Open ssh connection ok
Connect to ocp-server-ce ok
+------------------------------------------------------------+
|                       ocp-server-ce                        |
+----------------------------+----------+-----------+--------+
| url                        | username | password  | status |
+----------------------------+----------+-----------+--------+
| http://192.168.169.41:8080 | admin    | Admin1234 | active |
+----------------------------+----------+-----------+--------+
Connect to observer 192.168.169.41:2881 ok
Wait for observer init ok
+--------------------------------------------------+
|                   oceanbase-ce                   |
+----------------+---------+------+-------+--------+
| ip             | version | port | zone  | status |
+----------------+---------+------+-------+--------+
| 192.168.169.41 | 4.2.1.8 | 2881 | zone1 | ACTIVE |
+----------------+---------+------+-------+--------+
obclient -h192.168.169.41 -P2881 -uroot@sys -p'oceanbaseV4' -Doceanbase -A

cluster unique id: c8ed8285-42b5-5bfc-92a9-15b190aa3f7e-199e098d6a5-08010204

Connect to obproxy ok
+--------------------------------------------------------------------+
|                             obproxy-ce                             |
+----------------+------+-----------------+-----------------+--------+
| ip             | port | prometheus_port | rpc_listen_port | status |
+----------------+------+-----------------+-----------------+--------+
| 192.168.169.41 | 2883 | 2884            | 2885            | active |
+----------------+------+-----------------+-----------------+--------+
obclient -h192.168.169.41 -P2883 -uroot@proxysys -p'nQZkcxhGnu' -Doceanbase -A

Trace ID: f1680e06-c07f-11f0-880f-005056abd95e
If you want to view detailed obd logs, please run: obd display-trace f1680e06-c07f-11f0-880f-005056abd95e

4 个赞

不知道怎么回事,等高手来解答,学习一下

2 个赞

41这台是OCP,你创建的OBProxy是46 47 48这三台,41上的OBProxy只能连接metadb

4 个赞

经测试,确实访问46 2883 端口可以访问数据库。

那有个疑问


这个访问地址干啥用的?

看41 上大量2883 端口转发到 46/47/48上;

[root@obocp4 ~]# netstat -antp |grep 2883
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:2883            0.0.0.0:*               LISTEN      290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.48:54670    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.48:54686    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.46:36558    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.46:49140    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.47:32984    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.47:32926    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.47:32944    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.48:54630    ESTABLISHED 290659/obproxy
tcp        0      0 192.168.169.41:2883     192.168.169.41:52772    ESTABLISHED 290659/obproxy
2 个赞

学习一下

2 个赞

:hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed: :hand_with_index_finger_and_thumb_crossed:

1 个赞

支持一下

1 个赞

集群名称错了,应该是myocp,此集群构建了以41为obproxy,ob-ce,ocp服务

1 个赞

你集群名称不是myocp吗

另外OBProxy和业务租户需要做一个绑定

1 个赞

部署架构介绍一下看看

41 部署的OCP,以及单机集群 myocp;
将OBPROXY 部署到 OB 集群obcp_test 46/47/48 三个节点上;

在部署obproxy 时将obproxy访问地址填写为41,导致

 obclient -h192.168.169.41 -P2883 -uroot@sys#obcp_test -pAdmin1234 -c -A -D oceanbase
ERROR 4669 (HY000): cluster not exist

如直接使用如下命令则可以。

 obclient -h192.168.169.46 -P2883 -uroot@sys#obcp_test -pAdmin1234 -c -A -D oceanbase

现在的问题:
obproxy设置的访问地址干啥用,不是转发到obproxy上吗?

架构如下:

41 部署的OCP,以及单机集群 myocp;
将OBPROXY 部署到 OB 集群obcp_test 46/47/48 三个节点上;

在部署obproxy 时将obproxy访问地址填写为41,导致

 obclient -h192.168.169.41 -P2883 -uroot@sys#obcp_test -pAdmin1234 -c -A -D oceanbase
ERROR 4669 (HY000): cluster not exist

如直接使用如下命令则可以。

 obclient -h192.168.169.46 -P2883 -uroot@sys#obcp_test -pAdmin1234 -c -A -D oceanbase

现在的问题:
obproxy设置的访问地址干啥用,不是转发到obproxy上吗?

【obproxy设置的访问地址干啥用,不是转发到obproxy上吗】
不是,OCP界面上配置的访问地址没有业务意义,可以随意指定,主要是用来生成租户的连接串的功能,也就是你填错了,生成的连接串也就错了,可以改成正确的就行

这个在安装时会有一个含义描述

1 个赞

查了一下:

简单说:
访问地址是用于 OBPROXY前端负载均衡的IP地址,需要配置 负载均衡到 obproxy的链路,否则访问地址无作用;

不是哦,配置具体的OBProxy地址也是有用的,只是说如果有多个OBProxy,需要增加F5或其他负载均衡服务,给多个OBProxy做一层负载,对业务侧提供统一入口