OceanBase 官网近期更新了 企业版的产品下载,相关的文档也有发布。大家有兴趣可以下载看看。本文主要是提供一些使用指引,减少大家试用过程中不必要的试错。有关 OceanBase 社区版的各种消息猜测,请大家在6月1日观察看 OceanBase 3.0 数据库峰会 ( https://www.oceanbase.com/bignews/index )。

产品下载说明


OceanBase 官网产品下载地址:https://www.oceanbase.com/softwareCenter/enterprise 。

OceanBase 企业版下载使用指引_官网

  • OceanBase Database

OceanBase 数据库本质上是一个单进程软件,是 OceanBase 产品的核心。可以提供 RPM 包,支持 x86_64 和 aarch64 两种平台版本。OceanBase 软件运行操作系统支持 Redhat \ CentOS 7序列,国产系统 UOS、中标麒麟V7 等。可以部署在物理机、虚拟机、各个云厂商服务器上。

  • OBProxy

OBProxy 也是一个单进程软件,也是 OceanBase 产品的核心,本质是 OceanBase 访问的反向代理。注意,这个跟分库分表数据库中间件产品里的代理节点是不一样的,OBProxy只做 SQL 路由转发,不做运算。

  • OCP,又名 OceanBase Cloud Platform

OCP 本质上是 OceanBase 自动化运维平台,是一个 Java 开发的 Web 程序。支持 Docker 部署。官网提供的是 OCP 的 Docker 镜像。但是光有这个镜像并不能部署 OCP。因为 OCP 作为一个 PaaS 产品,还需要一个元数据库,那是另外一个 OB 集群。这里有个 “先有鸡还是先有蛋” 问题,所以 OCP 的元数据库 OB 使用 Docker 部署。详情可以参见《自动化运维产品的命门——元数据库》。

  • OMS,又名 OceanBase Migration Service

OMS 是 OceanBase 迁移平台(用于 ORACLE/MYSQL/DB2 跟 OB,以及OB 跟 Kafka/DataHub等之间数据同步),也是一个 Java 开发的 Web 程序。支持 Docker 部署。官网提供的是 OMS 的 Docker 镜像。跟 OCP 同理,OMS 也需要一个元数据库。通常我们用 OCP 的元数据库集群(obcluster)里创建一个 MySQL 租户(实例)给 OMS 用,也可以单独用一个 MySQL 数据库实例。不过 OMS 只支持跟 OB 有关的数据迁移和同步,所以还依赖 OCP 的 API 。

  • ODC,又名 OceanBase Developer Center

ODC 是 OceanBase 的官方客户端,有两种形态:Web 程序 和 客户端图形化程序。分别支持 Docker 部署和 安装包安装。OceanBase 租户兼容性支持 MySQL 和 ORACLE 两种,OceanBase 支持 JDBC 驱动连接。如果是连接 OB 的 MySQL 租户,可以用传统的 MySQL 客户端工具,使用 MySQL 的驱动(推荐 5.1.46),或者使用 OB 的驱动(下载地址在阿里云:https://help.aliyun.com/document_detail/212815.html)。官网提供的是 ODC 的 Docker 镜像下载地址, ODC 的图形化客户端下载地址在阿里云:https://help.aliyun.com/document_detail/212816.html。企业环境里推荐部署 ODC Web 版本,便于所有开发访问,集中管控权限。ODC Web 版本的元数据库可以放在 OCP 元数据库集群里(新建MySQL租户)。

  • OAT,又名 OceanBase Admin Toolkit

OAT 主要是进一步方便 OCP、OMS、ODC 的自动化部署,是 Java 开发的 Web 程序。官网提供的是 OAT 的 Docker 镜像下载。

产品部署计划


部署计划取决于您有多少机器资源。官网各个产品文档对机器的条件要求都比较高方便自动化部署。但这些条件不是必要条件。

所有的机器都需要做初始化。 OAT 可以对 OCPOMSOB 机器做初始化,这个对机器的CPU、内存和磁盘要求比较高且具体。如果机器条件不满足,就不要尝试使用 OAT 了。

此时可以手动初始化各个机器环境,OB 也提供了一个软件包 t-antman-oceanbase 用于部分自动初始化机器配置。初始化问题常出在磁盘分区划分、时间同步、admin 用户、机器ssh 访问方法等。


如果您想部署在个人笔记本上(4C16G)以上,Linux操作系统,可以只下载 OceanBase 和 OBProxy 两个软件 ,加上 obclient(官网没提供,可以到 OB 的钉钉群里索取。本公众号回复消息:加钉钉 。)。部署方法就是启动 observer 软件,指定一些参数即可。部署方法参考:《OceanBase 独立部署高级玩法二 :2C8G版》。单机模拟多少个节点取决于笔记本或电脑的内存大小。不要尝试安装 OCPOMSOAT 之类,因为资源不够。
如果您只有一台 16C64G 的虚拟机,可以手动部署 OceanBase 单副本或者三副本(单机模拟多节点),方法同上。16C64G 的虚拟机勉强也可以部署 OCP,看看 OCP界面还行,但是没有额外的机器部署 OB 集群可以管理。可能会因为资源太少出现一些问题。所以不推荐。如果您有两台 16C64G 以上 的服务器,可以部署一个 OCP 和一个单副本 OB 集群。如果有三台服务器,可以部署一个 OCP 和 一个单副本 OB 集群(该 Zone 有 2 个节点)。
OB的所有版本软件并不区分单副本和多副本,那是使用方法的问题。3台机器,可以部署一个三副本集群(1-1-1),也可以部署一个单副本集群( Zone 内有3节点,在线加机器)。
如果要部署 OMS,并且 OCP 物理机 CPU 和 内存资源足够的话,可以把 OMS 跟 OCP 部署在一起。或者独立服务器部署。如果要部署 ODC Web版本,可以部署在 OCP 服务器上,或者其他服务器上。

如果所有机器资源都很充足,那就先部署 OAT,然后通过 OAT 部署 OCP、OMS、ODC。

产品部署问题


OB 集群可以独立部署,这个过程并不复杂。OCP 对 OB 的部署做了自动化处理, OAT 又对 OCP 的部署做了自动化。自动化运维的特点就是依赖标准化。当机器、网络环境都很标准的时候,自动化部署会很顺利,久而久之,运维人员对于部署的细节原理就不怎么关注。当机器、网络环境不标准的时候,自动化部署可能会报错。
尽管如此,自动化部署的每一个任务都有自己的日志,Docker的运行也有日志,这些日志不一定很好懂。此时需要从里面找有用的线索(看得懂的日志,比如说磁盘空间满、表不存在、数据库不可访问等)。这些线索会对问题排查有很大帮助。欢迎在 OB 钉钉群反馈问题。反馈部署问题的时候,请提供过程说明,报错截图和详细日志。
最后,GOOD LUCK AND HAVE FUN ! 

其他参考