体验OceanBase OBD V2.5.0 组件内扩容和组件变更

背景

OBD 是OceanBase的命令行部署工具,在 obd V2.5.0 版本之前,其主要功能主要是部署各类组件,例如 oceanbase-ce,obproxy-ce,obagent 等。然而,它并不支持组件的变更操作以及组件内部的扩缩容调整。具体来说:

1、若用户希望使用 obd 来扩容 oceanbase-ce,必须手动将新增节点的信息复制到对应组件的精确位置,这一过程繁琐且易出错,因此备受用户诟病。

2、obd 不具备删除通过其部署的组件的功能。

3、可以通过创建新的 deploy_name 来添加新组件,但新部署的组件配置无法与其他组件的配置合并统一进行管理。

因此,很开心在 OBD V2.5.0 开始支持:

•组件内扩容:⽀持除了 ocp-server 以外的全部组件扩容

•组件变更:⽀持添加和删除组件

组件内扩容体验

将 observer 从单节点扩容为 1-1-1的集群

扩容前配置

obd cluster edit-config ob421

user:username: adminkey_file: /home/admin/.ssh/id_rsa
oceanbase-ce:package_hash: b2ccb524f200a9ef0fad2cddf59d309ddaa2e3e4servers:- name: server1ip: 172.24.255.93global:cluster_id: 1mysql_port: 12881rpc_port: 12882home_path: /home/admin/ob421data_dir: /home/admin/ob421_dataredo_dir: /home/admin/ob421_clogmemory_limit: 7G system_memory: 0Mdatafile_size: 6Gdatafile_next: 2Glog_disk_size: 20Gcpu_count: 16production_mode: falseenable_syslog_wf: falseenable_syslog_recycle: truemax_syslog_file_count: 40appname: obclusterroot_password: aaAA11__proxyro_password: aaAA11__server1:zone: zone1local_ip: 172.24.255.93

obd cluster display ob421

Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer 172.24.255.93:12881 ok
Wait for observer init ok
+--------------------------------------------------+
|                     observer                     |
+---------------+---------+-------+-------+--------+
| ip            | version | port  | zone  | status |
+---------------+---------+-------+-------+--------+
| 172.24.255.93 | 4.2.1.2 | 12881 | zone1 | ACTIVE |
+---------------+---------+-------+-------+--------+
obclient -h172.24.255.93 -P12881 -uroot -p'aaAA11__' -Doceanbase -ATrace ID: 74eb3f54-a91d-11ee-b841-00163e04608d
If you want to view detailed obd logs, please run: obd display-trace 74eb3f54-a91d-11ee-b841-00163e04608d
准备扩容文件

cat scale_out_zone2_zone3.yaml

oceanbase-ce:servers:- name: server2ip: 172.24.255.94- name: server3ip: 172.24.255.95server2:zone: zone2local_ip: 172.24.255.94server3:zone: zone3local_ip: 172.24.255.95

执行扩容操作
obd cluster scale_out ob421 -c scale_out_zone2_zone3.yaml -v

1704176494

扩容后确认

obd cluster display ob421

obd cluster display ob421
Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer 172.24.255.93:12881 ok
Wait for observer init ok
+--------------------------------------------------+
|                     observer                     |
+---------------+---------+-------+-------+--------+
| ip            | version | port  | zone  | status |
+---------------+---------+-------+-------+--------+
| 172.24.255.93 | 4.2.1.2 | 12881 | zone1 | ACTIVE |
| 172.24.255.94 | 4.2.1.2 | 12881 | zone2 | ACTIVE |
| 172.24.255.95 | 4.2.1.2 | 12881 | zone3 | ACTIVE |
+---------------+---------+-------+-------+--------+
obclient -h172.24.255.93 -P12881 -uroot -p'aaAA11__' -Doceanbase -ATrace ID: 392afd82-a91e-11ee-8391-00163e04608d
If you want to view detailed obd logs, please run: obd display-trace 392afd82-a91e-11ee-8391-00163e04608d

组件变更体验

新增 obproxy-ce 组件

1、准备新增组件的配置文件

cat obproxy1.yaml

