OceanBase:OBServer节点管理

  

目录

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.rhkb.cn/news/200979.html

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

相关文章

《多GPU大模型训练与微调手册》

多GPU微调预备知识 1. 参数数据类型 torch.dtype 1.1 半精度 half-precision torch.float16:fp16 就是 float16,1个 sign(符号位),5个 exponent bits(指数位),10个 mantissa bits(小数位) torch.bfloat16…

PHP手动为第三方类添加composer自动加载

有时候我们要使用的第三方的类库(SDK)没用composer封装好,无法用composer进行安装,怎么办呢??? 步骤如下: 第一步、下载需要的SDK文件包,把它放在vendor目录下 第二步、…

ubuntu22.04安装网易云音乐

附件: https://download.csdn.net/download/weixin_44503976/88557248 wget https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb wget -O patch.c https://aur.archlinux.org/cgit/aur.git/plain/patch.c?hnetease-cloud-m…

windows11记事本应用程序无法打开,未响应,崩溃,卡死

windows11记事本应用程序无法打开,未响应,崩溃,卡死 文章目录 问题描述搜索引擎(度娘)卸载后如何安装问题未解决另一个解决方案:步骤:1.设置 → 语音和区域 → 输入2.选择“高级键盘设置”3.替…

基于springboot实现班级综合测评管理系统项目【项目源码+论文说明】

基于springboot实现班级综合测评管理系统演示 摘要 随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的&#x…

Redis的性能管理

一、Redis性能管理 1.1 查看redis的内存使用情况 redis-cli info memory 或 redis-cli 127.0.0.1:6379> info memoryused_memory:redis中的数据占用的内存。 used_memory_rss:是redis向操作系统申请的内存。 used_memory_peak:redis内存…

数据结构-插入排序+希尔排序+选择排序

目录 1.插入排序 插入排序的时间复杂度: 2.希尔排序 希尔排序的时间复杂度: 3.选择排序 选择排序的时间复杂度: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的…

多目标应用:基于非支配排序的鲸鱼优化算法NSWOA求解微电网多目标优化调度(MATLAB代码)

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、基于非支配排序的鲸鱼优化算法NSWOA 基于非支配排序的鲸鱼优化算法NSWOA简介: 三、基于非支配排序的鲸鱼优化算法NSWOA求解微电网多目标优化…

前端js调取摄像头并实现拍照功能

前言 最近接到的一个需求十分有意思,设计整体实现了前端仿 微信扫一扫 的功能。整理了一下思路,做一个分享。 tips: 如果想要实现完整扫一扫的功能,你需要掌握一些前置知识,这次我们先讲如何实现拍照并且保存的功能。 一. windo…

腾讯云轻量数据库试用初体验

腾讯云轻量数据库1核1G开箱测评,轻量数据库服务采用腾讯云自研的新一代云原生数据库TDSQL-C,轻量数据库兼100%兼容MySQL数据库,实现超百万级 QPS 的高吞吐,128TB海量分布式智能存储,虽然轻量数据库为单节点架构&#x…

vue3+vite+SQL.js 读取db3文件数据

前言:好久没写博客了,最近一直在忙,没时间梳理。最近遇到一个需求是读取本地SQLite文件,还是花费了点时间才实现,没怎么看到vite方面写这个的文章,现在分享出来完整流程。 Tips:解决了打包后wasm文件404问…

Linux操作系统使用及C高级编程-D9D10Linux 服务搭建与使用

TFTP服务器 TFTP(Trivial File Transfer Protocol)即简单文件传输协议,是TCP/IP协议中一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69 1、使用客户服务器方式和使用UDP数据…

jenkins springCloud项目优雅下线

文章目录 场景解决下线请求效果如图贴一个可用的部署脚本 场景 在 Spring Cloud 项目的微服务实例关闭时,需要首先从注册中心设置为下线,避免该服务的消费者继续请求该服务实例,导致请求失败如果我们在服务实例从注册中心取消注册后&#xff…

银河麒麟安装Docker

# 配置阿里云 Centos8 镜像源,需要额外的一些依赖,而这些依赖在麒麟官方的源里面是没有的 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo# 配置阿里云 docker 镜像源 sudo yum-config-manager --add-r…

RedisConnectionFactory is required已解决!!!!

1.起因🤶🤶🤶🤶 redis搭建完成后,准备启动主程序,异常兴奋,结果报错了!!!! 2.究竟是何原因 😭😭😭&#x1f…

LeetCode - 622. 设计循环队列(C语言,顺序存储结构,配图)

目录 ​编辑定义结构体: 1. MyCircularQueue(k): 构造器,设置队列长度为 k 2. Front: 从队首获取元素。如果队列为空,返回 -1 3. Rear: 获取队尾元素。如果队列为空,返回 -1 4. enQueue(value): 向循环队列插入一个元素。…

爬取春秋航空航班信息

一、使用fiddler爬取小程序春秋航空航班信息 使用Fiddler爬取春秋航空微信小程序(手机上由于网络问题,无法进入,使用电脑版) 搜索航班信息 搜索记录 使用Fiddler查找url(没有得到有效url) 继续查找,发现航班信息列…

【总结】坐标变换和过渡矩阵(易忘记)

xCy,此为x到y的坐标变换。 [β1,β2,…,βn] [α1,α2,…αn]C,此为基α到基β的过渡矩阵。 这个概念经常忘记。。。alpha到beta看来就是alpha后面加一个过渡矩阵了,很直观。坐标变换就是根据过渡矩阵和基本形式推一推得到吧,记…

NEJM一篇新文为例,聊聊孟德尔随机化研究mr

2019年3月14日,新英格兰医学杂志发表了一篇论著,Mendelian Randomization Study of ACLY and Cardiovascular disease, 即《ACLY和心血管疾病的孟德尔随机化研究》。与小咖在2017年1月9日报道的一篇发表在新英格兰医学的孟德尔随机化研究——精读NEJM&am…

基于springboot实现在线外卖平台系统项目【项目源码】

基于springboot实现在线外卖平台管理系统演示 Java技术 Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的…