OceanBase:OBServer节点管理

news2024/11/15 15:56:25

  

目录

1.查看节点

2.添加节点

2.1 创建数据目录

2.2.OceanBase 运行时所依赖的部分三方动态库

2.3.安装 OceanBase 数据库的 RPM 包

2.4.启动节点 observer 进程

2.5.向集群中添加节点

3.隔离节点

4.重启节点

4.1 停止服务

4.2 转储

4.3 关闭进程

4.4 启动进程

4.5 启动服务

5.删除节点

5.1.隔离节点

5.2.手动迁移Unit

5.3.删除节点

5.4.确认删除


      OceanBase 数据库是单进程软件,进程名为 observer。通常一台物理或者虚拟服务器运行一个 observer 进程,由 IP 和端口作为唯一标识,称之为节点。

1.查看节点

#查询 DBA_OB_SERVERS 视图,获取集群中的所有节点信息
SELECT * FROM oceanbase.DBA_OB_SERVERS;

查询结果中的相关字段说明如下:

  • SVR_IP:节点 IP。
  • SVR_PORT:节点的 RPC 端口。
  • ZONE:节点所在的 Zone。
  • SQL_PORT:节点的 SQL 端口,可以使用该端口通过直连方式连接 OceanBase 数据库。
  • WITH_ROOTSERVER:该节点是否为集群 RS(RootServer),RS 负责处理集群管理操作。
  • STATUS:节点的状态:

        ACTIVE:表示该节点为可用状态。
        INACTIVE:表示该节点为宕机状态。
        DELETING:表示该节点正在被删除。

  • STOP_TIME:节点停止服务的时间点。如果值为 NULL,表示节点服务正常运行。
  • START_SERVICE_TIME:节点开始服务的时间点。如果值为 NULL,表示节点未提供服务。
  • BLOCK_MIGRATE_IN_TIME:禁止副本迁入的开始时间点。如果为 NULL,表示副本正常迁入。
  • BUILD_VERSION:OceanBase 数据库软件的版本号。

2.添加节点

2.1 创建数据目录

创建数据目录和日志目录

mkdir -p /oceanbase/data

mkdir -p /oceanbase/redo

mkdir -p /ocenabase/data/slog

mkdir -p /oceanbase/data/sstable

#创建日志目录软连接

ln -s /oceanbase/redo /ocenabase/data/clog

#创建配置文件目录

mkdir -p /home/admin/oceanbase/etc2

mkdir -p /home/admin/oceanbase/etc3

2.2.OceanBase 运行时所依赖的部分三方动态库

#默认安装在/home/admin/oceanbase目录下,需要先创建该目录,否则按照不成功。 

sudo rpm -ivh oceanbase-ce-libs-4.1.0.0-100000202023040520.el7.x86_64.rpm

将第三方库路径加入环境变量

2.3.安装 OceanBase 数据库的 RPM 包

sudo rpm -ivh oceanbase-ce-4.1.0.0-100000202023040520.el7.x86_64.rpm

2.4.启动节点 observer 进程

/home/admin/oceanbase/bin/observer  -p 2881 -P 2882 -z zone1 -n obcluster -c 1 -d /oceanbase/data -i ens192 -o "memory_limit=6G,system_memory=1G,datafile_size=20G,log_disk_size=15G,cpu_count=8,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4,config_additional_dir=/home/admin/oceanbase/etc3;/home/admin/oceanbase/etc2"

        启动脚本可在已运行OBServer节点服务器上通过 ps aux|observer命令查看其他节点的运行参数,各参数说明请参考官方文档:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218350

2.5.向集群(Zone)中添加节点

 alter system add server '192.168.1.220:2882'  zone 'zone1';;

        列表中有刚刚添加的 OBServer 服务器,则表示添加成功。

3.隔离节点

        当节点发生异常或者需要运维变更时,可以隔离节点。隔离后,新的读写请求不会路由到该节点上,从而可以隔离故障或者无损的执行运维变更动作。
        隔离节点有以下三种命令,不同的隔离命令有不同的安全级别保证:

  • 通过 STOP SERVER 命令隔离节点
  • 通过 FORCE STOP SERVER 命令隔离节点
  • 通过 ISOLATE SERVER 命令隔离节点

ALTER SYSTEM STOP SERVER 'svr_ip1:svr_port1', 'svr_ip2:svr_port2', ...;

        执行成功后,可以查询 oceanbase.DBA_OB_SERVERS 视图中该 Server 的 STATUS 字段,可以看到字段值仍为 ACTIVE 不变,但 STOP_TIME 字段的值由 NULL 变为停止服务的时间点。

4.重启节点

        重启是常见运维动作之一,适用于对机器进行短暂维修,以及修改系统配置项后需要重启生效的场景。重启过程中节点的下线时间需要在配置项 server_permanent_offline_time 设置的时间以内,否则会被永久下线。

        重启节点的主要流程为:停止服务 -> 转储 -> 关闭进程 -> 启动进程 -> 启动服务。

4.1 停止服务

