国产数据库|OceanBase 4.1 单机分布式快速安装初体验

7730aaa59bb1f8dc17cc1f42d207f756.gif

作者 | JiekeXu

来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)

如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)

大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle 19c RAC 不同架构下压测性能对比分析,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!

在墨天轮中国数据库流行度排行榜上,OceanBase 数据库近期一直霸榜第一,自 2022 年 8 月 10 日,OceanBase 4.0 小鱼在年度发布会亮相,单机分布式一体化架构变成了现实,再也不用多台高配的机器搭建集群了,想学习的朋友即可在个人笔记本花两分钟就能搭建一个学习环境,非常方便,不过我一直以来也没有尝试,随着今年 3 月 25日, OceanBase 开发者大会的开启,OceanBase 4.1 也已经发布了,观看了开发者大会以后,今天打算来体验一把,之前也有 TiDB 的单机体验文章,感兴趣的也可以去看看,TiDB 5.4 单机快速安装初体验

d3efdd77f7178c051d3e270f1e878337.png

d2018ef1b2adc378e1131333089b86a9.png

众所周知,OceanBase 数据库(OceanBase Database)是一款完全自研的企业级原生分布式数据库,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,刷新 TPC-C 标准测试,单集群规模超过 1500 节点,具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性。

OceanBase 数据库提供企业版和社区版两种形态。总的来说,企业版兼容 MySQL 和 Oracle,社区版只支持 MySQL,下图是 OceanBase4.1 和 MySQL8.0 性能对比图,单机分布式一体架构的单机性能通过评测确实超越了 MySQL 8.0,32C 的测试环境下做了 MySQL 8.0 和 OceanBase 4.1 性能测试,不管单行读写的性能,还是多行读写,只写,插入,读写操作,OceanBase 4.1 的性能都高于 MySQL 8.0, 并且最为综合的读写场景高出 39%。

0baa73aba5eef6eafc1764f672017f92.jpeg

OceanBase 自 2010~2015 年开始的 V0.1~V0.5 版本单写多读架构,2016~2021 年的全分布式架构 V1.x~V3.x,2022~至今的单机分布式一体化架构 V4.x 版本迭代速度非常快,但是因为 OceanBase 的愿景是做一个像 MySQL 一样流行的主流数据库,接下来会调整研发模式,每隔三个月就发布一个大版本,从 Q2 开始发布 4.2,Q3 发布 4.3,Q4 发布 4.4,明年则会发布 5.1、5.2、5.3、5.4,依此类推。

4930c7dd2aa760e5fd814dde6fc70df1.jpeg

9b9c9fb2f34ac1395662fbdf6592d7c6.jpeg

OceanBase 系统架构图

7b7d1c0ed3b66f82c9f44e269a67db76.png

ab9ed23ad6a037da2863582d337f1e61.png

OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎、事务引擎,运行在普通 PC 服务器组成的集群之上,具备高可扩展性、高可用性、高性能、低成本、与主流数据库高兼容等核心特性。OceanBase 数据库的一个集群由若干个节点组成,这些节点分属于若干个可用区(Zone),每个节点属于一个可用区。可用区是一个逻辑概念,表示集群内具有相似硬件可用性的一组节点,它在不同的部署模式下代表不同的含义。例如,当整个集群部署在同一个数据中心(IDC)内的时候,一个可用区的节点可以属于同一个机架,同一个交换机等。当集群分布在多个数据中心的时候,每个可用区可以对应于一个数据中心。

如上图所示,数据服务层表示一个 OceanBase 数据库集群。该集群由三个子集群(Zone)组成,一个 Zone 由多台物理机器组成,每台物理机器称之为数据节点(OBServer 节点)。OceanBase 数据库中存储的数据分布在一个 Zone 的多个数据节点上,其它 Zone 存放多个数据副本。如上图所示的 OceanBase 数据库集群中的数据有三个副本,每个 Zone 存放一份。这三个 Zone 构成一个整体的数据库集群,为用户提供服务。

单机快速安装部署

