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

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.dtcms.com/a/299646.html

相关文章:

  • C++11特性详解(上)
  • 解决使用vscode连接服务器出现“正在下载 VS Code 服务器...”
  • 实现网页访问/接口调用KernelMemory
  • cacti的命令执行和回显
  • 八股文整理——计算机网络
  • 【数据结构】队列和栈练习
  • HTTPS的基本理解以及加密流程
  • Nestjs框架: 基于Mongodb的多租户功能集成和优化
  • 顶顶通呼叫中心系统之创建与注册分机
  • 矩阵乘法计算
  • 安德鲁·卡帕西:深入探索像ChatGPT这样的大语言模型
  • 免费 PDF 转 Word 工具:无水印 / 支持批量转换,本地运行更安全【附工具下载】
  • Ubuntu系统 系统盘和数据盘扩容具体操作
  • 【第二章-数据的表示和运算】
  • vulhub Web Machine(N7)靶场攻略
  • 详解力扣高频SQL50题之1193. 每月交易 I【简单】
  • 数据恢复与备份
  • RS485转Profinet网关配置指南:高效启动JRT激光测距传感器测量模式
  • SpringMVC相关基础知识
  • HTML5 Canvas 绘制圆弧效果
  • Centos安装HAProxy搭建Mysql高可用集群负载均衡
  • 力扣112. 路径总和
  • 面试150 回文数
  • React状态管理——Dva
  • React入门指南——指北指南(第二节)
  • LeetCode——面试题 05.01 插入
  • Vue3组件通信方法清单
  • Linux——线程互斥
  • 云计算技术之docker build构建错误
  • Spring循环依赖以及三个级别缓存