【产品公告牌 2024-9-29】OCP 4.3.2 社区版本正式发布

发版目的

OCP 新版本正式上线,全面兼容 OceanBase 4.3.2 及以下版本。新版本提供关键功能:租户克隆,能有效应对数据库变更、应用版本发布、快速搭建开发测试环境等多种业务场景中的数据隔离及效率难题。不仅如此,新版本还实现了对 OBKV-Table 和 OBKV-HBase 等实例类型的监控能力,使用户能够更便捷地监控产品性能。新版本针对基础运维、性能监控、运维配置、外部集成等多个方面实施了超过 20 项的优化及强化措施,致力于增强产品的易用性和稳定性,从而帮助用户更加高效地管理 OceanBase 数据库。

新功能

基础运维

  1. 租户克隆:用户可以在OCP上通过3次简单点击即可在分钟级别内基于源租户快速克隆出新的租户,可有效解决数据库变更、应用版本发布、构建开发测试环境等多种业务场景下的数据隔离 同时提升用户生产效率 ,更多请见下方:关键特性解读
  2. CPU 绑核配置:简化设置隔核处理以及绑核配置,使 OBproxy 和 OBSever 进程在指定 CPU 核心上运行,据客户实测本功能可降低约 15%至 20% 的 RT

  1. 租户重命名:实现用户无需变更数据库连接串即可访问如生产/测试等类型数据库的能力
  2. Service Name:通过为主备租户设置相同的 Service Name,在租户主备切换时能够实现 Session 的自动路由,极大缩短了 Switchover/Failover 场景下的业务切换时间
  3. CPU 核数统计:实现 OCP 所管理集群的 CPU 核数统计 (去除 OCP META 集群)
  4. 自定义 RPC 端口: 创建 OBProxy 集群时支持设置 RPC 端口,实现旁路导入,OBKV 等功能自定义端口能力
  5. S3 协议: 租户主备场景下存储介质支持使用 S3 协议

告警中心

  1. 支持 OBProxy 内存使用超限(>=85%)告警能力

性能监控

  1. 支持对 OBKV-Table/OBKV-HBase 监控性能: QPS/RT/平均操作行数
  2. 支持响应时间(RT) P99/P95 百分位统计展示,帮助用户更好地了解系统的性能状况
  3. 租户性能监控新增支持日志盘 & 数据盘分钟级别监控

备份恢复

  1. 数据备份&恢复支持 S3 协议,支持原生的 AWS S3 以及兼容 S3 协议的对象存储如华为云 OBS、Google GCS、腾讯云 COS、移动云 EOS 等,基本覆盖国内外主流云厂商的对象存储类型(Azure Blob 除外)。这将有助于用户更方便地进行数据备份和恢复,并提高数据的安全性和可靠性。

平台能力

  1. 支持 OCP Agent 参数配置管理能力, 实现动态控制监控数据采集能力,解决异常场景下数据收集量较大造成 SYS 租户压力过大问题
  2. 支持 SSO 协议如OIDC,Oauth2 等配置能力,解决用户侧配置难题
  3. 完善 OCP 接管集群功能,保障在数据库接管过程中 Config Server 继续对外提供服务
  4. 支持 OCP 在版本升级期间管控界面只读能力

Open API

  1. 提供 OceanBase 4.x 租户级别 9 个 Open API,包括立即备份、展示备份任务、创建/变更/查询/关闭 备份策略等
  2. 提供 OceanBase 3.x 集群级别开启/关闭备份策略的 Open API
  3. 提供集群、租户、主机、OBProxy 等对象最近一次巡检结果的 Open API
  4. 提供 OceanBase 4.X 主备租户容灾切换的 13 个 Open API, 包括创建网络备租户、主备租户日常/容灾切换等

产品优化

集群管理

  1. 创建集群时支持选择负载类型(默认 HTAP),实现 5 种业务场景下如 OLTP/OLAP/HTAP/OBKV 等性能最优化
  2. 升级集群时支持选择 Zone 升级顺序,实现人为干预和控制切主时间点,最大限度降低 leader 切换对于业务的影响
  3. 替换 OBServer 时 OBServer 参数默认设置为当前集群中的参数值
  4. 优化迁出集群时导出凭据流程,降低凭据位迁出风险

租户管理

  1. 支持创建租户时选择负载类型,实现 5 种业务场景下如 OLTP/OLAP/HTAP/OBKV 等性能最优化
  2. 租户级别变更增加二次确认提示,避免用户因误操作造成异常事件
  3. 资源使用限制:展示租户在当前规格下的资源使用限制,如日志流个数、tablet 等
  4. MySQL 租户支持创建&展示具有 hostname 的语法的数据库用户
  5. 会话管理新增按会话 ID 进行查询能力