ALTER SYSTEM STOP SERVER 'svr_ip:svr_port';

4.2 转储

        对待重启的节点进行转储操作,以便缩短重启后回放 Redo Log 的时间,加速重启。

ALTER SYSTEM MINOR FREEZE SERVER = ('svr_ip:svr_port');

4.3 关闭进程

kill -9 pid

4.4 启动进程

cd /home/admin/oceanbase  &&  ./bin/observer

4.5 启动服务

ALTER SYSTEM START SERVER 'svr_ip:svr_port';

执行成功后,可以查询 oceanbase.DBA_OB_SERVERS 视图中的 START_SERVICE_TIME 字段,该字段表示节点启动服务的时间。如果该值为 NULL,则表示该节点的服务还没有启动。

5.删除节点

        Delete Server 操作涉及到负载均衡,被删除的节点上的资源单元(称为 Unit )会在同一个 Zone 中进行迁移。Unit 的迁移动作是 Unit 自动均衡的过程,主要由 Root Service 控制。待 Unit 迁移成功,Delete Server 操作即可执行成功。删除节点会减少可用资源,如果同 Zone 中其他节点的剩余资源不足以容纳待删除节点上的 Unit,将会导致 Unit 迁移失败,故在执行删除节点之前建议先查询 oceanbase.GV$OB_SERVERS 视图判断 Zone 内各节点的资源使用情况。

5.1.隔离节点

        Unit 自动迁移过程中,迁移任务会占用迁出节点与迁入节点的网络资源和 IO 资源,从而使迁移流量与业务流量叠加,并导致业务流量受影响。为了避免业务流程受影响,可以先执行 Stop Zone 操作后再执行 Delete Server 操作,确保两种流量不发生叠加。

ALTER SYSTEM STOP SERVER 'svr_ip:svr_port';

5.2.手动迁移Unit

        删除节点Unit可以自动迁移,但建议您先手动迁移待删除的节点上的 Unit 后再执行 Delete Server 操作。

a.查看当前 Unit 分布,获取待迁移的 Unit 的 ID

SELECT UNIT_ID,TENANT_ID,STATUS,ZONE,SVR_IP FROM oceanbase.DBA_OB_UNITS;

b.根据查询结果,手动迁移 Unit

ALTER SYSTEM MIGRATE UNIT = unit_id DESTINATION = 'svr_ip:svr_port'; 

5.3.删除节点

ALTER SYSTEM DELETE SERVER 'svr_ip:svr_port' [,'svr_ip:svr_port'...] [ZONE [=] 'zone_name']

5.4.确认删除

SELECT * FROM oceanbase.DBA_OB_SERVERS;

        如果列表中已经查询不到该节点,则表示删除成功。如果列表中仍然有该节点,且该节点的状态为 DELETING,则表示该节点仍然在删除状态中。
        对于未手动迁移 Unit 而是直接执行 Delete Server 操作的场景,可能会导致节点删除失败,确认节点删除失败后,可以参考 后续操作 进行处理。

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

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

相关文章

单体进化微服务:拆分、注册、调用、网关、过滤、治理、分布式事务

这里写目录标题 基本介绍生产-消费-网关父依赖生产者服务消费者服务网关服务common服务 感想 基本介绍 Spring Cloud 是一个用于构建分布式系统和微服务架构的开发工具包。它提供了一系列的功能和组件,用于解决微服务架构中的常见问题,如服务注册与发现…

Python---函数的应用案例(多个)

