当前位置: 首页 > ai >正文

obd运维OceanBase数据库的常见场景

obd运维OceanBase数据库的常见场景

  • 集群参数调整
  • 服务重启
  • 服务升级
  • 服务扩容

集群参数调整

⭐️ OBD调整OceanBase集群参数步骤:

  1. 查看部署名称:obd cluster list
  2. 编辑集群参数:obd cluster edit-config 部署名称
  3. 使参数生效:obd cluster reload/restart/redeploy 部署名称

OBD目录结构如下:

[admin@test001 /home/admin/]$tree -L 1 ~/.obd
/home/admin/.obd
|----- cluster
# 存放部署名称对应配置文件,不建议直接编辑该配置文件,需要使用obdclusteredit-config操作
# 存在.data隐藏文件,记录部署名称、组件相关信息、部署状态信息。不建议直接编辑该配置文件
|----- config_parser
|----- lock
|----- log         # 存放OBD命令操作的日志
|----- mirror      # 存放本地仓库的安装包和远程仓库的repo文件
|----- optimize
|----- plugins     # 存放组件相关插件
|----- repository
|----- version     # 记录OBD版本

⚠️ 调整集群参数时需要注意:

  1. 如果edit-config调整的参数不确定是重装生效、重启生效、还是重载生效,可以参看find ~/.obd/plugin/${component} "parameter.yaml"文件。

  2. 遵守原则:部署配置文件有的参数,优先obd cluster edit-config方式修改,部署配置文件中没有的参数,可以登录数据库SQL命令方式修改。部署配置文件修改参数不确定生效方式的查看parameter.yaml文件酌情修改。

  3. 编辑oceanbase-ce模块下的资源参数时,注意datafile_sizze参数不支持调小。

  4. 调整集群或租户资源时,分别需要遵守以下原则:

⚠️ 调整集群资源时,需要遵守原则:

  • 调大参数数值时,不超出服务器剩余资源范围;
  • 调小参数数值时,不低于租户已分配占用的数值范围。

⚠️ 调整租户资源参数时,需要遵守原则:

  • 调大参数数值时,不超出集群剩余资源范围;
  • 调小参数数值时,租户内存最小不能低于__min_full_resource_pool_memory限制;
  • 调小参数数值时,租户CPU最小不能低于1核,MAX_CPU不能小于MIN_CPU
  • 调小参数数值时,租户LOG_DISK_SIZE参数建议是租户内存的3~4倍大小。

服务重启

⭐️ 重启服务的三种场景:

  1. 重启部署名称下的所有服务:obd cluster restart 部署名称
  2. 重启部署名称下的指定服务:obd cluster restart 部署名称 -c 组件名称
  3. 重启部署名称下的指定服务指定节点:obd cluster restart 部署名称 -c 组件名称 -s IP1,IP2

⚠️ 重启组件时需要注意:

  1. 重启组件的前提是所有组件涉及的节点SSH需要连通,否则即使指定IP节点也无法进行重启操作。

  2. 所有组件均重启完成时,obd cluster list对应部署名称的状态才会是running,如果存在组件重启失败,后续组件不会再进行重启动作。

  3. obd cluster list中部署名称的状态是非实时获取,只有管理操作完成后才会更新,因此可能会出现组件的服务不正常时,而部署状态为running,例如服务器重启后。建议通过display来确认所有组件是否正常。

  4. 部署名称状态如果非running,会影响后续管理操作,例如升级、扩容等。

  5. 组件名称为部署配置文件中的组件模块名称,非obd cluster display展示的。

  6. 指定多个组件名称时,需要使用逗号间隔。

  7. 单独重启某个服务组件时,并不会更新部署名称的状态。即服务都停止时,部署名称状态为stopped,每个组件均单独启动时,最终部署名称状态仍然是stopped。

  8. 如果指定多个IP时,存在错误的IP时,OBD会跳过错误的IP信息,仅对正确的IP进行重启操作。

  9. 如果指定多个组件服务时,存在错误的组件名称,OBD会终止整个重启操作

服务升级

  1. 检查并升级OBD:
obd update
  1. 升级OceanBase:
obd cluster upgrade 部署名称-c oceanbase-ce-V4.2.1.4 --usable=xxxx

其中--usable参数后面指定的是升级中使用的镜像hash列表。

⚠️ OBD升级OceanBase需要注意:

  1. 使用OBD升级前,如果集群存在主备租户,建议主备集群均升级至相同版本。

  2. 使用OBD升级前,确认目标版本的Release Notes中升级说明。

  3. 使用OBD升级前,如果升级目标版本为V4.0.xV4.1.xV4.2.0 BETA版本时,需调整业务租户的primary zone为顺序优先级,升级完成后再还原。

ALTER TENANT test primary_zone='zone1;zone2;zone3';
  1. 使用OBD升级前,需要检查部署名称状态是running,且OceanBase集群状态无异常。

  2. 建议升级前对集群进行一次合并操作。

