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安装包,并将其复制到中控机中。推荐使用最新版本的安装包
- (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监控页面,如下图所示:
(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登录后的主页面。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。