OceanBase 数据库社区版使用 MulanPubL - 2.0 许可证,您可以免费复制及使用源代码。当您修改或分发源代码时,请遵守木兰协议。OceanBase 社区版官方网站地址是:https://open.oceanbase.com。

  • 官网下载:https://open.oceanbase.com/softwareCenter/community

  • GitHub 下载:https://github.com/oceanbase/oceanbase/releases/

  • 阿里云 Yum 源:https://mirrors.aliyun.com/oceanbase/OceanBase.repo

主机资源要求

Linux7.2 及以上系统,不支持CentOS 8.x,最低需要2c8g 的机器配置,支持 x86 和 ARM 两种架构。

4cf16db5cf24444fccfab9249bcb6d9b.png

8f387ab84239b395638e756a0fe6ae16.png

[root@JiekeXu ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   47G   31G   17G  66% /
devtmpfs                 5.8G     0  5.8G   0% /dev
tmpfs                    5.8G     0  5.8G   0% /dev/shm
tmpfs                    5.8G   13M  5.8G   1% /run
tmpfs                    5.8G     0  5.8G   0% /sys/fs/cgroup
/dev/sda1               1014M  180M  835M  18% /boot
tmpfs                    1.2G     0  1.2G   0% /run/user/1001
tmpfs                    1.2G   12K  1.2G   1% /run/user/42
tmpfs                    1.2G     0  1.2G   0% /run/user/0
[root@JiekeXu ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            11G        710M        7.8G         18M        3.1G         10G
Swap:          2.0G          0B        2.0G

908f56a72fedab5606721da1b60a9789.png

离线下载

下面我们来使用离线安装,首先下载安装包 https://www.oceanbase.com/softwarecenter
OceanBase社区版一键安装包 (OceanBase All in One)  oceanbase-all-in-one-4.1.0.0-100120230323143519.el7.x86_64.tar.gz
OceanBase 数据库一键离线安装包,包括数据库软件和 OBD、OBProxy、OBClient、OCP Express(从4.1版本开始)、Prometheus、Grafana。

cf2e65900543c4d93f2f47cc22e57d7a.png

离线安装

--在线安装
bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"
1)上传软件安装包,并解压。
tar -zxvf oceanbase-all-in-one-4.1.0.0-100120230323143519.el7.x86_64.tar.gz
2)执行以下命令解压安装包并进入安装目录。
cd oceanbase-all-in-one/bin/

fca88bb5cf2f06cf9a871029c6049235.png

3)执行安装脚本

[root@JiekeXu bin]# ./install.sh 
name: grafana
version: 7.5.17
release:1
arch: x86_64
md5: 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6
add /root/oceanbase-all-in-one/rpms/grafana-7.5.17-1.el7.x86_64.rpm to local mirror
name: obagent
version: 1.3.0
release:22.el7
arch: x86_64
md5: d57fbb4962b2fbecb6282358c59295fdfba4d6ac
add /root/oceanbase-all-in-one/rpms/obagent-1.3.0-22.el7.x86_64.rpm to local mirror
name: obproxy-ce
version: 4.1.0.0
release:7.el7
arch: x86_64
md5: 2a9d9bf67f179dcca2a8c9e7c77373d94e7e2abe
add /root/oceanbase-all-in-one/rpms/obproxy-ce-4.1.0.0-7.el7.x86_64.rpm to local mirror
name: oceanbase-ce
version: 4.1.0.0
release:100000192023032010.el7
arch: x86_64
md5: 8439ecf8db5e0649bd49671b41ea9e8c85756b63
add /root/oceanbase-all-in-one/rpms/oceanbase-ce-4.1.0.0-100000192023032010.el7.x86_64.rpm to local mirror
name: oceanbase-ce-libs
version: 4.1.0.0
release:100000192023032010.el7
arch: x86_64
md5: a83b1dd1cab44d3f610d439931322be7a08555f2
add /root/oceanbase-all-in-one/rpms/oceanbase-ce-libs-4.1.0.0-100000192023032010.el7.x86_64.rpm to local mirror
name: ocp-express
version: 1.0.0
release:100000432023032015.el7
arch: x86_64
md5: 42c6fc921063f24f9e1072d75bfa7f21f42146e3
add /root/oceanbase-all-in-one/rpms/ocp-express-1.0.0-100000432023032015.el7.x86_64.rpm to local mirror
name: prometheus
version: 2.37.1
release:10000102022110211.el7
arch: x86_64
md5: 58913c7606f05feb01bc1c6410346e5fc31cf263
add /root/oceanbase-all-in-one/rpms/prometheus-2.37.1-10000102022110211.el7.x86_64.rpm to local mirror
Trace ID: b43552aa-ccb7-11ed-b93a-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace b43552aa-ccb7-11ed-b93a-000c29680d59
Disable remote ok
Trace ID: b63ec5e0-ccb7-11ed-ad7e-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace b63ec5e0-ccb7-11ed-ad7e-000c29680d59


