社区版 OceanBase 集群部署
前置条件
- 仅部署数据库:2vCPU、8GB 内存、45GB 磁盘+
- 部署数据及全部组件:4vCPU、10GB 内存、50GB 磁盘+
- 主机部署 java 环境,版本要求 JDK1.8
下载安装包
- 站点地址:https://www.oceanbase.com/softwarecenter
- 下载地址:https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/7/x86_64/oceanbase-all-in-one-4.1.0.0-100120230523143820.el7.x86_64.tar.gz
部署 ODB
wget https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/7/x86_64/oceanbase-all-in-one-4.1.0.0-100120230523143820.el7.x86_64.tar.gz
tar -xzf oceanbase-all-in-one-*.tar.gz
cd oceanbase-all-in-one/bin/
./install.sh
source ~/.oceanbase-all-in-one/bin/env.sh
- 访问 web
obd web
start OBD WEB in 0.0.0.0:8680
please open http://172.16.2.181:8680
可视化部署
- 访问 web:http://172.16.2.181:8680
- 配置集群名

- 配置节点及软件路径

- 配置集群配置
- 集群模式配置:https://www.oceanbase.com/docs/community-obd-cn-10000000002049477
- 最大占用:最大化利用环境资源,保证集群的性能与稳定性,推荐使用
- 最小可用:模式配置满足集群正常运行的资源参数
- 集群模式配置:https://www.oceanbase.com/docs/community-obd-cn-10000000002049477


- 执行预检查并检查配置

- 检测通过后,部署

- 等待部署成功


- 访问 OCP Express

常见问题及处理
OBD-2007
- 错误信息
OBD-2007: 172.16.2.181 lo fail to ping 172.16.2.181. Please check configuration `devname`
- 分析及说明:OceanBase 检测绑定网卡逻辑不完善,OceanBase 读取绑定到了 lo 网卡上,无法与其他节点正常通信
- 解决:集群配置 -> 更多配置 -> devname 指定网卡名(这也就要求了所有的 OB 节点,网卡名字要一致)

基本使用
- 连接(通过 obproxy)
obclient -h10.0.0.107 -P2883 -uroot@sys -p
创建租户
- 创建 unit
create resource unit t_u1_1_1 max_cpu=1, memory_size='2G', max_iops=10240;
- 创建 resource pool
create resource pool t_pool1 unit=t_u1_1_1,unit_num=1;
- 创建 tenant,允许所有 IP 访问
CREATE TENANT IF NOT EXISTS tenant1 CHARSET='utf8mb4',RESOURCE_POOL_LIST=('t_pool1') set OB_TCP_INVITED_NODES='%';
- 创建租户后修改租户 root 用户密码
obclient -h10.0.0.107 -uroot@tenant1 -P2883 -Doceanbase -A
obclient> ALTER USER root IDENTIFIED BY '123456';
创建库
- 连接
obclient -h10.0.0.107 -uroot@tenant1 -P2883 -Doceanbase -A -p
- 创建测试库
obclient [oceanbase]> create database tdb;
- 查看测试路
obclient [oceanbase]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| oceanbase |
| tdb |
| test |
+--------------------+
补充说明
最大占用/最小占用差别
CPU
grep -e 'processor\s*:' /proc/cpuinfo | wc -l
- CPU 最小可用模式下固定为 16
- 最大占用模式下 cpu_count = max(16, CPU 数-2)
内存
# 内存总量
grep MemTotal /proc/meminfo
# 可用内存
grep MemAvailable /proc/meminfo
memory_limit
- 最小可用模式下固定为 6G
- 最大占用模式下 memory_limit=max(6G,可用内存*0.9),当磁盘可用空间不足的情况下会被重新调整,最小值为 6G
system_memory
- 最小可用模式下固定为 1G
- 最大占用模式下该配置项根据 memory_limit 配置的大小调整。对应关系如下表所示

磁盘
df --output=size,avail,target
datafile_size
- 最小可用模式:20G
- 最大占用模式:根据 memory_limit 配置的大小调整,其对应关系为:datafile_size = memory_limit*3
log_disk_size
- 最小可用模式:15G
- 根据 memory_limit 配置的大小调整,其对应关系为:log_disk_size = memory_limit*3
PS
- 当磁盘空间不足时将调整 memory_limit 以保证存储安全
- OBServer 日志也会占用一定的磁盘空间,在计算前会根据挂载扣除对应磁盘的空间空间
- 如未开启日志轮转则按照 1G 进行保留
- 开启日志轮转时会根据保留的日志数计算总量进行扣除
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




