OceanBase中扩容OCP节点step by step

许多用户在开始使用OceanBase时部署OCP,通常选择单节点部署。但随着后续业务规模的不断扩大,会开始担忧单节点OCP在面对故障时可能丧失对集群运维管控的连续性。鉴于此,会将现有的单节点OCP扩展至多节点部署,以此来确保OCP服务的高可用性。

目前,暂时还无法直接在OCP页面上执行扩容操作,需要使用obd命令对OCP进行扩展,扩展的方式也相对比较简单,主要分以下几个步骤:

  1. 编辑配置文件
  2. obd 命令扩容
  3. 修改配置(可选)

下面就以一个现有的OCP环境,进行一次扩容操作演示(适用OCP4.2.x和4.3.x版本)。

环境介绍

使用obd cluster display <deploy_name> 查看当前OCP环境,这里的 deploy_name 为 metadb

$obd cluster display metadb
Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer 192.168.10.110:2881 ok
Wait for observer init ok
+--------------------------------------------------+
|                     observer                     |
+----------------+---------+------+-------+--------+
| ip             | version | port | zone  | status |
+----------------+---------+------+-------+--------+
| 192.168.10.110 | 4.2.1.4 | 2881 | zone1 | ACTIVE |
+----------------+---------+------+-------+--------+
obclient -h192.168.10.110 -P2881 -uroot -p'xxxxxx' -Doceanbase -A

cluster unique id: 254f1cb5-7d98-515d-a827-2e47f1fc10ee-18ec0a869e7-04010204

Connect to obproxy ok
+--------------------------------------------------+
|                     obproxy                      |
+----------------+------+-----------------+--------+
| ip             | port | prometheus_port | status |
+----------------+------+-----------------+--------+
| 192.168.10.110 | 2883 | 2884            | active |
+----------------+------+-----------------+--------+
obclient -h192.168.10.110 -P2883 -uroot@proxysys -p'xxxxxx' -Doceanbase -A

Connect to ocp-server-ce ok
+-----------------------------------------------------------+
|                       ocp-server-ce                       |
+----------------------------+----------+----------+--------+
| url                        | username | password | status |
+----------------------------+----------+----------+--------+
| http://192.168.10.10:8080 | admin    | xxxxxxxx | active |
+----------------------------+----------+----------+--------+
Trace ID: 328b2ec0-7592-11ef-93a9-00163e046d79
If you want to view detailed obd logs, please run: obd display-trace 328b2ec0-7592-11ef-93a9-00163e046d79

从上面可以看出,这是一个单节点的OCP,部署在 192.168.10.10 这台机器上。下面就在这个单节点基础上,再为OCP扩出一个节点,新节点的 ip 地址为 192.168.10.11。

编辑配置文件

想要增加一个OCP节点,需要先新增一个OCP的配置文件,配置文件的内容相对简单,需要指定新增的组件名 ocp-server-ce,然后在 servers 里添加新增OCP的名称和ip地址,以及安装 OCP 的 home_path。

$ vim ocp_config.yaml
ocp-server-ce:
  servers:
  - name: server2
    ip: 192.168.10.11
  server2:
    home_path: /home/admin/ocp

home_path最好保证和已安装的OCP目录相同,可使用 obd cluster edit-config <deploy_name> 查看ocp-server-ce 组件对应的 home_path。

执行扩容命令

在上一步编辑完配置文件之后,就可以执行 obd cluster scale_out <deploy_name> -c ocp_config.yaml 进行扩容,扩容结果如下:

