OceanBase是一款开源的国产分布式关系型数据库。通过使用OceanBase提供的obd和OCP均可以部署OceanBase数据库集群,视频讲解如下:
下面分别进行介绍。
一、 使用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软件下载中心下载最新的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登录后的主页面。