obproxy-ce:package_hash: 0aed4b782120e4248b749f67be3d2cc82cdcb70ddepends:- oceanbase-ceservers:- 172.24.255.94global:listen_port: 22883prometheus_listen_port: 22884home_path: /home/admin/obproxy421enable_cluster_checkout: falseskip_proxy_sys_private_check: trueenable_strict_kernel_release: falseobproxy_sys_password: aaAA11__observer_sys_password: aaAA11__
2、执行添加组件操作

obd cluster component add ob421 -c obproxy1.yaml

Get local repositories and plugins ok
Cluster status check ok
Get added repositories and plugins ok
Open ssh connection ok
Connect to observer 172.24.255.93:12881 ok
+---------------------------------------------------------------------------+
|                                  Packages                                 |
+------------+---------+---------+------------------------------------------+
| Repository | Version | Release | Md5                                      |
+------------+---------+---------+------------------------------------------+
| obproxy-ce | 4.2.1.0 | 11.el7  | 0aed4b782120e4248b749f67be3d2cc82cdcb70d |
+------------+---------+---------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Initializes obproxy work home ok
Remote obproxy-ce-4.2.1.0-11.el7-0aed4b782120e4248b749f67be3d2cc82cdcb70d repository install ok
Remote obproxy-ce-4.2.1.0-11.el7-0aed4b782120e4248b749f67be3d2cc82cdcb70d repository lib check ok
Search plugins ok
Load cluster param plugin ok
Check before start obproxy ok
[WARN] OBD-4521: The config observer_sys_password in obproxy-ce did not take effect, please config it in oceanbase-ceStart obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize obproxy-ce ok
+--------------------------------------------------+
|                     obproxy                      |
+---------------+-------+-----------------+--------+
| ip            | port  | prometheus_port | status |
+---------------+-------+-----------------+--------+
| 172.24.255.94 | 22883 | 22884           | active |
+---------------+-------+-----------------+--------+
obclient -h172.24.255.94 -P22883 -uroot -p'aaAA11__' -Doceanbase -Aob421 running
Trace ID: 1d33bdde-a938-11ee-bc57-00163e04608d
If you want to view detailed obd logs, please run: obd display-trace 1d33bdde-a938-11ee-bc57-00163e04608d
3、添加组件后确认

确认新组件 (obproxy-ce) 已添加成功且可以和已有的组件(oceanbase-ce) 一起管理

obd cluster display ob421

Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer 172.24.255.93:12881 ok
Wait for observer init ok
+--------------------------------------------------+
|                     observer                     |
+---------------+---------+-------+-------+--------+
| ip            | version | port  | zone  | status |
+---------------+---------+-------+-------+--------+
| 172.24.255.93 | 4.2.1.2 | 12881 | zone1 | ACTIVE |
| 172.24.255.94 | 4.2.1.2 | 12881 | zone2 | ACTIVE |
| 172.24.255.95 | 4.2.1.2 | 12881 | zone3 | ACTIVE |
+---------------+---------+-------+-------+--------+
obclient -h172.24.255.93 -P12881 -uroot -p'aaAA11__' -Doceanbase -AConnect to obproxy ok
+--------------------------------------------------+
|                     obproxy                      |
+---------------+-------+-----------------+--------+
| ip            | port  | prometheus_port | status |
+---------------+-------+-----------------+--------+
| 172.24.255.94 | 22883 | 22884           | active |
+---------------+-------+-----------------+--------+
obclient -h172.24.255.94 -P22883 -uroot -p'aaAA11__' -Doceanbase -ATrace ID: 54f29ef2-a938-11ee-86dc-00163e04608d
If you want to view detailed obd logs, please run: obd display-trace 54f29ef2-a938-11ee-86dc-00163e04608d
4、obproxy 组件内扩容

上面的操作执行后,只有一个 obproxy 节点,这里再次体验一下通过 obd 来扩容组件(obprxoy-ce) 的节点:

cat obproxy2.yaml

obproxy-ce:servers:- 172.24.255.95

obd cluster scale_out ob421 -c obproxy2.yaml 

非常赞,扩容就是这么简单。

