【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OCP4.3.1 OceanBase4.1
【 使用版本 】社区版
【问题描述】社区版OCP所在服务器的内存 total 为125G,OCP的metadb的memory_limit为120G,OCP和metadb所在一台服务器上。目前OCP应用的内存过小,这个OCP管理的集群和租户都很多,想缩容一下metadb的memory_limit,腾一些内存给OCP应用,可以直接使用 alter命令 修改 memory_limit 缩容吗
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
论坛小助手
#3
根据文档库中的信息,您可以直接使用 ALTER TENANT
命令来修改 MetaDB 的 memory_limit
参数,从而实现缩容。以下是具体步骤:
-
登录 OCP:
-
进入 MetaDB 租户:
- 在 OCP 控制台中,找到并进入 MetaDB 租户的管理页面。
-
执行 ALTER TENANT
命令:
-
验证修改:
- 执行完上述命令后,可以在 OCP 控制台的 资源管理 页面中查看 MetaDB 租户的内存使用情况,确保
memory_limit
已经成功修改。
注意事项
-
资源充足: 在缩容之前,请确保 OCP 应用有足够的内存资源可用,以避免因内存不足导致 OCP 应用性能下降或故障。
-
监控影响: 缩容 MetaDB 的内存可能会对其性能产生影响,建议在低峰时段进行操作,并密切监控 MetaDB 的性能指标,确保其稳定运行。
-
备份数据: 在进行任何重大变更之前,建议备份重要数据,以防万一。
文档参考
-
文档片段 1: MetaDB 用于存储除了监控数据的其它持久化数据,需要的资源相对较少,推荐在 OceanBase 中创建独立的租户用于 MetaDB,并最低分配给该租户 4C、8GiB 内存。
-
文档片段 9: OceanBase 数据库提供以下两种方式来设置自身内存的上限:按照计算机器总内存上限的百分比计算自身可以使用的总内存,由
memory_limit_percentage
参数配置;直接设置 OceanBase 数据库可用内存的上限,由 memory_limit
参数配置。
如果您在操作过程中遇到任何问题,建议联系 OceanBase 的技术支持团队获取进一步的帮助。
更多信息请查看:
- 主机规划
- tenant_memstore_percent_over_threshold OB 租户内存使用百分比超限
- ob_tenant500_mem_hold_percent_over_threshold OB 500 租户内存占用率超限
- ob_tenant500_mem_hold_over_threshold OB 500 租户的占用内存大小超限
- OceanBase 租户常见问题
- OceanBase 云平台 Express (OCP Express)
- 数据库内存上限
- 产品 FAQ
- 租户间的资源隔离
- 系统内部内存管理
论坛小助手
#5
根据文档库中的信息,如果您使用 OBD(OceanBase Deployer)部署了 OCP,并且希望缩容 MetaDB 的 memory_limit
,可以通过以下步骤来实现:
步骤 1: 登录 OCP 宿主机
首先,您需要登录到 OCP 宿主机。
步骤 2: 进入 OBD 环境
执行以下命令进入 OBD 的环境:
source ~/.oceanbase-all-in-one/bin/env.sh
步骤 3: 连接到 MetaDB
使用 OBD 提供的命令连接到 MetaDB。假设 MetaDB 的租户名为 metadb
,您可以使用以下命令连接到 MetaDB:
obclient -h<host> -P<port> -u<user>@<tenant> -p<password>
例如:
obclient -h127.0.0.1 -P2881 -uroot@metadb -p<your_password>
步骤 4: 修改 MetaDB 的 memory_limit
在连接到 MetaDB 后,执行以下 SQL 命令来修改 memory_limit
:
ALTER TENANT metadb SET MEMORY_LIMIT = '100G';
步骤 5: 验证修改
执行完上述命令后,可以在 OCP 控制台的 资源管理 页面中查看 MetaDB 租户的内存使用情况,确保 memory_limit
已经成功修改。
注意事项
-
资源充足: 在缩容之前,请确保 OCP 应用有足够的内存资源可用,以避免因内存不足导致 OCP 应用性能下降或故障。
-
监控影响: 缩容 MetaDB 的内存可能会对其性能产生影响,建议在低峰时段进行操作,并密切监控 MetaDB 的性能指标,确保其稳定运行。
-
备份数据: 在进行任何重大变更之前,建议备份重要数据,以防万一。
文档参考
-
文档片段 1: MetaDB 是 OCP 的重要组成部分,用于存储 OCP 管理元信息及监控数据。您可以选择创建全新的 OceanBase 数据库作为 OCP 的 MetaDB 或使用已有的 OceanBase 数据库作为 OCP 的 MetaDB。
-
文档片段 4: 介绍了如何通过 OBD 部署 OCP 的步骤,包括安装部署程序、使环境变量生效等。
-
文档片段 9: 介绍了如何使用 OBD 部署 OceanBase 集群,包括命令行和白屏界面部署方式。
如果您在操作过程中遇到任何问题,建议联系 OceanBase 的技术支持团队获取进一步的帮助。
更多信息请查看:
- 主机规划
- tenant_memstore_percent_over_threshold OB 租户内存使用百分比超限
- ob_tenant500_mem_hold_percent_over_threshold OB 500 租户内存占用率超限
- ob_tenant500_mem_hold_over_threshold OB 500 租户的占用内存大小超限
- OceanBase 租户常见问题
- OceanBase 云平台 Express (OCP Express)
- 数据库内存上限
- 产品 FAQ
- 租户间的资源隔离
- 系统内部内存管理
更多信息请查看:
- 使用图形化界面部署 OCP
- 使用容器部署 OCP
- 使用图形化界面升级 OCP
- 什么是 obd
- 使用 OCP 接管 obd 部署的集群
- 通过图形化界面部署 OCP
- 使用命令行部署 OCP
- obd
- 通过 obd 白屏部署 OceanBase 集群
- 使用命令行部署 OceanBase 数据库生产环境
- 部署 OceanBase 集群
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
alter修改完metadb的memory_limit,需不需要更改相关的obd参数
淇铭
#7
看一下 你的ocp的metadb集群配置 这两个参数是哪个 修改一下就好了 在ocp白屏下修改就好了
看来OCP的metadb集群修改内存不用更改obd配置文件,谢谢
淇铭
#9
可以动态的修改的 但是obd的配置的config文件不会同步 下次重新启动的时候 还会读这个文件 但是obd修改config这个文件 调小了memory_limit需要重新装 调大了没有问题
1 个赞
淇铭
#11
1 个赞