2.3 如何规划 OceanBase 集群部署
集群架构规划
OceanBase 数据库以集群形态运行,生产环境中最小规模为 3 台服务器(节点)。即集群中业务数据有三份,所以也叫三副本。 您在学习测试的时候,可以部署单副本单节点 OceanBase 集群。
注意
单副本跟单节点并不完全对等。单副本单节点是最小集群规模,单副本也可以扩容为多个节点,整个集群里数据依然是一份,所以叫单副本。
生产环境中,每台机器上启动一个 observer 进程,所以一台机器就对应一个节点。
学习环境中,一台机器可以启动多个 observer 进程,模拟多个节点。每个节点的监听端口(默认是 2881 和 2882)、数据总目录是独立的,互不冲突。每个节点进程启动的最小内存是 10G。
只有一台服务器时,启动的进程数可以分为以下几种情况:
机器可用内存不足 10G, 不能启动
observer进程。机器可用内存在 10G ~ 20G 之间,只可以启动一个
observer进程。机器可用内存在 20G ~ 30G 之间,可以启动 2 个
observer进程。机器可用内存超过 30G ,可以启动 3 个
observer进程。
内存充足时,也可以调大每个 observer 进程能获取的内存。内存越大,节点的资源能力就越大。当然,如果有三台机器,则无需在一台机器上模拟多个节点。
您在部署 observer 进程后还需要部署 obproxy。obproxy 也是单进程软件,是访问 OceanBase 数据库的反向代理。虽然 observer 节点可以直接访问,但是生产环境中还是建议通过 obproxy 访问 OceanBase 集群。
obproxy 进程对于部署位置没有要求。您可以部署在应用服务器上,也可以部署在独立的机器上,或者部署在 OceanBase 机器上。
obproxy 可以部署多个,生产环境中建议至少部署两个。
用户规划
OceanBase 数据库本质上是一个软件,可以运行在任意用户下。OceanBase 数据库软件包默认解压目录在 /home/admin/ 下,生产环境默认也是安装在用户 admin 下,社区版的软件 RPM 包也是如此。OceanBase 支持部署在任意用户的任意目录下。
说明
为了安全起见,不建议在 root 用户下直接部署。随后章节均以部署在 admin 用户下为前提。
在部署 OceanBase 之前需初始化环境,此时可能需要修改操作系统的配置,或者设置目录的权限等,这些操作需要 root 用户权限。不同客户内部主机登录规范不一样,您可以通过 su 切换到 root 用户,或者给 admin 用户增加 sudo 权限。
目录规划
和 observer 相关的软件安装目录有如下几个:
如果您使用 RPM 包安装 OceanBase 数据库,则需要提前创建好
admin用户,数据库的 RPM 包将被自动安装在目录/home/admin/oceanbase下。[root@obce00 ~]# useradd admin [root@obce00 ~]# rpm -ivh rpm/* 准备中... ################################# [100%] 正在升级/安装... 1:oceanbase-ce-libs-x.x.x.el7 ################################# [ 33%] 2:oceanbase-ce-x.x.x.el7 ################################# [ 67%] 3:obproxy-x.x.x.el7 ################################# [100%] [root@obce00 ~]# rpm -ql oceanbase-ce-x.x.x.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-x.x.x.el7 /home/admin/obproxy-x.x.x/bin /home/admin/obproxy-x.x.x/bin/obproxy /home/admin/obproxy-x.x.x/bin/obproxyd.sh
如果您通过 OBD 软件自动化安装 OceanBase 数据库,则会将 RPM 包解压到 HOME 目录的隐藏文件夹
.obd下,如:/.obd/repository/oceanbase-ce/3.1.0/afd11d52f83eef4b456d77969fde620c4bfba85e。这种方式可以同时部署多个版本。说明 随后章节讲解部署方法时会首先介绍 OBD 软件自动化部署 方法。手动部署 方法留在最后,供感兴趣的用户参考。