add auto set env logic to profile: /root/.bash_profile


#####################################################################
 Install Finished 
=====================================================================
Setup Environment:     source ~/.oceanbase-all-in-one/bin/env.sh 
Start Web Service:     obd web 
Quick Start:           obd demo 
More Details:          obd -h 
=====================================================================

4)安装后设置和验证

安装脚本会尝试自动设置好环境变量,对于特定的系统如果环境变量未生效,可以根据提示,执行设置环境变量的脚本,如果需要设置为每次登陆都生效,需要根据用户使用的 terminal 环境,写到对应的 profile 文件中,一般为 ~/.bash_profile。

f818406e5fbb94da2f6fbf3085a19253.png

执行 which obd 和 which obclient 检测是否安装成功,如果可以找到 oceanbase-all-in-one 下的 obd 和 obclient 路径,则表示安装成功。

[root@JiekeXu bin]# source ~/.oceanbase-all-in-one/bin/env.sh
[root@JiekeXu bin]# which obd
/root/.oceanbase-all-in-one/obd/usr/bin/obd
[root@JiekeXu bin]# which obclient
/root/.oceanbase-all-in-one/obclient/u01/obclient/bin/obclient

使用 obd demo 快速部署单机体验环境

使用该命令可在不传入配置文件的情况下直接在本机部署并启动指定的组件。固定部署名为 demo。部署完成后,可以通过命令 obd cluster list 查看该集群,也可以通过其他的集群命令进行管理,比如 obd cluster display demo 等。

f8da2b8b032275098d6e300192635b76.png

(安装完后执行结果)

执行 obd demo 前您需要确认以下信息:

• 2881 和 2882 端口没有被占用。
• 机器可用内存不低于 6 G。
• 机器 CPU 数目不低于 2。
• 机器可用磁盘空间不小于 54 G。
• 打开的文件句柄数量不小于 20000。

obd demo 部署方式采用最小规格部署,部署的组件版本默认为最新版本,默认部署的组件包含 OceanBase、ODP、OBAgent、Grafana、Prometheus。

obd demo -c oceanbase,obproxy   --这里应该是官方文档没修改为社区版的原因,执行报错,应该为 oceanbase-ce,obproxy-ce 或者直接 odb demo


-c/--components 参数,默认值为 oceanbase-ce,obproxy-ce,obagent,prometheus,grafana 指定组件列表,使用英文逗号(,)间隔。用于指定需要部署的组件。

0ea47c9c44acef9adf2efcd153e60be7.png

如下由于目录不够 49G,报错退出!

faa26d796eee09a959c094b3cb5f4d13.png

下面我们进行对根分区扩容,可参考《Linux 虚拟机根目录磁盘空间扩容》

fdisk /dev/sda
n 添加新分区     
p 主分区  
Partition number 默认回车
first sector 默认回车    
laster sector 默认回车
p 打印分区(列出分区)

w 保存分区

42c801972d52a04db3ad8a161185c58a.png

不重启扫盘

4b65cf6855d3e2bdc61abab44f6148f6.png

如上我们在配置磁盘的时候,需要刷新磁盘管理才能扫描出硬盘,在 Linux下,一般情况必须要重启才可以识别映射的磁盘,如何在不重启的情况下识别硬盘呢?就两条命令:

