ODP集群 如何设置 才能做到连接集群IP后,OBP自动负载均衡到OBserver

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】最新版ODP
【问题描述】ODP集群 如何设置 才能做到连接集群IP后,ODP自动负载均衡到OBserver
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据文档库中的信息,以下是实现 OBProxy (OBP) 集群自动负载均衡到 OBServer 的设置方法:

1. 确认使用环境

  • 生产环境或测试环境均可适用。
  • 确保使用的是最新版本的 OBProxy。

2. 配置负载均衡

根据文档片段信息,OBProxy 支持读写分离和负载均衡功能。要实现连接集群 IP 后 OBProxy 自动负载均衡到 OBServer,需要完成以下步骤:

2.1 设置 Zone 权重

  • ODP(OceanBase Data Proxy)自 V4.3.2 起支持基于权重的负载均衡。您可以通过配置 weadread_weight_zone 参数为 OceanBase 集群中的各个 Zone 设置权重。
    (参考文档:ODP 支持基于权重的负载均衡

示例配置

# 设置 Zone A 和 Zone B 的权重
obd cluster config <cluster_name> --set global.weadread_weight_zone="A=5,B=3"

2.2 添加可连接的 OceanBase 集群

操作步骤

  1. 登录 OCP。
  2. 在左侧导航栏单击 OBProxy
  3. 选择目标 OBProxy 集群,进入 概览 页面。
  4. 单击右上角的 添加可连接的 OB 集群
  5. 在弹出框中选择可连接的 OceanBase 集群。
  6. 单击 确定

2.3 配置负载均衡策略

  • 默认情况下,OBProxy 会根据内置的负载均衡算法将请求分发到不同的 OBServer。如果需要自定义负载均衡策略,可以调整相关参数。

关键参数

  • ob_read_consistency:控制读一致性策略。
  • ob_preferred_replica_type:指定优先读取的副本类型(如全量副本或只读副本)。

示例配置

# 设置读一致性为 WEAK
obd cluster config <cluster_name> --set global.ob_read_consistency="WEAK"

# 设置优先读取只读副本
obd cluster config <cluster_name> --set global.ob_preferred_replica_type="READONLY"

3. 验证负载均衡效果

  • 连接到 OBProxy 集群的 IP 地址后,通过执行 SQL 查询验证负载均衡是否生效。
  • 使用 EXPLAINSHOW PROCESSLIST 查看查询路由情况。

示例验证

-- 查看当前连接的 OBServer
SELECT * FROM INFORMATION_SCHEMA.OB_SERVERS;

-- 检查查询路由
EXPLAIN SELECT * FROM your_table;

4. 注意事项

  • 如果 OBProxy 集群包含多个 CPU 架构,在升级或配置时需确保所有架构均支持所选版本。
  • 推荐使用默认端口 2883 部署 OBProxy,避免端口冲突。

总结

通过上述配置,您可以实现 OBProxy 集群的自动负载均衡功能。具体操作请参考 OCP 官方文档 中的相关章节。如果有进一步问题,请联系 OceanBase 技术支持团队获取帮助。

检索到的文档如下:

  1. 管理 OBProxy 连接的 OceanBase 集群
  2. 使用 OCP 进行运维
  3. 基于权重的负载均衡
  4. 删除 OBProxy
  5. 部署方式
  6. 部署 OceanBase 集群
  7. 升级 OBProxy 集群下全部 OBProxy
  8. 通过命令行部署 ODP