其他优化

  1. 【任务管理】优化任务节点的跳过功能,避免因本跳过造成数据库对象状态异常
  2. 【主机管理】增加网卡MTU值、NTP 以及内核参数:net.ipv4.ip_local_port_range/ net.ipv4.ip_local_reserved_ports 检查, 完善主机标准化检查项
  3. 【备份恢复】安装向导中去除安装逻辑备份恢复服务步骤
  4. 【OBProxy】支持复制 OBProxy 集群名

关键特性解读

CPU 绑核配置

CPU 绑核(taskset)是一种能将特定进程或线程绑定至特定 CPU 核心的技术。借由把关键任务绑定到固定的 CPU 核心,可避免任务于不同核心间频繁切换,从而削减上下文切换开销,增进系统整体性能。OCP 具备对 OBProxy 集群以及 OceanBase 集群开启/关闭 CPU 绑核的能力。在 ARM 架构以及OBProxy&OceanBase 集群混布的场景中,依据客户现场实测数据,其可降低约 15%至 20%的 RT 。同时也需注意:过度运用 CPU 绑核可能会致使某些核心负载过高,而其他核心处于空闲状态,对系统的资源利用率造成影响。在实际应用里,需要根据具体情况慎重决定是否使用 CPU 绑核,并合理调适绑核策略,以达至最佳的性能和资源利用效果。

服务名

Service Name 是 OceanBase 提供的一种新的数据库访问方式,可以视其为集群 & 租户名的别名,实现应用程序通过如 mysql -h11.162.218.115 -P2883 -uroot@< Service Name> 的连接串访问数据库。OceanBase 4.1 高可用解决方式变更为租户级主备库,集群级不再有主备角色的概念,集群名仅用于唯一标识一个集群,主备角色下放到租户级别,主备租户所属的集群可能不同,主备租户名也可能不同。OCP 支持主备租户 Service Name 创建、编辑、删除 、校验以及为主备租户所在的集群绑定同一 OBProxy 集群的功能,支持用户通过设置主备租户为同一 Service Name,达到主备租户切换时 Session 自动切换的能力, 同时用户也可以依据业务具体场景,如在非主备租户场景下使用Service Name 代替集群名/租户名的连接方式以及提供灵活性支持主备租户场景下主备租户使用不同的 Service Name 等,从而帮助用户更方便的使用 Service Name 特性。

租户克隆

OceanBase 的租户与传统数据库实例类似,例如:OceanBase 支持 MySQL/Oracle 兼容模式的租户。通过租户克隆操作,可迅速将源租户的元数据信息复制一份给新克隆租户使用,初始状态下,这两个租户共享物理宏块。该新克隆租户与源租户相互独立,具备严格的数据隔离和资源隔离。新克隆及源租户的任何数据更改,都不会相互影响。在测试环境下,从一个 8C64G、包含 1TB 数据的源租户,克隆出一个同样配置的新租户,仅需 2 分钟。而且,OCP 还提供同步源租户的参数、资源检查等功能,助力用户达成一键快速克隆源租户的能力。本功能适用于这些业务场景:报表任务、应用版本发布、数据库变更、数据导出等,既能提高任务执行效率,又能降低相关任务带来的业务风险。

主要修复问题

  1. 修复了在ocp里先后部署两个同名集群可能遇到的兼容性问题
  2. 修复了 RS List 的obproxy无法接管ob集群的问题
  3. 修复了节点替换期间租户流量监控异常的问题
  4. 修复了按官网提供的参数查topsql失败的问题
  5. 修复了自治服务首页集群排序按钮失效的问题
11 个赞

https://www.oceanbase.com/softwarecenter 里面没看到ocp4.3.2版本下载链接

7 个赞

可以的,刚在微信上看到这篇文章 :+1:

6 个赞

服务名、租户克隆、备份支持S3, :100:

7 个赞

社区版正在打包了,马上就会提供下载链接

10 个赞

现在的部署方式,debian11系统下执行命令会报错:

bash install.sh
install obd as sudo
No previous obd installed, try install…
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing…
error: Failed dependencies:
/bin/sh is needed by ob-deploy-2.10.0-3.el7.x86_64

需要sudo alien -d xxxx.rpm
sudo dpkg -i xxxx.deb
然后再执行bash install.sh可完成部署

6 个赞

@治民@谐云@玉楼 可以关注下用户的反馈哈~

6 个赞

root@sqaappnoxdnv62s2011161204051:/oceanbase-all-in-one# su test

