使用OBD安装oceanbase 和OBproxysql,连接obproxysql 无法查询租户信息

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.1
【问题描述】
[root@ob01 ~]# obclient -h10.0.22.42 -P2883 -uroot@proxysys#baofoo -p’7Az9qLt3Jt’ -Doceanbase -A
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 443891866
Server version: 5.6.25

Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

obclient [oceanbase]>
obclient [oceanbase]>
obclient [oceanbase]> show databases;
±-------------------------±------------------+
| Variable_name | Value |
±-------------------------±------------------+
| tx_isolation | READ-COMMITTED |
| system_time_zone | +08:00 |
| time_zone | +08:00 |
| character_set_server | utf8mb4 |
| character_set_client | utf8mb4 |
| interactive_timeout | 28800 |
| query_cache_size | 1048576 |
| character_set_results | utf8mb4 |
| max_allowed_packet | 4194304 |
| sql_mode | STRICT_ALL_TABLES |
| net_buffer_length | 16384 |
| wait_timeout | 28800 |
| lower_case_table_names | 2 |
| query_cache_type | OFF |
| init_connect | |
| transaction_isolation | READ |
| character_set_connection | utf8mb4 |
| net_write_timeout | 60 |
±-------------------------±------------------+
18 rows in set (0.002 sec)

obclient [oceanbase]> use systest
ERROR 2013 (HY000): Lost connection to MySQL server during query
obclient [(none)]>

连接obproxysql后,无法访问集群租户的信息

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

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

root@proxysys 是 obproxy 管理员账号,主要是用来查看和修改obproxy的参数。

如果是要访问某个租户,可以参考:登录 oceanbase 租户
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000818381

还有一个疑问,一套obproxy只能连一套oceanbase集群吗? 如果不是,如果动态添加多个集群。

一套obproxy集群可以接管多套ob集群,添加方式:在ocp平台上进入对应obproxy集群页面右上角

obproxy使用rslist的方式只能接管一套集群,使用config server的方式可以接管多套集群,因为config server里面就是记录集群和rslist的对应关系

[root@ob02 obproxy]# ps -ef | grep ob
admin 1722 1 70 Jun02 ? 1-20:00:13 /home/admin/observer/bin/observer -r 10.0.22.41:2882:2881;10.0.22.42:2882:2881;10.0.22.43:2882:2881 -p 2881 -P 2882 -z zone2 -n obdemo -c 1 -d /data -i ens192 -o __min_full_resource_pool_memory=2147483648,memory_limit=20G,system_memory=1G,datafile_size=10G,datafile_maxsize=180G,log_disk_size=80G,enable_syslog_wf=True,enable_syslog_recycle=True,max_syslog_file_count=4
admin 2276 1 0 Jun02 ? 00:00:20 /home/admin/observer/bin/obshell daemon --ip 10.0.22.42 --port 2886
admin 2304 2276 0 Jun02 ? 00:04:49 /home/admin/observer/bin/obshell server --ip 10.0.22.42 --port 2886
admin 3689 1 0 Jun02 ? 00:05:35 bash /home/admin/obproxy/obproxyd.sh /home/admin/obproxy 10.0.22.42 2883 daemon
admin 3718 1 2 Jun02 ? 01:50:39 /home/admin/obproxy/bin/obproxy --listen_port 2883
admin 4080 1 0 Jun02 ? 00:01:03 /home/admin/obagent/bin/ob_agentd -c /home/admin/obagent/conf/agentd.yaml
admin 4085 4080 0 Jun02 ? 00:10:38 /home/admin/obagent/bin/ob_monagent
admin 4086 4080 0 Jun02 ? 00:00:04 /home/admin/obagent/bin/ob_mgragent
root 28583 28447 0 09:54 pts/1 00:00:00 grep --color=auto ob
[root@ob02 obproxy]#

我是通过命令行黑屏安装的oceanbase和odp,从上面的结果来看算是rs_list方式吧,那如何调整为config server的方式,并且如何实现通过命令行方式动态配置。

你可以登录到proxysys,show proxyconfig like ‘%obproxy_config_server_url%’,如果是config server的方式,那就是有值的,config server依赖于OCP呢,推荐你部署OCP,然后用OCP来部署obproxy,部署的的时候选择config server方式启动。