案例:使用print方法打印一条横线 print(- * 40) 案例:对上个案例进行升级,可以根据输入的num数值,生成指定数量的横线 def print_lines(num, length):""" print_lines函数主要作用用于生成多条指定长度的横线&…

Windows安装MongoDB

1、下载MongoDB的zip,解压 2、创建目录 mkdir D:\JavaSoftware\Database\MongoDB\mongodb-win32-x86_64-windows-5.0.8\data\db mkdir D:\JavaSoftware\Database\MongoDB\mongodb-win32-x86_64-windows-5.0.8\data\log 3、创建一个配置文件mongod.cfg&#xff0c…

【JavaEE】Servlet实战案例:表白墙网页实现

一、功能展示 输入信息: 点击提交: 二、设计要点 2.1 明确前后端交互接口 🚓接口一:当用户打开页面的时候需要从服务器加载已经提交过的表白数据 🚓接口二:当用户新增一个表白的时候,…

Self-Supervised Exploration via Disagreement论文笔记

通过分歧进行自我监督探索 0、问题 使用可微的ri直接去更新动作策略的参数的,那是不是就不需要去计算价值函数或者critic网络了? 1、Motivation 高效的探索是RL中长期存在的问题。以前的大多数方式要么陷入具有随机动力学的环境,要么效率…

1.Qt5.15及其以上的下载

Qt5.15及其以上的下载 简介: ​ Qt是一个跨平台的C库,允许开发人员创建在不同操作系统(如Windows、macOS、Linux/Unix)和设备上具有本地外观和感觉的应用程序。Qt提供了一套工具和库,用于构建图形用户界面&#xff0…

C语言基础---函数、数组

目录 一、函数 二、数组​ 一、函数 交换两个数: 发现这样并没有交换a和b的值,只是交换了x和y的值,这是因为: //当实参传递给形参的时候,形参是实参的一份临时拷贝 //对形参的修改不能改变实参 实参与形参是…

linux高性能服务器

第一部分、TCP/IP协议详解 TCP协议为应用层提供可靠的、面向连接的和基于流的服务 可靠 使用超时重传(发送端在发送报文后启动一个定时器,若定时器在规定时间内没有收到应答就会重发该报文),发送应答机制(发送端发送的每个TCP报文都必须得到接收方的应答…

城市易涝点怎么安装万宾科技内涝积水监测仪?

城市内涝是多个城市广泛存在的问题,经常给城市的居民和基础设施带来一些安全威胁。暴雨引发的道路积水和交通中断、财产损失,甚至公共安全威胁都是城市管理者需要提前预防的问题。为了解决这些问题,内涝积水监测仪的应用是一大重要的举措&…

机器视觉兄弟们,新工作之前,不要过度准备

大家对工作的渴望我感同身受,有人去机器视觉培训机构培训,有人默默无闻地努力学习,不都是为了一份高新好工作吗? 实际上是: 技术高的人,劳动力贬值。 技术低的人,没有生存空间。 你有野心&…

linux 开发板以太网通过Ubuntu上外网方法

在开发板嵌入式设备,有一个mgbe网卡,用网线与连接soc的网卡,和外接网卡,将网卡usb接口插入电脑,选择接入到Ubuntu系统 在Ubuntu将能识别到这个外接网卡,这样就可以通过Ubuntu和soc通讯了, 如下…

关于标准库中的string类 - c++

目录 关于string类 string类的常用接口 string类常用接口的简单模拟实现 关于string类 string类在cplusplus.com的文档介绍 1. string是表示字符串的字符串类 2. 该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。 3. string在…

SEO与 SMO 的区别

SEO和SMO都是为网站带来流量的方法,但二者截然不同。搜索引擎优化(SEO)是一种在搜索引擎结果页面上提高网站流量的技术,而社交媒体优化(SMO)则是一种让更多用户看到社交媒体内容的技术。 阅读本文&#xf…

开源之夏2023 MatrixOne 项目结业啦

开源之夏是由中国科学院软件研究所与 OpenEuler 社区共同主办的一项面向高校学生的暑期在线活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。 在开源之夏 2023 年中,MatrixOne 一共有 2 个任务项目&#…

智能座舱架构与芯片- (11) 软件篇 上

一、智能汽车基础软件平台分类 汽车软件主要分为应用软件和基础软件。应用软件和业务形态高度关联,不同控制器的应用软件之间差异较大。基础软件介于应用软件和硬件之间,用于屏蔽硬件特性、支撑应用软件。可有效地实现应用软件与硬件之间解耦&#xff0…

MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况

目录 一、索引 1.1、简单介绍 1.2、索引的分类 1.2.1、主键索引 1.2.2、单值索引(单列索引、普通索引) 1.2.3、唯一索引 1.2.4、复合索引 1.2.5、复合索引经典问题 1.3、索引原理 1.3.1、主键自动排序 1.3.2、索引的底层原理 1.3.3、B 树和 B…

【Web】Ctfshow XSS刷题记录

目录 反射型XSS ①web316 ②web317-319 ③web320-322 ④web323-326 存储型XSS ①web327 ②web328 ③web329 ④web330 ⑤web331 ⑥web332-333 反射型XSS ①web316 直接输入<script>alert(1)</script>,能弹窗。xss题目一般会有个bot&#xff0c;可以触…

【精选】OpenCV多视角摄像头融合的目标检测系统:全面部署指南&源代码

1.研究背景与意义 随着计算机视觉和图像处理技术的快速发展&#xff0c;人们对于多摄像头拼接行人检测系统的需求日益增加。这种系统可以利用多个摄像头的视角&#xff0c;实时监测和跟踪行人的活动&#xff0c;为公共安全、交通管理、视频监控等领域提供重要的支持和帮助。 …

易航网址引导系统 v1.9 源码:去除弹窗功能的易航网址引导页管理系统

易航自主开发了一款极其优雅的易航网址引导页管理系统&#xff0c;后台采用全新的光年 v5 模板开发。该系统完全开源&#xff0c;摒弃了后门风险&#xff0c;可以管理无数个引导页主题。数据管理采用易航原创的JsonDb数据包&#xff0c;无需复杂的安装解压过程即可使用。目前系…

HTML5生成二维码

H5生成二维码 前言二维码实现过程页面实现关键点全部源码 前言 本文主要讲解如何通过原生HTML、CSS、Js中的qrcodejs二维码生成库&#xff0c;实现一个输入URL按下回车后输出URL。文章底部有全部源码&#xff0c;需要可以自取。 实现效果图&#xff1a; 上述实现效果为&#…