根据实际环境选择不同命令1、本地磁盘:-------------------------------------------------ls /sys/class/scsi_host/-------------------------------------------------2、iSCSI 链接方式:-------------------------------------------------ls /sys/class/iscsi_host/-------------------------------------------------3、FC 链接方式-------------------------------------------------ls /sys/class/fc_host/-------------------------------------------------然后执行下面的命令,hostX 的 X 代表的是执行上面命令之后出现的 host 后面的数字,不管哪种连接方式,都要在 scsi_host 下执行-------------------------------------------------echo "- - -" > /sys/class/scsi_host/hostX/scan-------------------------------------------------比如执行 ls /sys/class/scsi_host/ 之后出现 host0 host1 host2那么就分别以 host0 host1 host2 执行-------------------------------------------------echo "- - -" > /sys/class/scsi_host/host0/scanecho "- - -" > /sys/class/scsi_host/host1/scanecho "- - -" > /sys/class/scsi_host/host1/scan---------------------------------------------------只不过这两条命令在我的虚拟机环境下好像还是没有生效,只有尝试使用 partprobe 命令了。

712b32d2407ec71e8faa3c901e0ee2e5.png

partprobe 命令来自于英文词组 “partition probe” 的缩写,其功能是用于重读分区表信息。将磁盘分区表变化信息通知给系统内核,请求操作系统重新加载分区表,有时当我们创建或删除分区设备后,系统并不会立即生效,这时就需要使用 partprobe 命令在不重启的情况下重新读取分区表信息,使得新设备信息被同步。

语法格式:partprobe [参数] [设备名]
常用参数 -v 显示版本信息,-d 不更新内核,-s 显示摘要和分区

[root@JiekeXu ~]# partprobe
[root@JiekeXu ~]# partprobe /dev/sda


与该功能相关的 Linux 命令:
lvreduce命令 – 减少LVM逻辑卷所占空间大小 mlabel命令 – 设定磁盘的标签 
lvdisplay命令 – 显示LVM逻辑卷属性 
setquota命令 – 设置文件系统配额 
lvextend命令 – 扩展逻辑卷设备 
lvresize命令 – 调整LVM逻辑卷空间大小 
ext2ed命令 – 文件系统编辑程序 
mpartition命令 – 建立或删除MS-DOS的分区 
fdisk命令 – 管理磁盘分区 
vgchange命令 – 修改卷组属性

然后继续扩盘,具体步骤这里就省略了,可查看前面的链接。

8761b5feae44b26c561b1699f25b3a51.png

obd demo 快速初体验
[root@JiekeXu bin]# obd demo
Cluster param config check ok
Open ssh connection ok
Generate obproxy configuration ok
Generate obagent configuration ok
Generate observer configuration ok
Generate prometheus configuration ok
Generate grafana configuration ok
+--------------------------------------------------------------------------------------------+
|                                          Packages                                          |
+--------------+---------+------------------------+------------------------------------------+
| Repository   | Version | Release                | Md5                                      |
+--------------+---------+------------------------+------------------------------------------+
| obproxy-ce   | 4.1.0.0 | 7.el7                  | 2a9d9bf67f179dcca2a8c9e7c77373d94e7e2abe |
| obagent      | 1.3.0   | 22.el7                 | d57fbb4962b2fbecb6282358c59295fdfba4d6ac |
| oceanbase-ce | 4.1.0.0 | 100000192023032010.el7 | 8439ecf8db5e0649bd49671b41ea9e8c85756b63 |
| prometheus   | 2.37.1  | 10000102022110211.el7  | 58913c7606f05feb01bc1c6410346e5fc31cf263 |
| grafana      | 7.5.17  | 1                      | 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 |
+--------------+---------+------------------------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Open ssh connection ok
Cluster status check ok
Initializes obproxy work home ok
Initializes obagent work home ok
Initializes observer work home ok
Initializes prometheus work home ok
Initializes grafana work home ok
Remote obproxy-ce-4.1.0.0-7.el7-2a9d9bf67f179dcca2a8c9e7c77373d94e7e2abe repository install ok
Remote obproxy-ce-4.1.0.0-7.el7-2a9d9bf67f179dcca2a8c9e7c77373d94e7e2abe repository lib check ok
Remote obagent-1.3.0-22.el7-d57fbb4962b2fbecb6282358c59295fdfba4d6ac repository install ok
Remote obagent-1.3.0-22.el7-d57fbb4962b2fbecb6282358c59295fdfba4d6ac repository lib check ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository install ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository lib check !!
Remote prometheus-2.37.1-10000102022110211.el7-58913c7606f05feb01bc1c6410346e5fc31cf263 repository install ok
Remote prometheus-2.37.1-10000102022110211.el7-58913c7606f05feb01bc1c6410346e5fc31cf263 repository lib check ok
Remote grafana-7.5.17-1-1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 repository install ok
Remote grafana-7.5.17-1-1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 repository lib check ok
Try to get lib-repository
Package oceanbase-ce-libs-4.1.0.0-100000192023032010.el7 is available.
install oceanbase-ce-libs-4.1.0.0 for local ok
Remote oceanbase-ce-libs-4.1.0.0-100000192023032010.el7-a83b1dd1cab44d3f610d439931322be7a08555f2 repository install ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository lib check ok
demo deployed
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer x
[ERROR] OBD-1007: (127.0.0.1) open files must not be less than 20000 (Current value: 1024)
[WARN] OBD-1012: (127.0.0.1) clog and data use the same disk (/)


