头图

OceanBase是一款开源的国产分布式关系型数据库。通过使用OceanBase提供的obd和OCP均可以部署OceanBase数据库集群,视频讲解如下:
https://www.bilibili.com/video/BV17pJNzrETC/?aid=114523239356...

下面分别进行介绍。

一、 使用obd部署OceanBase

obd全称为OceanBase Deployer,是OceanBase安装部署工具,通过命令行部署或白屏界面部署的方式,将复杂配置流程标准化,降低集群部署难度。 命令行支持编辑配置文件,可以更加灵活的进行配置调整,适用于需要深度了解OceanBase的用户,有一定的使用门槛;白屏界面配置简单,通过页面的引导配置即可完成集群部署,适用于需要快速体验,构建标准环境的用户。在集群部署之外,obd还提供了包管理器、压测软件、集群管理等常用的运维能力,更好的支持用户体验使用OceanBase分布式数据库。

1.1 安装obd

obd可以通过三种不同的方式进行安装部署,它们分别是:OceanBase All in One安装、使用RPM安装以及使用源码安装。OceanBase推荐使用OceanBase All in One方式安装部署obd。OceanBase从V4.0.0开始提供统一的安装包OceanBase All in One。目前包括OceanBase数据库软件和OCP、obd、OBProxy(又称为ODP)、OBClient、OCP Express(自V4.1.0起支持)、Prometheus、Grafana,以及诊断和测试工具。

1.1.1 在线安装obd

如果宿主机可以连接网络,可执行如下命令在线安装。

bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"

如果/tmp目录空间不足,会导致下载文件无法写入。解决方案如下:

修改文件/etc/fstab,增加如下内容:
tmpfs /tmp tmpfs nodev,nosuid,size=5G 0 0

重启操作系统,安装成功后将输出下面的信息:

##########################################################################
 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 
==========================================================================

执行下面的语句生效环境变量:

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

安装成功后,/tmp 目录下会新增tmp.xxx文件夹作为安装目录,如:tmp.66RxuoJG0f。

1.1.2 离线安装obd

