欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 如何更改OCP与metadb集群的连接方式 —— OceanBase运维管理

如何更改OCP与metadb集群的连接方式 —— OceanBase运维管理

2025/4/15 15:30:12 来源:https://blog.csdn.net/OceanBaseGFBK/article/details/142336057  浏览:    关键词:如何更改OCP与metadb集群的连接方式 —— OceanBase运维管理

背景

许多用户都会借助OCP平台来进行OceanBase集群的运维与监控,且因为考虑单节点的OCP部署,在遇故障时可能会短时间出现无法管控 OceanBase集群,多数用户倾向于采用多节点方式来部署OCP,即 OCP的 metadb集群也是三节点的集群部署。

不过,在图形化部署OCP平台的时候,虽然OCP是多节点部署,OceanBase也是集群部署,但是也很容易造成单点故障。那就是OCP连接metadb的时候,因为本身不具备负载均衡能力,虽然在部署时部署了多个obproxy,但是实际OCP在连接metadb时,还是会只通过一个obproxy进行连接,而当这个obproxy出现故障时,OCP将无法连接metadb,导致OCP不可用。

因此就有了修改OCP连接metadb集群的需求,即在metadb的多个obproxy之上,通过搭建一个负载均衡,将OCP连接metadb的方式修改为连接 VIP 或者域名等方式,从而实现高可用。

实际修改连接方式,总共分三个步骤;

第一步:修改配置文件,修改OCP连接metadb的jdbc_url,然后填写连接ocp_meta租户和ocp_moniotr租户的信息;

第二步:修改状态文件,因为在第一步修改完配置文件之后,命令行提升可能需要重新部署(redeploy)集群,这个时候千万不要按照提示重新部署,这会导致集群数据全部丢失,需要修改成状态为NEED_RESTART;

第三步:带参数重新启动OCP集群。

下面就分步骤详细介绍下:

修改配置文件

在配置文件中,只需要修改ocp-server-ce下面的内容,默认在配置文件中,是没有关于OCP jdbc_url以及ocp_meta、ocp_monitor连接方式的配置,因此是需要将这些手动加上,默认配置大致文件如下:

ocp-server-ce:style: defaultpackage_hash: bd4512f9f708fb510d98f245b1be0b03a05e2cbaversion: 4.3.1release: 20240805192406.el7depends:- oceanbase-ce- obproxy-ceservers:- name: server2ip: 11.161.xx.xxglobal:home_path: /home/admin/ocpsoft_dir: /home/admin/ocp/softwarelog_dir: /home/admin/ocp/logsocp_site_url: http://11.161.xx.xx:8080port: 8080admin_password: xxxxxxmemory_size: 6Gmanage_info:machine: 10

首先,需要获取jdbc_url相关信息,这个可以在部署OCP时使用的obd命令的日志中(默认在~/.obd/log目录),过滤出jdbc_url信息,在日志里可以看到最初启动OCP时,连接metadb使用的连接串。在获取到这个连接串之后,将其修改为最新的 VIP 或者域名,填写到配置文件里,例如VIP为10.10.10.10,我过滤出来的jdbc_url如下

jdbc_url: jdbc:oceanbase://11.161.xx.xx:2883/meta_database

修改jdbc_url为如下,然后填入到配置文件中

jdbc_url: jdbc:oceanbase://10.10.10.10:2883/meta_database

接着再将ocp_meta和ocp_monitor两个租户的连接信息填入配置文件,最终结果如下:

使用obd cluster edit-config <deploy_name> 来修改配置文件

ocp-server-ce:style: defaultpackage_hash: bd4512f9f708fb510d98f245b1be0b03a05e2cbaversion: 4.3.1release: 20240805192406.el7depends:- oceanbase-ce- obproxy-ceservers:- name: server2ip: 11.161.xx.xxglobal:home_path: /home/admin/ocpsoft_dir: /home/admin/ocp/softwarelog_dir: /home/admin/ocp/logsocp_site_url: http://11.161.xx.xx:8080port: 8080admin_password: xxxxxxmemory_size: 6Gmanage_info:machine: 10jdbc_url: jdbc:oceanbase://10.10.10.10:2883/meta_databaseocp_meta_tenant:tenant_name: ocp_metaocp_meta_username: root # User to use under ocp meta tenantocp_meta_password: xxxxxx # Password used to connect to ocp meta tenantocp_meta_db: meta_database # Database used to store ocp meta dataocp_monitor_tenant:tenant_name: ocp_monitorocp_monitor_username: root # User to use under ocp monitor tenantocp_monitor_password: xxxxxx # Password used to connect to ocp meta tenantocp_monitor_db: monitor_database # Database used to store ocp meta data

然后 :wq 保存退出

$obd cluster edit-config metadb
Search param plugin and load ok
Search param plugin and load ok
Parameter check ok
Save deploy "metadb" configuration
Use `obd cluster redeploy metadb` to make changes take effect.
Trace ID: b885716c-71a9-11ef-9ff0-00163e046d79
If you want to view detailed obd logs, please run: obd display-trace b885716c-71a9-11ef-9ff0-00163e046d79

这个时候,会提示你需要重新redeploy集群,不过千万不要执行 obd cluster redeploy metadb 来重新部署,我们可以通过修改obd记录的状态文件,绕过这个redeploy,所以第二步,就是来修改这个状态文件

修改状态文件

默认状态文件是在 ~/.obd/cluster/<deploy_name> 目录下的 .data 这个文件,vim打开之后,关注config_status这个变量,可以看到当前状态是NEED_REDEPLOY,需要将其修改为NEED_RESTART。

name: metadb
components:oceanbase-ce:hash: 736ac0f3379032dd41436c1b5a229f8d42b44e21version: 4.2.1.4obproxy-ce:hash: 0aed4b782120e4248b749f67be3d2cc82cdcb70dversion: 4.2.1.0ocp-server-ce:hash: bd4512f9f708fb510d98f245b1be0b03a05e2cbaversion: 4.3.1
status: STATUS_RUNNING
config_status: NEED_REDEPLOY

修改完之后,就可以使用命令行重启集群

重启集群

重启集群时,使用 obd cluster restart <deploy_name> --wp 的方式进行重启,--wp 的含义是 --with-parameter,即用于让重启生效的配置项生效。

重启完成之后,此时 OCP 连接metadb的方式,就从原来的单一obproxy,修改为了通过10.10.10.10这个 VIP连接的方式了。

进一步,还可以进行测试,即任意关闭metadb的obproxy,看下OCP访问是否出现断开情况。

以上修改方式,都是基于OCP 4.2.x和4.3.x版本做的测试,未来相信官方也会对这块进行优化,使 OCP 在安装部署的时候,直接可以填写 VIP 或者 域名,从而真正达到 OCP 的高可用。


OceanBase 云数据库现已支持免费试用,现在申请,体验分布式数据库带来全新体验吧 ~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词