Check before start obproxy ok
Check before start obagent ok
Check before start prometheus ok
Check before start grafana ok
See https://www.oceanbase.com/product/ob-deployer/error-codes .
Trace ID: 8328bee4-ccc2-11ed-95c5-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace 8328bee4-ccc2-11ed-95c5-000c29680d59

1cdf62d7f345e4a72d012c2f72e89722.png

如上图所示,由于 open files 默认资源限制太小,无法启动报错,我们需要修改一下资源限制。

vi /etc/security/limits.conf
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
* soft stack unlimited
* hard stack unlimited

然后退出 root 用户重新登陆,继续执行 obd demo,WARN 提示日志和数据均存放于根目录,我们这里忽略即可。
[WARN] OBD-1012: (127.0.0.1) clog and data use the same disk (/)

[root@JiekeXu ~]# obd demo
Get local repositories ok
Search plugins ok
Open ssh connection ok
Cluster status check ok
observer work dir cleaning ok
obproxy work dir cleaning ok
prometheus work dir cleaning ok
obagent work dir cleaning ok
grafana work dir cleaning ok
demo destroyed
Cluster param config check ok
Open ssh connection ok
Generate grafana configuration ok
Generate observer configuration ok
Generate obagent configuration ok
Generate obproxy configuration ok
Generate prometheus configuration ok
+--------------------------------------------------------------------------------------------+
|                                          Packages                                          |
+--------------+---------+------------------------+------------------------------------------+
| Repository   | Version | Release                | Md5                                      |
+--------------+---------+------------------------+------------------------------------------+
| grafana      | 7.5.17  | 1                      | 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 |
| oceanbase-ce | 4.1.0.0 | 100000192023032010.el7 | 8439ecf8db5e0649bd49671b41ea9e8c85756b63 |
| obagent      | 1.3.0   | 22.el7                 | d57fbb4962b2fbecb6282358c59295fdfba4d6ac |
| obproxy-ce   | 4.1.0.0 | 7.el7                  | 2a9d9bf67f179dcca2a8c9e7c77373d94e7e2abe |
| prometheus   | 2.37.1  | 10000102022110211.el7  | 58913c7606f05feb01bc1c6410346e5fc31cf263 |
+--------------+---------+------------------------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Open ssh connection ok
Cluster status check ok
Initializes grafana work home ok
Initializes observer work home ok
Initializes obagent work home ok
Initializes obproxy work home ok
Initializes prometheus work home ok
Remote grafana-7.5.17-1-1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 repository install ok
Remote grafana-7.5.17-1-1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6 repository lib check ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository install ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository lib check !!
Remote obagent-1.3.0-22.el7-d57fbb4962b2fbecb6282358c59295fdfba4d6ac repository install ok
Remote obagent-1.3.0-22.el7-d57fbb4962b2fbecb6282358c59295fdfba4d6ac repository lib check ok
Remote obproxy-ce-4.1.0.0-7.el7-2a9d9bf67f179dcca2a8c9e7c77373d94e7e2abe repository install ok
Remote obproxy-ce-4.1.0.0-7.el7-2a9d9bf67f179dcca2a8c9e7c77373d94e7e2abe repository lib check ok
Remote prometheus-2.37.1-10000102022110211.el7-58913c7606f05feb01bc1c6410346e5fc31cf263 repository install ok
Remote prometheus-2.37.1-10000102022110211.el7-58913c7606f05feb01bc1c6410346e5fc31cf263 repository lib check ok
Try to get lib-repository
Remote oceanbase-ce-libs-4.1.0.0-100000192023032010.el7-a83b1dd1cab44d3f610d439931322be7a08555f2 repository install ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository lib check ok
demo deployed
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
[WARN] OBD-1012: (127.0.0.1) clog and data use the same disk (/)