若宿主机机器无法连接网络,可参考如下步骤离线安装。

  • (1)从OceanBase软件下载中心(https://www.oceanbase.com/softwarecenter)下载最新的all-in-one安装包,并将其复制到中控机中。推荐使用最新版本的安装包
    image.png
  • (2)在安装包所在目录下执行如下命令解压安装包并安装。
tar -xzf oceanbase-all-in-one-4.3.5_bp1_20250320.el7.x86_64.tar.gz
cd oceanbase-all-in-one/bin/
./install.sh

# 安装成功后将输出下面的信息:
##########################################################################
 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 
==========================================================================
  • (3)生效环境变量
source ~/.oceanbase-all-in-one/bin/env.sh
  • (4)查看镜像仓库地址:
obd mirror list

# 输出信息如下:
+-----------------------------------------------------------------------------+
|                            Mirror Repository List                           |
+----------------------------+--------+---------+----------+------------------+
| SectionName                | Type   | Enabled | Avaiable | Update Time      |
+----------------------------+--------+---------+----------+------------------+
| local                      | local  | -       | True     | 2025-03-27 18:11 |
| oceanbase.community.stable | remote | False   | False    | 1970-01-01 08:00 |
| oceanbase.development-kit  | remote | False   | False    | 1970-01-01 08:00 |
+----------------------------+--------+---------+----------+------------------+
Use `obd mirror list <section name>` for more details

1.2 快速体验OceanBase

obd可以快速部署本地单节点OceanBase数据库。下面是具体的操作步骤:

(1)执行下面的命令部署OceanBase数据库集群

obd demo

# 执行obd demo命令后,会自动部署OceanBase数据库、OBProxy、OBAgent、Prometheus和Grafana,默认版本为镜像库中最新版本。下面的语句将部署默认组件,并指定OceanBase数据库版本
obd demo --oceanbase-ce.version=4.3.3.0

# 部署成功后,将输出下面的信息:
Wait for observer init ok
+---------------------------------------------+
|                 oceanbase-ce                |
+-----------+---------+------+-------+--------+
| ip        | version | port | zone  | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.3.5.1 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot -p'SRySjZoYdBETphKghy9v' -Doceanbase -A

cluster unique id: 67f69dfa-0c8a-5aae-9e3b-50b2c7686064-195cd8fa93b-01050304

Connect to obproxy ok
+---------------------------------------------------------------+
|                           obproxy-ce                          |
+-----------+------+-----------------+-----------------+--------+
| ip        | port | prometheus_port | rpc_listen_port | status |
+-----------+------+-----------------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884            | 2885            | active |
+-----------+------+-----------------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -p'SRySjZoYdBETphKghy9v' -Doceanbase -A 

Connect to Obagent ok
+------------------------------------------------------------------+
|                             obagent                              |
+---------------+--------------------+--------------------+--------+
| ip            | mgragent_http_port | monagent_http_port | status |
+---------------+--------------------+--------------------+--------+
| 192.168.79.10 | 8089               | 8088               | active |
+---------------+--------------------+--------------------+--------+
Connect to Prometheus ok
+------------------------------------------------------+
|                      prometheus                      |
+---------------------------+------+----------+--------+
| url                       | user | password | status |
+---------------------------+------+----------+--------+
| http://192.168.79.10:9090 |      |          | active |
+---------------------------+------+----------+--------+
Connect to grafana ok
+-------------------------------------------------------------------+
|                              grafana                              |
+---------------------------------------+-------+----------+--------+
| url                                   | user  | password | status |
+---------------------------------------+-------+----------+--------+
| http://192.168.79.10:3000/d/oceanbase | admin | admin    | active |
+---------------------------------------+-------+----------+--------+
demo running
......

# 这里展示了集群信息,也可以通过下面的命令获取集群信息:
obd cluster display demo

(2)部署成功后可复制输出中的连接串,使用OBClient客户端连接到OceanBase数据库:

obclient -h127.0.0.1 -P2881 -uroot -p'SRySjZoYdBETphKghy9v' -Doceanbase -A

# 这里也可以使用mysql客户端进行连接:
# mysql -h127.0.0.1 -P2881 -uroot -p'SRySjZoYdBETphKghy9v' -Doceanbase -A

# 其中:-A: 可选项,表示在连接数据库时不自动获取统计信息。

(3)登录后可以查看当前已存在的数据库信息。

obclient(root@(none))[oceanbase]> show databases;

# 输出的信息如下:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| LBACSYS            |
| mysql              |
| oceanbase          |
| ocs                |
| ORAAUDITOR         |
| SYS                |
| sys_external_tbs   |
| test               |
+--------------------+
9 rows in set (0.005 sec)

(4)通过浏览器访问Grafana监控页面,如下图所示:
image.png

(5)查看集群列表信息。

obd cluster list

# 输出信息如下:
+--------------------------------------------------+
|                   Cluster List                   |
+------+-------------------------+-----------------+
| Name | Configuration Path      | Status (Cached) |
+------+-------------------------+-----------------+
| demo | /root/.obd/cluster/demo | running         |
+------+-------------------------+-----------------+
Trace ID: b1132d68-0982-11f0-ac1e-000c29a69b26

二、 使用OCP部署OceanBase

OCP的全称是OceanBase Cloud Platform,即:OceanBase云平台。OCP面向有OceanBase管理需求的中小型用户,提供了基础的主机管理、OceanBase 集群和租户运维等能力。下面展示了OCP登录后的主页面。
image.png


赵渝强老师
36 声望18 粉丝

20年以上的IT行业从业经历,清华大学计算机软件工程专业毕业,京东大学大数据学院院长,Oracle中国有限公司高级技术顾问;曾在BEA、甲骨文、摩托罗拉等世界500强公司担任高级软件架构师或咨询顾问等要职,精通大...