ALTER SYSTEM MAJOR FREEZE;
  1. 使用OBD升级时,如果升级失败,支持重复执行OBD升级命令,但禁止在不明升级失败原因的情况下修改集群系统参数,例如enable_ddlenable_upgrade_mode

  2. 使用OBD升级时,如果升级失败,可以通过黑屏打印的obd display-trace xxxx信息、或者查看升级日志upgrade_post.log进行检查。

  3. 使用OBD升级完成后,除了检查集群状态之外,建议升级其他组件服务至配套版本的。

服务扩容

OBD集群命令obd cluster scale_out会将新节点扩容配置信息更新到源集群部署配置文件中,并对扩容节点进行环境预检查,通过后会在扩容节点安装OceanBase并启动服务,添加到源集群中。

⭐️ OBD扩容节点的逻辑如下:

  1. 编写OceanBase扩容配置文件(scale_out.yaml
oceanbase-ce:servers:- name: server2ip: 10.10.10.2- name: server3ip: 10.10.10.3server2:mysql_port: 2881 # External port for OceanBase Database. The default value is 2881.rpc_port: 2882   # Internal port for OceanBase Database. The default value is 2882.home_path: /home/admin/observerzone: zone2server3:mysql_port: 2881 # External port for OceanBase Database. The default value is 2881.rpc_port: 2882   # Internal port for OceanBase Database. The default value is 2882.home_path: /home/admin/observerzone: zone3
  1. 扩容OceanBase服务。
obd cluster scale_out test -c scale_out.yaml
  1. 复制命令行输出的obd cluster display命令并执行,可查看集群的状态。

  2. OceanBase集群扩容成功后,进行租户内的资源扩容。

⚠️ OBD扩容OceanBase需要注意:

  1. 扩容前,需要检查OBD版本是否需要更新,建议使用最新版本。

  2. 扩容前,扩容的节点建议先进行服务器初始化。其中部署用户和SSH连接信息需要确保一致。

  3. 扩容前,需要确保OceanBase集群状态正常。

  4. 扩容前,需要确保已经安装有OBClient客户端。

  5. 扩容前,扩容节点的配置文件不允许修改原集群配置中的dependsglobal或其他server部分的配置,配置新节点的基础信息即可,因此需要保证正扩容节点服务器资源配置目录挂载等和原集群服务器保持一致。

  6. 扩容后,需要对租户进行增加副本,否则仍然是单副本租户。

  7. 扩容后,建议按需调整租户的primary zone优先级。

  8. 扩容后,暂不支持使用OBD进行集群缩容。

  9. 扩容后,也支持纵向扩容observer节点,扩容配置文件中指定源集群zone名称即可,扩容完成后,可以对租户资源水平扩展

References
【1】https://www.oceanbase.com/docs/obd-cn
【2】https://www.oceanbase.com/docs/community-obd-cn-1000000000050428
【3】https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003381951
【4】https://www.oceanbase.com/docs/common-obd-cn-1000000003415357

http://www.xdnf.cn/news/16290.html

相关文章:

  • 0基础法考随手笔记 03(刑诉05 刑事证据与证明+06 强制措施)
  • 【Canvas技法】绘制正N角星
  • 机器学习的工作流程
  • Windows 平台源码部署 Dify教程(不依赖 Docker)
  • 手写PPO_clip(FrozenLake环境)
  • 【LeetCode 热题 100】79. 单词搜索——回溯
  • 电子电气架构 --- 车载软件交样评审流程
  • Java面试题及详细答案120道之(041-060)
  • 排序算法,咕咕咕
  • 进制定义与转换详解
  • vcpkg如何交叉编译
  • HCLP--MGER综合实验
  • 数据结构习题--删除排序数组中的重复项
  • 详解力扣高频SQL50题之1084. 销售分析 III【简单】
  • Python点阵字生成与优化:从基础实现到高级渲染技术
  • 数据恢复与备份
  • 快速入门Linux操作系统(一)
  • 立式加工中心X-Y轴传动机械结构设“cad【6张】三维图+设计说明书
  • 进阶数据结构:用红黑树实现封装map和set
  • 学习嵌入式的第三十一天-数据结构-(2025.7.23)网络协议封装
  • 数据中心-时序数据库InfluxDB
  • 掌握Gemini-2.5:现代AI开发中实用应用的综合指南
  • 二次函数图像动画展示
  • 在Power Automate Desktop中执行PowerShell获取SharePoint online某个文件夹的用户权限列表
  • excel删除重复项场景
  • 算法竞赛阶段二-数据结构(35)数据结构单链表模拟实现
  • Node.js 模拟 Linux 环境
  • 【每天一个知识点】GAN(生成对抗网络,Generative Adversarial Network)
  • Whisper语音转文字
  • 【洛谷】单向链表、队列安排、约瑟夫问题(list相关算法题)