$obd cluster scale_out metadb -c ocp_config.yaml
Cluster status check ok
Get local repositories and plugins ok
Open ssh connection ok
+-----------------------------------------------------------------------------------------+
|                                         Packages                                        |
+---------------+---------+--------------------+------------------------------------------+
| Repository    | Version | Release            | Md5                                      |
+---------------+---------+--------------------+------------------------------------------+
| ocp-server-ce | 4.3.1   | 20240805192406.el7 | bd4512f9f708fb510d98f245b1be0b03a05e2cba |
+---------------+---------+--------------------+------------------------------------------+
Repository integrity check ok
Load param plugin ok
Generate ocp server configuration ok
Parameter check ok
Initializes ocp-server-ce work home ok
Remote ocp-server-ce-4.3.1-20240805192406.el7-bd4512f9f708fb510d98f245b1be0b03a05e2cba repository install ok
Remote ocp-server-ce-4.3.1-20240805192406.el7-bd4512f9f708fb510d98f245b1be0b03a05e2cba repository lib check !!
Try to get lib-repository
install openjdk-jre-1.8.0_322 for local ok
Remote openjdk-jre-1.8.0_322-b09.el7-051aa69c5abb8697d15c2f0dcb1392b3f815f7ed repository install ok
Remote ocp-server-ce-4.3.1-20240805192406.el7-bd4512f9f708fb510d98f245b1be0b03a05e2cba repository lib check ok
Search plugins ok
Load cluster param plugin ok
Check before start ocp-server ok
Start ocp-server-ce ok
ocp-server-ce program health check ok
Start ocp-server-ce ok
ocp-server-ce program health check ok
Connect to ocp-server-ce ok
Initialize ocp-server-ce ok
succeed
Execute ` obd cluster display metadb ` to view the cluster status
Trace ID: b63a04d8-7594-11ef-955b-00163e046d79
If you want to view detailed obd logs, please run: obd display-trace b63a04d8-7594-11ef-955b-00163e046d79

扩容完成之后,我们就可以登陆网页确认是否可以登陆到OCP,http://192.168.10.11:8080

同时查看配置文件,可以看到新增节点已经加入到了OCP的配置文件中

ocp-server-ce:
  style: default
  package_hash: bd4512f9f708fb510d98f245b1be0b03a05e2cba
  version: 4.3.1
  release: 20240805192406.el7
  depends:
  - oceanbase-ce
  - obproxy-ce
  servers:
  - name: server1
    ip: 192.168.10.10
  - name: server2
    ip: 192.168.10.11
  global:
    home_path: /home/admin/ocp
    soft_dir: /home/admin/ocp/software
    log_dir: /home/admin/ocp/logs
    ocp_site_url: http://192.168.10.10:8080
    port: 8080
    admin_password: xxxxxxxx
    memory_size: 6G
    manage_info:
      machine: 10
  server2:
    home_path: /home/admin/ocp
修改配置(可选)

在执行完扩容之后,会有多个OCP,为了真正实现高可用,很多用户会再设置一个负载均衡,使用VIP或者域名的方式,代理上面 192.168.10.10 和 192.168.10.11 这两个ip。这样在任何一个OCP故障之后,通过访问代理依然可以访问。

不过在OCP中还有一个参数也需要修改下,即 ocp.site.url,这个是外部访问OCP网站的地址。未修改之前还是 192.168.10.10,但是当这台机器上的OCP出现故障时,OCP上的很多运维操作会无法执行,包括添加主机等。

修改方式即登陆OCP,系统管理 -> 系统参数 -> 搜索ocp.site.url,例如VIP为10.10.10.10,即修改后为:http://10.10.10.10:8080

修改完成之后需要重启OCP生效,使用命令 obd cluster restart <deploy_name> -c ocp-server-ce 重启。

相关推荐
OceanBase数据库官方博客2 天前
阳振坤:云时代数据库的思考 | OceanBase发布会实录
oceanbase·分布式数据库·年度发布会
RestCloud2 天前
OceanBase数据库结合ETLCloud快速实现数据集成
数据库·oceanbase·etl·分布式存储·数据集成·数据传输
OceanBase数据库官方博客2 天前
云+AI 时代的 OceanBase
oceanbase·分布式数据库·1024程序员节·年度发布会
筱筱打工人2 天前
DBerver 连接oceanBase 配置
oceanbase
不叫猫先生2 天前
【OceanBase探会】云与 AI 赋能一体化数据库的创新之旅
数据库·ai·oceanbase·1024程序员节
szial2 天前
深入解析 OceanBase 数据库中的局部索引和全局索引
数据库·oceanbase
OceanBase数据库官方博客4 天前
如何排查断连问题——《OceanBase诊断系列》十三
oceanbase·分布式数据库·故障排查·运维管理
OceanBase数据库官方博客5 天前
OceanBase 安全体系解析之身份鉴别
安全·oceanbase·分布式数据库·产品特性
小小不董6 天前
Oracle OCP认证考试考点详解082系列02
运维·服务器·数据库·oracle·开闭原则·1024程序员节
小至尖尖7 天前
OB案例、金融行业核心系统跑批SQL优化
sql·oceanbase·sql优化