...
Connect to obproxy ok
+--------------------------------------------------+
|                     obproxy                      |
+---------------+-------+-----------------+--------+
| ip            | port  | prometheus_port | status |
+---------------+-------+-----------------+--------+
| 172.24.255.94 | 22883 | 22884           | active |
| 172.24.255.95 | 22883 | 22884           | active |
+---------------+-------+-----------------+--------+
...
删除 obproxy-ce 组件

obd cluster component del ob421 obproxy-ce

1704177752

注意事项

1、组件内扩容的配置文件里不允许出现 depends,global 对应的配置,否则会出现类似的报错

   [ERROR] OBD-1023: Failed to merge config: depends is not allowed to be set

2、新增组件时 deploy_name 需要填写已有的 deploy_name ,比如(ob421),填写不存在的名字会有如下类似的报错

   [ERROR] No such deploy: ob421_obproxy.

   PS: 在 obd250 之前的版本新增组件是需要填写一个不存在 deploy_name 名字。

3、obd 组件内扩容 oceanbase-ce 后,不会自动扩容租户的 unit_num,需要手动执行 sql 命令行进行扩容。

4、不支持组件内的缩容操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络层_IP

传输层解决的是传输控制,而实际真正决定数据能否发送到对端的是网络层。网络层是有概率传输,而传输层是可靠性传输。所以传输层网络层就可以做到将数据可靠发送到对端。网络层的常见协议有:IP、ICMP等,其中最重要的是IP协议&#…

STM32F103 CubeMX 使用USB生成鼠标设备

STM32F103 CubeMX 使用USB生成鼠标设备 1 配置cubeMX1.1配置外部晶振,配置debug口1.2 配置USB1.3 配置芯片的时钟1.4 生成工程 2. 编写代码2.1 添加申明2.2 main函数代码 1 配置cubeMX 1.1配置外部晶振,配置debug口 1.2 配置USB 1.3 配置芯片的时钟 需…

云与云计算:从传统到云端的IT资源变革

云:从分散到集约,资源服务化的新模式 让我们先通过一个生活化的场景来理解“云”这一概念。几十年前,诸如农村地区的居民需要自给自足,比如在自家院子里打井取水,冬季烧煤取暖,一切满足自己生活需要的都要…

html和winform webBrowser控件交互并播放视频(包含转码)

1、 为了使网页能够与winform交互 将com的可访问性设置为真 [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name "FullTrust")][System.Runtime.InteropServices.ComVisibleAttribute(true)] 2、在webBrow…

idea+vim+pycharm的块选择快捷键

平时开发的时候,有的时候我们想用矩形框住代码,或者想在某列上插入相同字符 例如下图所示,我想在22-24行的前面插入0000 1. Idea的快捷键:option 鼠标 2. Pycharm的快捷键:shift option 鼠标 2. Vim 块选择 v/V/c…

spy分析文件另存为弹框【selenium】

有时需要下载多个文件,但是不想保存在同一个目录下,需要做两步 selenium设置浏览器默认下载路径,这个路径需要是个不存在的路径操作文件另存为弹框 文章目录 selenium设置浏览器默认下载路径操作文件另存为弹框 selenium设置浏览器默认下载路…

Github和TeamCity的持续集成构建

一、简介 TeamCity是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。TeamCity提供一系列特性可以让团队快速实现持续集成:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等。 二、安装使用(…

Excel xlsx file:not supported

报错信息: 原因: Excel和xlrd版本不匹配 解决措施: 降低xlrd版本或Excel版本 方法一: 1) 先卸载了原来的版本:uninstal xlrd 2) 安装新的低版本xlrd模块pip install xlrd1.2.0 方法二: 1&#xff09…

AI日报:欧盟人工智能法案通过后行业面临合规障碍

文章目录 人工智能新规对web爬网的影响对英国的影响。 人工智能新规 立法者已经通过了欧盟人工智能法案。企业现在必须确保其人工智能应用程序符合规则。 全面的新规定对可能影响公民权利的人工智能系统实施制裁,并有可能彻底禁止某些系统。 违反规定的公司可能面…

【类和对象】类的作用域 | 类的实例化 | 类对象模型 | this指针