Check before start obagent ok
Check before start obproxy ok
Check before start prometheus ok
Check before start grafana ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize oceanbase-ce ok
Start obagent ok
obagent program health check ok
Connect to Obagent ok
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize obproxy-ce ok
Start promethues ok
prometheus program health check ok
Connect to Prometheus ok
Initialize prometheus ok
Start grafana ok
grafana program health check ok
Connect to grafana ok
Initialize grafana ok
Wait for observer init ok
+---------------------------------------------+
|                   observer                  |
+-----------+---------+------+-------+--------+
| ip        | version | port | zone  | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.1.0.0 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot -Doceanbase -A


+------------------------------------------------------------------+
|                             obagent                              |
+---------------+--------------------+--------------------+--------+
| ip            | mgragent_http_port | monagent_http_port | status |
+---------------+--------------------+--------------------+--------+
| 192.168.75.32 | 8089               | 8088               | active |
+---------------+--------------------+--------------------+--------+
+---------------------------------------------+
|                   obproxy                   |
+-----------+------+-----------------+--------+
| ip        | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884            | active |
+-----------+------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A
+------------------------------------------------------+
|                      prometheus                      |
+---------------------------+------+----------+--------+
| url                       | user | password | status |
+---------------------------+------+----------+--------+
| http://192.168.75.32:9090 |      |          | active |
+---------------------------+------+----------+--------+
+--------------------------------------------------------------------+
|                              grafana                               |
+---------------------------------------+-------+-----------+--------+
| url                                   | user  | password  | status |
+---------------------------------------+-------+-----------+--------+
| http://192.168.75.32:3000/d/oceanbase | admin | oceanbase | active |
+---------------------------------------+-------+-----------+--------+
demo running
Trace ID: dd4e8fa6-ccc3-11ed-aedd-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace dd4e8fa6-ccc3-11ed-aedd-000c29680d59

注意:obd demo 部署仅适用于快速上手体验,不适用于生产环境。

91d86c29db1eb9b22154d321b17ba666.png

使用 OBClient 客户端连接到 OceanBase 数据库

连接 OceanBase 数据库的方式,这里命令行推荐使用 OceanBase 数据库客户端(OBClient) 即 OceanBase 数据库专用的命令行客户端工具,白屏推荐 OceanBase 开发者中心(OceanBase Developer Center,ODC)。请参见通过 ODC 连接 OceanBase 租户

obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A
obclient -h192.168.75.32 -P2883 -uroot -Doceanbase -A

当然使用最新版的 Navicat Premium 也可以连接到 OceanBase 数据库。

