本文根据使用场景详细介绍如何快速部署 OceanBase 数据库,旨在帮助您快速掌握并成功使用 OceanBase 数据库。
一、软硬件环境准备
安装OceanBase数据库之前,确保你的软硬件环境满足以下要求:
| 项目 | 描述 |
|---|---|
| 系统 |
|
| CPU | 最低要求 2 核,推荐 4 核及以上。 |
| 内存 | 最低要求 6 GB,推荐设置在 16 GB 至 1024 GB 范围内。 |
| 磁盘类型 | 使用 SSD 存储。 |
| 磁盘存储空间 | 最低要求 20 GB。 |
| 文件系统 | EXT4 或 XFS,当数据超过 16 TB 时,使用 XFS。 |
| 端口 | 需保证组件的默认端口未被占用:
|
| all-in-one 安装包 | all-in-one 安装包需选择 V4.1.0 及以上版本。 |
二、快速搭建OceanBase数据库
方法一:使用 ALL in One 安装包
执行以下命令下载并安装 OceanBase All in One,该命令将在线下载并安装最新版本的 OceanBase All in One 包。all-in-one 安装包需选择 V4.1.0 及以上版本。
bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)" # 加载环境变量 source ~/.oceanbase-all-in-one/bin/env.sh安装 obd
通过 OceanBase All in One 安装 obd(推荐)
在线安装
若您的机器可以连接网络,可执行如下命令在线安装。安装成功后,/tmp目录下会新增 tmp.xxx 文件夹作为安装目录,如tmp.jvzpVREAs9。
bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)" source ~/.oceanbase-all-in-one/bin/env.sh离线安装
软件下载地址:https://www.oceanbase.com/softwarecenter
在安装包所在目录下执行如下命令解压安装包并安装。
tar -xzf oceanbase-all-in-one-*.tar.gz cd oceanbase-all-in-one/bin/ ./install.sh source ~/.oceanbase-all-in-one/bin/env.sh
使用RPM包安装
在线安装
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo sudo yum install -y ob-deploy source /etc/profile.d/obd.sh离线安装
在 CentOS 或 RedHat 系统上,执行如下命令安装 obd:
sudo yum install ob-deploy-*.rpm在 Ubuntu 或 Debian 系统上,执行如下命令安装 obd:
sudo alien --scripts -i ob-deploy-*.rpm成功安装 obd 且已访问官网 OceanBase 软件下载中心 提前下载好所需组件的安装包后,可参照如下操作将安装包添加到 obd 的本地镜像库。
执行如下命令禁用远程仓库
obd mirror disable remote禁用后可通过obd mirror list命令进行确认,查看 Type=remote 对应行的Enabled列展示为False,说明已关闭远程镜像源。示例如下:
+-----------------------------------------------------------------------------+ | Mirror Repository List | +----------------------------+--------+---------+----------+------------------+ | SectionName | Type | Enabled | Avaiable | Update Time | +----------------------------+--------+---------+----------+------------------+ | local | local | - | True | 2025-02-19 15:56 | | oceanbase.community.stable | remote | False | False | 2025-02-19 15:54 | | oceanbase.development-kit | remote | False | False | 2025-02-19 15:54 | +----------------------------+--------+---------+----------+------------------+在安装包所在目录执行如下命令将下载好的安装包上传到本地仓库
obd mirror clone *.rpm查看本地仓库的安装包列表
obd mirror list local在输出的列表中查看到部署所需安装包即表示上传成功。
obd 提供以下两种快速部署命令:
最小规格部署
将以 OceanBase 数据库最小规格部署并启动单节点的 OceanBase 数据库及相关组件。
obd demo最大规格部署
将以 OceanBase 数据库最大规格部署并启动单节点的 OceanBase 数据库及相关组件。
obd perf
obd 自 V3.4.0 提供最大规格部署命令(
obd pref),并于 V4.0.0 起更新命令为obd perf。
方法二:直接使用 RPM 包
- 本方法依赖于 systemctl 命令,请在非容器环境下进行操作。
通过本方法安装 OceanBase 数据库时仅支持以下系统:
- Anolis OS 8.X 版本(内核 Linux 4.19 版本及以上)
- CentOS Linux 8.X 版本(内核 Linux 4.19 版本及以上)
- Debian 10、11 和 12 版本(内核 Linux 4.19 版本及以上)
- openEuler 22.03 和 24.03 版本(内核 Linux 5.10.0 版本及以上)
- Ubuntu 18.04、20.04 和 22.04 版本(内核 Linux 4.19 版本及以上)
sudo bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/service/installer.sh)"步骤一:安装 OceanBase 数据库
在线安装
添加 OceanBase 镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo安装 OceanBase 数据库
sudo yum install oceanbase-ce oceanbase-ce-libs obclient该命令默认部署最新版本,您可通过声明版本号安装指定版本,如使用
yum install oceanbase-ce-4.2.2.0命令安装 OceanBase 数据库 V4.2.2 版本,推荐安装最新版本。
离线安装
下载软件:https://www.oceanbase.com/softwarecenter
在安装包所在目录下,执行 rpm 命令安装 OceanBase 数据库。
sudo rpm -ivh oceanbase-ce-*.rpm步骤二:启动 OceanBase 数据库
安装 OceanBase 数据库后,您可参照如下步骤启动 OceanBase 数据库。
1. (可选)修改配置文件
您可参照该步骤修改配置文件,未修改的情况下将使用配置文件中的默认配置进行部署。
sudo vim /etc/oceanbase.cnf该文件包含的配置项内容如下:
ip=127.0.0.1 mysql_port=2881 rpc_port=2882 obshell_port=2886 root_pwd="" redo_dir=/var/lib/oceanbase/redo data_dir=/var/lib/oceanbase/data datafile_size=2G cpu_count=16 memory_limit=6G system_memory=1G log_disk_size=13G
您可在该配置文件中添加其他配置项,详细配置项的介绍可参见 配置项总览。
目前 OBServer 节点的 Zone(默认为
zone1)不支持修改。
配置文件中的配置项介绍如下表:
| 配置项 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|
| ip | 可选 | 127.0.0.1 | OBServer 节点的 IP,暂不支持配置为 ipv6 地址。 |
| mysql_port | 可选 | 2881 | OceanBase 数据库 SQL 服务协议端口号。 |
| rpc_port | 可选 | 2882 | OceanBase 数据库远程访问的协议端口号。 |
| obshell_port | 可选 | 2886 | OceanBase 数据库运维端口。 |
| root_pwd | 可选 | 默认为空 | OceanBase 集群的超级管理员(root@sys)的密码,建议设置复杂的密码。 |
| redo_dir | 可选 | /var/lib/oceanbase/redo | clog、ilog 和 slog 的目录,建议配置为独立的磁盘。 数据盘(默认为 |
| data_dir | 可选 | /var/lib/oceanbase/data | 设置存储 SSTable 等数据的目录,建议配置为独立的磁盘。数据盘(默认为/var/lib/oceanbase)的可用磁盘空间应当大于 15G。 |
| datafile_size | 可选 | 0 | 指定对应节点数据文件(block_file)大小,未配置的情况下以datafile_disk_percentage配置项为准,详细介绍请参见 datafile_size 和 datafile_disk_percentage。 |
| cpu_count | 可选 | 0 | OceanBase 数据库可使用的 CPU 总数,如果设置为 0,将自动检测。 |
| memory_limit | 可选 | 0 | observer 进程能从环境中获取的最大内存,未配置的情况下以memory_limit_percentage配置项为准,配置项详细介绍请参考 memory_limit 和 memory_limit_percentage。 |
| system_memory | 可选 | 0M | 保留的系统内存,该参数值会占用memory_limit的内存,未配置的情况下 OceanBase 数据库会自适应。 |
| log_disk_size | 可选 | 0 | 用于设置 Redo 日志磁盘的大小,未配置的情况下以log_disk_percentage配置项为准,详细介绍请参考 log_disk_size 和 log_disk_percentage。 |
2. 修改 OceanBase 安装目录(默认是/home/admin/oceanbase)下etc目录的属主
sudo chown root /home/admin/oceanbase/etc3. 启动 OceanBase 数据库
sudo systemctl start oceanbase4. 查看 OceanBase 数据库的启动状态
sudo systemctl status oceanbase当状态显示为Service is ready时,表示 OceanBase 数据库已正常启动。
步骤三:连接 OceanBase 数据库
此处以通过 OBClient 连接 OceanBase 数据库为例,命令如下:
obclient -h<IP> -uroot@sys -P<Port> -p<Passwd> -A oceanbase参数说明:
-h:提供 OceanBase 数据库连接 IP,使用 systemd 启动的 OceanBase 数据库默认 IP 为
127.0.0.1。-u:提供 OceanBase 数据库的连接账户,格式:
用户名@租户名。MySQL 租户的管理员用户名默认是root。-P:提供 OceanBase 数据库连接端口,为
/etc/oceanbase.cnf中mysqlPort的值。-p:提供 OceanBase 数据库连接密码,为
/etc/oceanbase.cnf中rootPwd的值。建议不在连接命令中提供,改为在执行命令后的提示符下输入,密码文本不可见。-A:表示在 OBClient 连接数据库时不自动获取统计信息。
oceanbase:访问的数据库的名称,可以更改为业务数据库名。