OceanBase【快速体验安装篇】02:CentOS7.5【OceanBase All in One】【离线】安装OceanBase数据库
CentOS7.5【OceanBase All in One】【离线】安装OceanBase数据库
一、环境准备
1、环境信息
192.168.184.191
2、关闭防火墙
systemctl stop firewalld.service
systemctl disbale firewalld.service
systemctl status firewalld.service
3、安装包下载
(1)官网下载
https://www.oceanbase.com/softwarecenter
(2)网盘地址
通过网盘分享的文件:oceanbase-all-in-one-4.3.5_bp2_hf1_20250527.el7.x86_64.tar.gz
链接: https://pan.baidu.com/s/1M2ZfKeoCLUOS5Ah00-Qjqw?pwd=8m9f
提取码: 8m9f
4、上传安装包
cd /root/
ll
二、进行安装OBD
1、解压安装包
cd /root/
tar -xzf oceanbase-all-in-one-*.tar.gz
ll
2、进行安装
cd oceanbase-all-in-one/bin/
./install.sh
3、更新环境变量
source ~/.oceanbase-all-in-one/bin/env.sh
4、查看帮助
obd -h
三、安装OceanBase数据库
1、安装安装OceanBase数据库
这里有如下几种部署的方式,我选择第一种,默认部署
(1)部署默认组件
会自动部署 OceanBase 数据库、OBProxy、OBAgent、Prometheus 和 Grafana,默认版本为镜像库中最新版本。
obd demo
遇到如下错误,是因为要设置系统参数,当前不满足数据库安装需求
设置系统参数
echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf
obd cluster init4env demo
重启机器
shutdown -r now
再次执行安装数据库操作
obd demo
+---------------------------------------------+
| oceanbase-ce |
+-----------+---------+------+-------+--------+
| ip | version | port | zone | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.3.5.2 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot@sys -p'7XAAO7ij7W2b0SaC3upq' -Doceanbase -A
cluster unique id: b82b0a76-02a3-5496-b283-bf7a0f27148f-1974944d64d-02050304
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'7XAAO7ij7W2b0SaC3upq' -Doceanbase -A
Connect to Obagent ok
+--------------------------------------------------------------------+
| obagent |
+-----------------+--------------------+--------------------+--------+
| ip | mgragent_http_port | monagent_http_port | status |
+-----------------+--------------------+--------------------+--------+
| 192.168.184.191 | 8089 | 8088 | active |
+-----------------+--------------------+--------------------+--------+
Connect to Prometheus ok
+--------------------------------------------------------+
| prometheus |
+-----------------------------+------+----------+--------+
| url | user | password | status |
+-----------------------------+------+----------+--------+
| http://192.168.184.191:9090 | | | active |
+-----------------------------+------+----------+--------+
Connect to grafana ok
+-----------------------------------------------------------------------+
| grafana |
+-----------------------------------------+-------+------------+--------+
| url | user | password | status |
+-----------------------------------------+-------+------------+--------+
| http://192.168.184.191:3000/d/oceanbase | admin | lebDi4Og8m | active |
+-----------------------------------------+-------+------------+--------+
(2)部署默认组件,并指定 OceanBase 数据库版本
obd demo --oceanbase-ce.version=4.3.3.0
(3)仅部署 OceanBase 数据库
obd demo -c oceanbase-ce
2、连接到数据库
部署成功后可复制输出中的连接串
(1)使用默认密码进行连接
使用 OBClient 客户端连接到 OceanBase 数据库,如下:
@sys 是租户名称
-Doceanbase 是连到oceanbase数据库
-A 是 obclient 的交互优化参数,用于禁用自动补全功能,
适用于需要提升响应速度或简化输入的场景。
obclient -h127.0.0.1 -P2881 -uroot@sys -p'7XAAO7ij7W2b0SaC3upq' -Doceanbase -A
(2)修改默认密码
ALTER USER root IDENTIFIED BY 'admin';
四、基础操作
1、租户相关
可参考:租户常见操作
(1)查看租户
USE oceanbase;
select * from __all_tenant \G;
或者
SELECT * FROM oceanbase.DBA_OB_TENANTS;
(2)创建租户
创建租户要先创建资源规格和资源池
(a)查看已有资源规格信息
USE oceanbase;
SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS \G;
(b)创建资源规格
CREATE RESOURCE UNIT S1_unit_config
MEMORY_SIZE = '1G',
MAX_CPU = 1, MIN_CPU = 1,
LOG_DISK_SIZE = '2G',
MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1;
SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS \G;
(c)创建资源池
建资源规格后,可以在创建资源池时指定资源规格,从而使用相应大小的资源单元,并最终分配给相应的租户。
先查看资源池信息
USE oceanbase;
SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;
创建资源池
这里的ZONE_LIST要和你的一致,不能多出来,UNIT对应上面创建的资源规格。
CREATE RESOURCE POOL mq_pool_01
UNIT='S1_unit_config',
UNIT_NUM=1,
ZONE_LIST=('zone1');
SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;
(d)创建租户
查看租户信息,当前这个租户是mysql模式的
SELECT * FROM oceanbase.DBA_OB_TENANTS;
我们来创建一个的租户,默认是mysql模式的
CREATE TENANT IF NOT EXISTS mq_t1
PRIMARY_ZONE='zone1',
RESOURCE_POOL_LIST=('mq_pool_01')
set OB_TCP_INVITED_NODES='%';
SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1' \G;
(3)使用新租户登录
默认管理员用户(MySQL 模式为 root,Oracle 模式为 sys)的密码为空,您需要及时修改管理员用户的密码。
obclient -h192.168.184.191 -P2883 -uroot@mq_t1 -A
(a)修改密码
ALTER USER root IDENTIFIED BY 'admin';
(b)查看当前数据库
(c)查看有哪些用户
select user_id,user_name,host,passwd from oceanbase.__all_user;
select user,host,password,plugin from mysql.user;
2、用户相关
这里我使用的是之前的sys租户进行登录的
obclient -h127.0.0.1 -P2881 -uroot@sys -p'admin' -Doceanbase -A
(1)创建用户
CREATE USER 'ob'@'%' IDENTIFIED BY 'admin';
CREATE USER 'ob2'@'%' IDENTIFIED BY 'admin';
CREATE USER 'ob3'@'%' IDENTIFIED BY 'admin';
(2)查看用户
select user_id,user_name,host,passwd from oceanbase.__all_user;
或者
select user,host,password,plugin from mysql.user;
(3)删除用户
drop user ob2;
千万不要去delete表!如果手动delete表oceanbase.__all_user中的记录的话,是不会同步到mysql.user表的,因为mysql.user是虚拟表,而虚拟表不能执行DML操作。
例如:delete表oceanbase.__all_user中的ob3和ob4用户,在mysql.user还是能查到。
delete from oceanbase.__all_user where user_name='ob3';
delete from oceanbase.__all_user where user_name='ob4';
select user_id,user_name,host,passwd from oceanbase.__all_user;
select user,host,password,plugin from mysql.user;
但是my.user表是不能delete的,所以会导致数据不一致!!
(4)用户授权
GRANT ALL PRIVILEGES ON *.* TO 'ob'@'%';
(5)用户登录
使用新用户进行登录
obclient -h127.0.0.1 -P2881 -uob -p'admin' -Doceanbase -A
3、数据库相关
(1)查看数据库
show databases;
(2)创建数据库
create database my_ob;
create database my_ob2;
(3)删除数据库
create database my_ob2;
show databases;
drop database my_ob2;
show databases;
4、表相关
(1)创建表
use my_ob;
show tables;
create table t1(id int primary key,name varchar(20));
create table t2(id int primary key,name varchar(20));
create table t3(id int primary key,name varchar(20));
show tables;
(2)删除表
use my_ob;
show tables;
drop table t2;
drop table t3;
show tables;
(3)插入数据
use my_ob;
INSERT INTO t1 (id, name) VALUES
(1, 'Alice'),
(2, 'Bob'),
(3, 'Charlie'),
(4, 'David'),
(5, 'Eve'),
(6, 'Frank'),
(7, 'Grace'),
(8, 'Henry'),
(9, 'Ivy'),
(10, 'Jack');
(4)查询数据
use my_ob;
select * from t1;
(5)删除数据
use my_ob;
select * from t1;
delete from t1 where id > 5;
select * from t1;
(6)清空表
use my_ob;
select * from t1;
truncate table t1;
select * from t1;
五、各个组件介绍
在安装结束,输出了一堆插件的信息,如下:
1、oceanbase-ce
(1)介绍
端口 2881 是 OceanBase 核心服务节点(Observer)的默认服务端口。Observer 是集群的数据存储和处理核心,直接负责 SQL 执行、事务管理、数据持久化等。
此命令直接连接 Observer 节点,适用于单节点部署或测试环境(需明确知道 Observer 的 IP 和端口)。
(2)连接信息
obclient -h127.0.0.1 -P2881 -uroot@sys -p'QFqFG21t6CGwkQHFoaWt' -Doceanbase -A
2、 obproxy-ce
(1)介绍
端口 2883 是代理服务(OBProxy)的默认服务端口。OBProxy 是集群的流量入口,负责请求路由、负载均衡、连接管理等,客户端通常通过 OBProxy 访问集群(尤其是生产环境)。
此命令通过 OBProxy 连接集群,OBProxy 会根据负载均衡策略将请求转发到合适的 Observer 节点,无需客户端感知底层节点细节。
(2)连接信息
obclient -h127.0.0.1 -P2883 -uroot -p'QFqFG21t6CGwkQHFoaWt' -Doceanbase -A
3、obagent
(1)介绍
Obagent(监控代理)是 OceanBase 的轻量级监控组件,负责收集集群节点的运行指标(如 CPU、内存、磁盘使用率,SQL 执行量等),并上报给 Prometheus 用于监控告警。
(2)连接信息
http://192.168.184.191:8088/
http://192.168.184.191:8089/
4、prometheus
(1)介绍
开源监控系统,通过拉取 Obagent 上报的指标(端口 8088),存储并分析 OceanBase 集群的运行数据。其 Web 界面 URL 为 http://192.168.184.191:9090(默认无认证)。
(2)连接信息
http://192.168.184.191:9090/targets?search=
5、 grafana
(1)介绍
开源可视化工具,通过连接 Prometheus(数据源),提供 OceanBase 集群的监控仪表盘(Dashboard)。此处已预配置了 OceanBase 专用仪表盘
(2)连接信息
http://192.168.184.191:3000/d/oceanbase
admin | nFVQqm8NgZ
六、关机重启服务
详细可参考:集群命令组
1、查看集群
obd cluster list
2、重启集群
obd cluster restart demo
3、停止集群
obd cluster stop demo
obd cluster list
4、查看进程
ps -ef | grep oceanbase-ce
ps -ef | grep obagent
ps -ef | grep obproxy-ce
ps -ef | grep prometheus
ps -ef | grep grafana

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)