连接参数说明:
• -h:提供 OceanBase 数据库连接 IP,通常是一个 ODP 地址。
• -u:提供租户的连接账户,格式有两种:用户名@租户名#集群名 或者 集群名:租户名:用户名。MySQL 租户的管理员用户名默认是 root。直连方式-u:提供租户的连接账户,格式:用户名@租户名。
• -P:提供 OceanBase 数据库连接端口,也是 ODP 的监听端口,默认是 2883,在部署 ODP 时可自定义。
• -c:表示在 MySQL 运行环境中不要忽略注释。
• -A:表示在 MySQL 连接数据库时不自动获取统计信息。
• oceanbase:访问的数据库的名称,可以更改为业务数据库。

[root@JiekeXu ~]# obclient -uroot@sys -h127.0.0.1 -P2881
Welcome to the OceanBase.  Commands end with ; or \g.
Your OceanBase connection id is 3221487710
Server version: OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)


Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


obclient [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| LBACSYS            |
| mysql              |
| oceanbase          |
| ORAAUDITOR         |
| SYS                |
| test               |
+--------------------+
7 rows in set (0.006 sec)


obclient [(none)]>

390a1d6e199ecba86594235fa7c09162.png

上面也配置了 Prometheus 和 grafana,会输出 grafana 或 prometheus 的访问地址,我们可以尝试浏览器访问一下,grafana 这里的用户和密码为 admin/oceanbase,这个可以根据我们安装时最后提示的使用 obd display-trace 显示详细日志中看到。

Prometheus :http://192.168.75.32:9090
grafana :http://192.168.75.32:3000/d/oceanbase

1d5803adc3797ace8e235d83da315836.png

obd display-trace dd4e8fa6-ccc3-11ed-aedd-000c29680d59

02cbac39bbee807258e273cfc603e10a.png

简单的运维命令

odb cluster stop demo    --停止集群

odb cluster list                --查看集群

obd cluster display demo  --显示集群信息

odb cluster start demo    --启动集群

obd display-trace c038d856-cf19-11ed-8371-000c29680d59   --查看日志

[root@JiekeXu ~]# obd cluster -h
Usage: obd cluster <command> [options]
Available commands:
autodeploy     Deploy a cluster automatically by using a simple configuration file.
check4ocp      Check Whether OCP Can Take Over Configurations in Use
chst           Change Deployment Configuration Style
deploy         Deploy a cluster by using the current deploy configuration or a deploy yaml file.
destroy        Destroy a deployed cluster.
display        Display the information for a cluster.
edit-config    Edit the configuration file for a specific deployment.
list           List all the deployments.
redeploy       Redeploy a started cluster.
reinstall      Reinstall a deployed component
reload         Reload a started cluster.
restart        Restart a started cluster.
start          Start a deployed cluster.
stop           Stop a started cluster.
tenant         Create, drop or list a tenant.
upgrade        Upgrade a cluster.
Options:
  -h, --help     Show help and exit.
  -v, --verbose  Activate verbose output.


[root@JiekeXu ~]# obd cluster stop demo
Get local repositories ok
Search plugins ok
Open ssh connection ok
Stop grafana ok
Stop observer ok
Stop obagent ok
Stop obproxy ok
Stop prometheus ok
demo stopped
Trace ID: 58949074-cf18-11ed-b7ce-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace 58949074-cf18-11ed-b7ce-000c29680d59
[root@JiekeXu ~]#  obd cluster list
+--------------------------------------------------+
|                   Cluster List                   |
+------+-------------------------+-----------------+
| Name | Configuration Path      | Status (Cached) |
+------+-------------------------+-----------------+
| demo | /root/.obd/cluster/demo | stopped         |
+------+-------------------------+-----------------+
Trace ID: 66303684-cf18-11ed-a3cb-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace 66303684-cf18-11ed-a3cb-000c29680d59
[root@JiekeXu ~]#  obd cluster start demo
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
Check before start obagent ok
Check before start obproxy ok
Check before start prometheus ok
Check before start grafana ok
Start observer ok
observer program health check ok
Connect to observer ok
Start obagent ok
obagent program health check ok
Connect to Obagent ok
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize obproxy-ce ok
Start promethues ok
prometheus program health check ok
Connect to Prometheus ok
Initialize prometheus ok
Start grafana ok
grafana program health check ok
Connect to grafana ok
Initialize grafana ok
Wait for observer init ok
+---------------------------------------------+
|                   observer                  |
+-----------+---------+------+-------+--------+
| ip        | version | port | zone  | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.1.0.0 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot -Doceanbase -A


+------------------------------------------------------------------+
|                             obagent                              |
+---------------+--------------------+--------------------+--------+
| ip            | mgragent_http_port | monagent_http_port | status |
+---------------+--------------------+--------------------+--------+
| 192.168.75.32 | 8089               | 8088               | active |
+---------------+--------------------+--------------------+--------+
+---------------------------------------------+
|                   obproxy                   |
+-----------+------+-----------------+--------+
| ip        | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884            | active |
+-----------+------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A
+------------------------------------------------------+
|                      prometheus                      |
+---------------------------+------+----------+--------+
| url                       | user | password | status |
+---------------------------+------+----------+--------+
| http://192.168.75.32:9090 |      |          | active |
+---------------------------+------+----------+--------+
+--------------------------------------------------------------------+
|                              grafana                               |
+---------------------------------------+-------+-----------+--------+
| url                                   | user  | password  | status |
+---------------------------------------+-------+-----------+--------+
| http://192.168.75.32:3000/d/oceanbase | admin | oceanbase | active |
+---------------------------------------+-------+-----------+--------+
demo running
Trace ID: 9bfee4da-cf19-11ed-9c25-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace 9bfee4da-cf19-11ed-9c25-000c29680d59
[root@JiekeXu ~]# obd cluster list
+--------------------------------------------------+
|                   Cluster List                   |
+------+-------------------------+-----------------+
| Name | Configuration Path      | Status (Cached) |
+------+-------------------------+-----------------+
| demo | /root/.obd/cluster/demo | running         |
+------+-------------------------+-----------------+
Trace ID: c038d856-cf19-11ed-8371-000c29680d59
If you want to view detailed obd logs, please run: obd display-trace c038d856-cf19-11ed-8371-000c29680d59

参考链接

从0.5到4.0,OceanBase单机分布式一体化的技术演进
https://open.oceanbase.com/blog/27200131?_gl=1*1g6kp8c*_ga*ODMwODU4Njk0LjE2Nzk2NDE5NTU.*_ga_T35KTM57DZ*MTY3OTkyNzY5NS4zLjEuMTY3OTkyNzcwMi41My4wLjA.


https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001697207
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001698768
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699006
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699404
https://www.oceanbase.com/devcon2023
https://open.oceanbase.com/quickStart

全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~然后由于文章缺少留言功能,近期新开通一个微信交流群,可直接在微信群中交流数据库相关技术和文章,也会邀请更多技术大牛一起交流,相互学习,如有需要的可添加我个人微信 JiekeXu_DBA,备注:加群,谢谢!

2868a9b3ba2e31c6ef4562c74cf22689.jpeg

另外免费开放 QQ 群,用于文件资料共享,闲时吹水,感兴趣的朋友可扫码进入,谢谢!

fe59f369ec303825260798f80ccd2de2.png

欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!

————————————————————————————
公众号:JiekeXu DBA之路
CSDN :https://blog.csdn.net/JiekeXu
墨天轮:https://www.modb.pro/u/4347
腾讯云:https://cloud.tencent.com/developer/user/5645107
————————————————————————————

509e2f1d1697496efa6e946d136f702e.gif

分享几个数据库备份脚本

Oracle 表碎片检查及整理方案

OGG|Oracle GoldenGate 基础2022 年公众号历史文章合集整理
 
  

Oracle 19c RAC 遇到的几个问题

OGG|Oracle 数据迁移后比对一致性

利用 OGG 迁移 Oracle11g 到 19C

OGG|Oracle GoldenGate 微服务架构

Oracle 查询表空间使用率超慢问题一则

国产数据库|TiDB 5.4 单机快速安装初体验

Oracle ADG 备库停启维护流程及增量恢复

Linux 环境搭建 MySQL8.0.28 主从同步环境

11828702b24bf87b254dc1680add5010.png

猜你喜欢

转载自blog.csdn.net/JiekeXu/article/details/129891573