$ bash bin/install.sh

install obd as sudo

No previous obd installed, try install…

name: grafana

version: 7.5.17

release:1

arch: x86_64

md5: 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6

size: 177766248

add /oceanbase-all-in-one/rpms/grafana-7.5.17-1.el7.x86_64.rpm to local mirror

name: ob-configserver

version: 1.0.0

release:2.el7

arch: x86_64

md5: feca6b9c76e26ac49464f34bfa0780b5a8d3f4a0

size: 24259515

add /oceanbase-all-in-one/rpms/ob-configserver-1.0.0-2.el7.x86_64.rpm to local mirror

name: ob-deploy

version: 2.10.0

release:3.el7

arch: x86_64

md5: 0d6dce348a77e311969a42159054bea61e11ec4f

size: 158189205

add /oceanbase-all-in-one/rpms/ob-deploy-2.10.0-3.el7.x86_64.rpm to local mirror

name: ob-sysbench

version: 1.0.20

release:21.el7

arch: x86_64

md5: 34eb6ecba0ebc4c31c4cfa01162045cbbbec55f7

size: 1566511

add /oceanbase-all-in-one/rpms/ob-sysbench-1.0.20-21.el7.x86_64.rpm to local mirror

name: obagent

version: 4.2.2

release:100000042024011120.el7

arch: x86_64

md5: 19739a07a12eab736aff86ecf357b1ae660b554e

size: 72919140

add /oceanbase-all-in-one/rpms/obagent-4.2.2-100000042024011120.el7.x86_64.rpm to local mirror

name: obproxy-ce

version: 4.3.1.0

release:4.el7

arch: x86_64

md5: 835f4803c1f4da186439323b66c51db4662678a3

size: 1913858511

add /oceanbase-all-in-one/rpms/obproxy-ce-4.3.1.0-4.el7.x86_64.rpm to local mirror

name: obtpcc

version: 5.0.0

release:1.el7

arch: x86_64

md5: 8624590be4bfe16f28bdd9fc5e4849cda19577d6

size: 1890344

add /oceanbase-all-in-one/rpms/obtpcc-5.0.0-1.el7.x86_64.rpm to local mirror

name: obtpch

version: 3.0.0

release:1.el7

arch: x86_64

md5: 3e3e88f87527677998fedf25087f5c87779dee62

size: 1856985

add /oceanbase-all-in-one/rpms/obtpch-3.0.0-1.el7.x86_64.rpm to local mirror

name: oceanbase-ce

version: 4.2.4.0

release:100010022024091012.el7

arch: x86_64

md5: e6c0a15b9aba27db858c1d336b898c57fce93c0b

size: 504768183

add /oceanbase-all-in-one/rpms/oceanbase-ce-4.2.4.0-100010022024091012.el7.x86_64.rpm to local mirror

name: oceanbase-ce-libs

version: 4.2.4.0

release:100010022024091012.el7

arch: x86_64

md5: a58a70720b9257dd8f16c1c9bc3fafed7624f2bd

size: 468528

add /oceanbase-all-in-one/rpms/oceanbase-ce-libs-4.2.4.0-100010022024091012.el7.x86_64.rpm to local mirror

name: oceanbase-ce-utils

version: 4.2.4.0

release:100010022024091012.el7

arch: x86_64

md5: 78f13de4fb02d4cc260910dbb479214949758478

size: 900001824

add /oceanbase-all-in-one/rpms/oceanbase-ce-utils-4.2.4.0-100010022024091012.el7.x86_64.rpm to local mirror

name: oceanbase-diagnostic-tool

version: 2.4.0

release:32024091010.el7

arch: x86_64

md5: 3817915bd36866590e1e6a74ad1c308817a6985e

size: 43174675

add /oceanbase-all-in-one/rpms/oceanbase-diagnostic-tool-2.4.0-32024091010.el7.x86_64.rpm to local mirror

name: ocp-express

version: 4.2.2

release:100000022024011120.el7

arch: x86_64

md5: 09ffcf156d1df9318a78af52656f499d2315e3f7

size: 78426196

add /oceanbase-all-in-one/rpms/ocp-express-4.2.2-100000022024011120.el7.x86_64.rpm to local mirror

name: openjdk-jre

version: 1.8.0_322

release:b09.el7

arch: x86_64

md5: 051aa69c5abb8697d15c2f0dcb1392b3f815f7ed

size: 69766947

add /oceanbase-all-in-one/rpms/openjdk-jre-1.8.0_322-b09.el7.x86_64.rpm to local mirror

name: prometheus

version: 2.37.1

