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 重启。

相关推荐
Edingbrugh.南空6 小时前
Flink OceanBase CDC 环境配置与验证
大数据·flink·oceanbase
丶意冷7 小时前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
漫步者TZ12 天前
【StarRocks系列】建表优化
starrocks·分布式数据库
.Eyes12 天前
OBCP第二章 OceanBase 存储引擎高级技术学习笔记
笔记·学习·oceanbase
漫步者TZ13 天前
【StarRocks系列】StarRocks vs Mysql
数据库·starrocks·mysql·分布式数据库
Tapdata 钛铂数据14 天前
信创 CDC 实战|国产数据库的数据高速通道:OceanBase 实时入仓 StarRocks
数据库·oceanbase
cooldream200917 天前
华为云Flexus+DeepSeek征文|一键部署华为云CCE容器高可用Dify平台的实践经验与思考
华为云·高可用·dify
大千AI助手17 天前
如何数据的永久保存?将信息以加密电磁波形式发射至太空实现永久保存的可行性说明
人工智能·存储·数据·高可用·永久保存
Dnui_King20 天前
OceanBase (DBA)一面面经
数据库·oceanbase·dba