目录 5.类的作用域 6.类的实例化 6.1成员的声明和定义 6.2实例化出的对象大小 7.类对象模型❗❗ 7.1如何计算类对象的大小 7.2类对象的存储方式猜测 7.3结构体内存对齐规则 7.3.1内存对齐 7.3.2大小端 8.this指针 8.1this指针的引出 8.2this指针的特性 C和C实…

MySQL—redo log、undo log以及MVCC

MySQL—redo log、undo log以及MVCC 首先回忆一下MySQL事务的四大特性:ACID,即原子性、一致性、隔离性和持久性。其中原子性、一致性、持久性实际上是由InnoDB中的两份日志保证的,一份是redo log日志,一份是undo log日志&#xff…

了解常用测试模型 -- V模型、W模型

目录 V模型 测试流程 特点 优、缺点 w模型/双v模型 测试流程 特点 优、缺点 V模型 测试流程 用户需求:产品经理将用户需求转变为软件需求 需求分析与系统设计:验证需求是否正确,确定编程语言和框架 概要设计:项目结构设…

Java数据结构-优先级队列

文章目录 前言一、优先级队列1.1 概念 二、优先级队列的模拟实现2.1 堆的概念2.2 堆的存储方式2.3 堆的创建2.3.1 堆向下调整2.3.2 堆的创建2.3.3 建堆的时间复杂度 2.4 堆的插入与删除2.4.1 堆的插入2.4.2 堆的删除 2.5 用堆模拟实现优先级队列 三、常用接口介绍3.1 PriorityQ…

鼓楼夜市管理wpf+sqlserver

鼓楼夜市管理系统wpfsqlserver 下载地址:鼓楼夜市管理系统wpfsqlserver 说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于C#wpf架构和sql server数据库 功能模块: 登录注册 鼓楼夜市管理系统主界面所有店铺信…

C++类与对象二

目录 一、类的嵌套 二、对象引用私有数据成员 通过公有函数为私有成员赋值 利用指针访问私有数据成员 利用函数访问私有数据成员 利用引用访问私有数据成员 三、成员函数重载 四、this指针 一、类的嵌套 #include <iostream> using namespace std;class CC1 { p…

华为配置中心AP内漫游实验

华为配置中心AP内漫游示例 组网图形 图1 配置中心AP内漫游组网图 配置流程组网需求配置思路数据规划配置注意事项操作步骤配置文件 配置流程 WLAN不同的特性和功能需要在不同类型的模板下进行配置和维护&#xff0c;这些模板统称为WLAN模板&#xff0c;如域管理模板、射频模…

Spring Cloud Gateway针对指定接口做响应超时时间限制

背景&#xff1a;我做的这个服务中存在要对大数据量做自定义统计的接口和大文件上传接口&#xff0c;接口响应用时会超过gateWay配置的全局用时&#xff0c;如果调整网关全局的超时时间和服务的全局超时时间是不合理的&#xff0c;故此想能否单独针对某个接口进行细粒度超时限制…

林木园区改造VR仿真培训课件提高人们的专业素质

森林经营VR模拟体验摆脱了传统森林经营周期长、实践难及耗材大等问题&#xff0c;借助VR虚拟仿真技术为人们提供一种全新的、沉浸式的森林经营体验&#xff0c;让人们更好地了解森林经营的全周期。 提高人们的环保意识 通过亲身参与森林经营的过程&#xff0c;人们可以更直观地…

4、鸿蒙学习-@ohos.promptAction (弹窗)

创建并显示文本提示框、对话框和操作菜单。 说明 本模块首批接口从API version 9开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 该模块不支持在UIAbility的文件声明处使用&#xff0c;即不能在UIAbility的生命周期中调用&#xff0c;需要在创建…

关于python中数据分析的一些函数

首先先下载numpy函数库 如果使用的pycharm软件&#xff0c;可在设置中下载&#xff0c;在Python interpreter设置里&#xff0c;点击号&#xff0c;搜索numpy点击下载即可 第一部分 1.array()函数 这是一个将类似数组的数据转为数组的函数&#xff0c;我们还可以控制其数组的…