release:10000102022110211.el7

arch: x86_64

md5: 58913c7606f05feb01bc1c6410346e5fc31cf263

size: 211224073

add /oceanbase-all-in-one/rpms/prometheus-2.37.1-10000102022110211.el7.x86_64.rpm to local mirror

Trace ID: 3ab00788-8618-11ef-9b22-00163e0d6af5

If you want to view detailed obd logs, please run: obd display-trace 3ab00788-8618-11ef-9b22-00163e0d6af5

Disable remote ok

Trace ID: 3c12244e-8618-11ef-a02b-00163e0d6af5

If you want to view detailed obd logs, please run: obd display-trace 3c12244e-8618-11ef-a02b-00163e0d6af5

add auto set env logic to profile: /home/test/.profile

#########################################################################################

Install Finished

=========================================================================================

Setup Environment: source ~/.oceanbase-all-in-one/bin/env.sh

Quick Start: obd demo

Use Web Service to install: obd web

Use Web Service to upgrade: obd web upgrade

More Details: obd -h

=========================================================================================

$ ls rpms

grafana-7.5.17-1.el7.x86_64.rpm ob-sysbench-1.0.20-21.el7.x86_64.rpm obtpcc-5.0.0-1.el7.x86_64.rpm oceanbase-ce-libs-4.2.4.0-100010022024091012.el7.x86_64.rpm ocp-express-4.2.2-100000022024011120.el7.x86_64.rpm

ob-configserver-1.0.0-2.el7.x86_64.rpm obagent-4.2.2-100000042024011120.el7.x86_64.rpm obtpch-3.0.0-1.el7.x86_64.rpm oceanbase-ce-utils-4.2.4.0-100010022024091012.el7.x86_64.rpm openjdk-jre-1.8.0_322-b09.el7.x86_64.rpm

ob-deploy-2.10.0-3.el7.x86_64.rpm obproxy-ce-4.3.1.0-4.el7.x86_64.rpm oceanbase-ce-4.2.4.0-100010022024091012.el7.x86_64.rpm oceanbase-diagnostic-tool-2.4.0-32024091010.el7.x86_64.rpm prometheus-2.37.1-10000102022110211.el7.x86_64.rpm

$ cat /etc/os-release

PRETTY_NAME=“Debian GNU/Linux 11 (bullseye)”

NAME=“Debian GNU/Linux”

VERSION_ID=“11”

VERSION=“11 (bullseye)”

VERSION_CODENAME=bullseye

ID=debian

HOME_URL=“https://www.debian.org/

SUPPORT_URL=“https://www.debian.org/support

BUG_REPORT_URL=“https://bugs.debian.org/

我用的这个debian11系统,并没有报错

6 个赞

新拉的容器,debian12也试过了

6 个赞

我看脚本中,没有rpm的话,他会走下面的脚本

6 个赞

嗯,我的问题,我这里是debian9不是debian11
前面测试ob的一些逻辑,也是发现debian11都ok,debian9有点问题。
可以文档里在说明下debian11验证ok

6 个赞


使用的是debian9,并没有报错

4 个赞

请问OCP 4.3.2 社区版本支持 部署高可用binlog service吗

3 个赞

OCP 社区版管控带集群功能的 binlog 社区版的功能计划是在 4.3.3 之后的版本提供。

5 个赞

感谢回复,OCP 社区版 4.3.3 有预计发布的时间吗

3 个赞

支持,刚好最近在学习V4

2 个赞

厉害

2 个赞

麻烦确认下,你们这里的debian环境是不是是不是没有alien包和rpm包

我又验证了下,因为脚本里那段代码
如果我的debian有rpm包,那就会走rpm安装就会报错
rpm -ivh ob-deploy-2.10.0-3.el7.x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing…
error: Failed dependencies:
/bin/sh is needed by ob-deploy-2.10.0-3.el7.x86_64

dpkg -r rpm 去掉之后就ok

1 个赞

针对debian和ubuntu文档里是有建议使用alien,apt install alien 后就会把rpm装上,这样新obd部署脚本就可能踩坑
https://www.oceanbase.com/docs/common-oas-1000000000477583

比如这个案例也是类似https://ask.oceanbase.com/t/topic/35610748

针对debian的安装包建议,要是能整理个最佳实践文档就最好不过了

2 个赞

解决方案:

  1. 用普通用户 不输入 sudo 密码 (三次回车) 然后走解压安装
  2. 用alien ob-deploy-xxxx.rpm --scripts
  3. 我看你有rpm 环境可以 rpm -ivh ob-deploy-xxxx.rpm --nodeps
1 个赞