暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

社区版 OceanBase 集群部署

原创 Xiang 2023-08-13
1349

社区版 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
  • 配置集群名

obd01.png

  • 配置节点及软件路径

obd02.png

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

obd04.png

obd05.png

  • 执行预检查并检查配置

obd06.png

  • 检测通过后,部署

obd08.png

  • 等待部署成功

obd09.png

obd10.png

  • 访问 OCP Express

obd11.png

常见问题及处理

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 节点,网卡名字要一致)

obd07.png

基本使用

  • 连接(通过 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 配置的大小调整。对应关系如下表所示

obd03.png

磁盘

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论