实战教程第二章2.3:如何规划 OceanBase 集群部署

2024年 5月 7日 80.4k 0

集群架构规划

OceanBase 以集群形态运行,生产环境最小规模是 3 台服务器(节点)。整个集群里,业务数据会有三份,所以也叫三副本。 学习测试的时候,可以部署单副本单节点 OceanBase 集群。 这里特别说明的是,单副本跟单节点并不完全对等。单副本单节点是最小集群规模,单副本也是可以扩容为多个节点,整个集群里数据依然是一份,所以叫单副本。

生产环境,每个机器上启动一个 observer 进程,所以一台机器就对应一个节点。学习环境,一个机器可以启动多个 observer 进程,模拟多个节点。每个节点的监听端口(默认是 2881 和 2882 )、数据总目录是独立的,互不冲突。每个节点进程启动的最小内存是 10G ,空间需要至少 10G 。

所以,如果只有一台服务器,如果机器可用内存不足 10G, 则不能启动 observer 进程。如果可用内存在10G ~ 20G 之间,则只可以启动一个 observer 进程。如果可用内存在 20G ~ 30G 之间,可以启动 2 个 observer 进程。如果可用内存超过 30G ,则可以启动 3个 observer 进程。当然,内存充足的时候,也可以调大每个 observer 进程能获取的内存。内存越大,节点的资源能力就越大。如果有三台机器,就没必要在一个机器上模拟多个节点了。

除了要部署 observer 进程,还需要部署 obproxyobproxy 也是单进程软件,是访问 OceanBase 的反向代理。虽然 observer 节点都可以直接访问,生产环境还是建议通过 obproxy 访问 OceanBase 集群。 obproxy 进程部署位置没有要求。可以部署在应用服务器上,也可以部署在独立的机器上,或者部署在 OceanBase 机器上。obproxy 可以部署多个,生产环境建议至少部署两个。

用户规划

OceanBase 本质上是一个软件,可以运行在任意用户下。OceanBase 软件包默认解压目录是在 /home/admin/ 下,生产环境默认也是安装在用户 admin 下。社区版的软件 RPM 包也是这个特点,支持部署在任意用户的任意目录下。

为了安全起见,我们不建议在 root 用户下直接部署。所以后面都以部署在用户 admin 下为前提。在部署之前初始化环境的时候,可能需要修改操作系统的配置,或者设置目录的权限等,这些操作需要 root 用户权限。不同客户内部主机登录规范不一样,可以通过 su 切换到 root 用户,或者给 admin 用户增加 sudo 权限。

目录规划

observer 有关的目录有好几个:

  • 软件安装目录。

如果是安装 OceanBase 的 RPM 包,则需要提前创建好用户 admin ,并被自动安装在目录 /home/admin/oceanbase 下。

[root@obce00 ~]# useradd admin
[root@obce00 ~]# rpm -ivh rpm/*
准备中...                          ################################# [100%]
正在升级/安装...
   1:oceanbase-ce-libs-3.1.0-1.el7    ################################# [ 33%]
   2:oceanbase-ce-3.1.0-1.el7         ################################# [ 67%]
   3:obproxy-3.1.0-1.el7              ################################# [100%]

[root@obce00 ~]# rpm -ql oceanbase-ce-3.1.0-1.el7.x86_64
/home/admin/oceanbase
/home/admin/oceanbase/bin
/home/admin/oceanbase/bin/import_time_zone_info.py
/home/admin/oceanbase/bin/observer
/home/admin/oceanbase/etc
/home/admin/oceanbase/etc/timezone_V1.log
[root@obce00 ~]# rpm -ql obproxy-3.1.0-1.el7
/home/admin/obproxy-3.1.0/bin
/home/admin/obproxy-3.1.0/bin/obproxy
/home/admin/obproxy-3.1.0/bin/obproxyd.sh

如果是通过OBD 软件自动化安装,则会将 RPM 包解压到 用户 HOME 目录的隐藏文件夹 .obd 下,如:/.obd/repository/oceanbase-ce/3.1.0/afd11d52f83eef4b456d77969fde620c4bfba85e 。这种方式是可以同时部署多个版本。

后面讲解部署方法会首先介绍 OBD 软件自动化部署方法。手动部署方法留在最后,供感兴趣的朋友参考。

附录:

  • 第二章 2.1 OceanBase 部署准备
  • 第二章 2.2 如何快速体验 OceanBase
  • 第二章 2.3 如何规划部署 OceanBase 集群
  • 第二章 2.4 如何初始化服务器环境
  • 第二章 2.5 安装 OBD 自动化部署软件
  • 第二章 2.6 使用 OBD 自动化部署单节点集群
  • 第二章 2.7 使用OBD自动化部署多节点集群
  • 第二章 2.8 参看和修改 OceanBase 参数集群
  • 第二章 2.9 如何部署 OBAgent
  • 第二章 2.10 如何重启 OceanBase 集群
  • 第二章 2.11(高级)如何手动部署 OceanBase 集群
  • 第二章 2.12 常见问题
  • 第二章 2.13 附录

结束语

OceanBase社区版入门到实战教程直播正在进行中~

快和小伙伴一起进群交流学习吧~

加入直播群方式一:

钉钉群号3255 4020

加入直播群方式二:

扫码下方二维码加入

实战教程第二章2.3:如何规划 OceanBase 集群部署-1

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论