OBCP第八章 OB运维、监控与异常处理-日常运维操作
白屏: 集群、Zone、Observer 常用运维操作

常用运维操作
| 运维场景 | 步骤 |
| 时钟同步 | OceanBase从Partition的多个副本中选出主对外提供服务。为避免Paxos的活锁问题,OceanBase 采用一种基于时钟的选举算法选主 检查 NTP 状态:运行 ntpstat 检查 NTP 服务器状态。如果结果为 synchronised to NTP server,则可以认定 NTP 的配置处于同步状态 检查 NTP 的偏移量:多次执行 ntpq -p|grep -E “\*|\=|remote“ 命令,确保可以看到稳定的 offset。若 offset 值小于 50ms 则为时钟同步正常 |
| 内存不足 | OB是准内存数据库,任何写操作都需要消耗内存资源,只有合并和转储操作能够释放内存资源,所以当合并和转储速度长时间低于内存消耗速度时,内存最终将被耗尽,服务能力跌零调大租户内存 转储 / 合并 |
| 外存(磁盘)不足 | 运行日志盘满:可清空较老的日志clog盘满:查询表__all_virtual_server_clog_stat,清除较老的日志,再合并数据文件满:扩容,或将较老的数据迁移到历史库,再合并 |
黑屏:集群运维管理
在集群中启动或停止Zone的操作通常用于允许或禁止Zone内的所有物理服务器对外提供服务的需求场景
启动或停止Zone:
alter system start zone zone1;
alter system stop zone zone1;
修改Zone信息
ALTER SYSTEM {ALTER|CHANGE|MODIFY} ZONE [Zone_Name] SET [Zone_Option_List];
Zone_option_list : region, IDC, Zone_type (READONLY, READWRITE)
查看Zone的状态
Select * from __all_zone;
黑屏:Observer运维管理
查看OBServer的信息:
select * from __all_server;
select * from __all_server_event_history;
管理OBServer状态: 进程启动后,对OBServer的管理类似对Zone的管理
Start Server操作:
ALTER SYSTEM START SERVER 'ip:port' [,'ip:port'…] [ZONE='zone'];
示例:alter system start server '192.168.100.1:2882';
Start Server操作:
ALTER SYSTEM START SERVER 'ip:port' [,'ip:port'…] [ZONE='zone'];
示例:alter system start server '192.168.100.1:2882';
Stop Server操作:
ALTER SYSTEM STOP SERVER 'ip:port' [,'ip:port'…] [ZONE='zone'];
示例:alter system stop server '192.168.100.1:2882' zone='z1';
黑屏:Observer服务管理(进程)
查看OBServer进程:登录OceanBase Server所在的宿主机
ps -ef |grep observer
启动OBServer进程:登录 OceanBase Server主机
cd /home/admin/oceanbase/
./bin/observer [启动参数]
./bin/observer --help 查看 OBServer 启动参数的详细信息
停止 OBServer 进程:
kill -15 `pgrep observer`
kill -9 `pgrep observer`
黑屏:Observer服务启动恢复
由于增删改数据在内存中,进程启动后:
需要与其他副本同步,将clog或者ssd基线数据进行同步(补齐)
需要将上一次合并之后的内存数据恢复出来(clog回放),才能提供服务
注意事项:
停机时间短(分钟或者小时级别),一般只追齐clog
停机时间长(天级别),clog落后太多,会直接追齐ssd基线数据,然后补齐合并版本后的clog
这一过程结束后,该OBServer才能对外提供服务,可以查询__all_server 表的start service time字段来判断OBServer是否对外提供服务
可以在停止OBServer服务前执行转储(alter system minor freeze;),以加快 OBServer 服务恢复过程
黑屏:服务停止(停机运维)
机器需要运维操作时,需要停止OceanBase服务进程:
1. 系统租户登陆,确定运维时长,如果大于1小时但小于1天,为了避免服务恢复后的补副本操作,需要设置永久下线时间 (alter system set server_permanent_offline_time = '86400s’;)
2. 将服务从当前 OBServer 切走,保证停服务的时候,对于业务没有影响(alter system stop server'ip地址:2882';)内含切主动作
3.检查主副本都切走(select count(*) from __all_virtual_table t, __all_virtual_meta_table m where t.table_id=m.table_id and role=1 and m.svr_ip='ip地址' ; ),返回值应为0
4. 停止进程 kill -15 <observer pid>
黑屏:服务恢复(停机运维结束)
机器需要运维操作结束后,需要恢复OceanBase服务进程:
- 机器上电
- 检查该机器ntp同步状态和服务运行情况
- admin用户启动OBServer进程
- 系统租户登陆,启动server(alter system start server ‘ip地址:2882’;)
- 检查__all_server表,查看status为‘active’且‘start_service_time’的值>0,则表示OBServer正常启动并开始提供服务
- 将永久下线时间改回默认值3600s( alter system set server_permanent_offline_time = '3600s’;)
黑屏:故障节点替换
首先要确保集群中有足够的冗余资源(OBServer),可以代替故障节点进行工作:
1.系统租户登陆,stop server,确保主副本都切走
2. 为目标zone添加新的server(alter system add server 'ip地址:2882' ZONE 'zone1'; )
3. 将故障server下线(alter system delete server 'ip地址:2882' ZONE 'zone1'; ),OB 会自动将被下线OBServer的 Unit 迁移至新添加的 OBServer 上
4. 检查__all_server表检查server状态,旧 OBServer 的信息已经消失
相关文章:
OBCP第八章 OB运维、监控与异常处理-日常运维操作
白屏: 集群、Zone、Observer 常用运维操作 常用运维操作 运维场景步骤时钟同步 OceanBase从Partition的多个副本中选出主对外提供服务。为避免Paxos的活锁问题,OceanBase 采用一种基于时钟的选举算法选主 检查 NTP 状态:运行 ntpstat 检查 N…...
springboot-gateway注册nacos失败,控制台没有报错
目录 前言现象描述前言 最近springboot的gateway注册到nacos上,没有注册成功 现象描述 我是在common里面引入了nacos的依赖,依赖如下: <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-confi…...
CLIP:语言-图像表示之间的桥梁
最近GPT4的火爆覆盖了一个新闻:midjourney v5发布,DALLE2,midjourney都可以从文本中生成图像,这种模型要求人工智能同时理解语言和图像数据。 传统的基于人工智能的模型很难同时理解语言和图像。因为自然语言处理和计算机视觉一直…...
failed: open /etc/resolv.conf: no such file or directory“ cause k8s init failed
kubeadm init报错 kubeadm init --config /etc/kubernetes/kubeadm.conf -v 4 --skip-phasesaddon/kube-proxyThis can take up to 4m0s", “[kubelet-check] Initial timeout of 40s passed.”, “”, “\tUnfortunately, an error has occurred:”, “\t\ttimed out wa…...
「科普」如何评价供应商的MES系统
随着制造业的数字化转型,MES系统作为生产信息化的重要组成部分,正在被越来越多的企业采用。然而,在选择供应商时,如何评价供应商的MES系统,成为了制造企业需要面对的一个难题。 首先,评价供应商的MES系统需…...
海康3D轮廓仪调试详细步骤
激光三角测量法 3D激光轮廓仪是基于激光三角测量法(laser triangulation)来重建三维场景。向被测物表面投射激光平面(光片,sheet of light) ,通过使用CMOS相机接收其反射光的变化,可以非接触方式测量高度、高度差、宽度等轮廓(截面…...
【Linux】PCB(进程控制块)
进程控制块PBC-描述进程号进程状态内存指针PBC-描述 我们知道,进程就是运行起来的代码,而操作系统就是通过对进程进行描述,然后将所有的进程使用双向链表串联到一起,实现对计算机软硬件资源的管理的。 那么,PCB到底是…...
风电的Weibull分布及光电的Beta分布组合研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
《Effective Objective-C 2.0 》 阅读笔记 item11
第11条:理解objc_msgSend的作用 1. 动态语言特性 在Objective-C中,如果向某对象传递消息,那就会使用动态绑定机制来决定需要调用的方法。在底层,所有方法都是普通的C语言函数,然而对象收到消息之后,究竟该…...
Python常见装饰器使用(实用向)
目录1.staticmethod2.classmethod3、classmethod 与staticmethod比较4. property5.abstractmethod6.wraps7.lru_cache8.timeout9.retrystaticmethod:将一个方法转换为静态方法,可以在不创建类实例的情况下调用。classmethod:将一个方法转换为…...
集合详解之(三)单列集合接口Set及具体子类HashSet、TreeSet
文章目录🐒个人主页🏅JavaSE系列专栏📖前言:🎀Set集合接口🎀HashSet实现类🎀TreeSet实现类🪅HashSet类常用方法:🪅TreeSet类常用方法:ὁ…...
力扣刷题笔记22—— 矩阵中的路径(回溯)/pair的学习
矩阵中的路径(回溯)/pair的学习问题分析示例代码pair学习问题 来自力扣: 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按…...
Spring学习1
一、Spring简介 Spring翻译过来就是春天的意思,其实也就是给软件行业带来了春天2002年,首次推出Spring框架的雏形,interface21框架Spring框架就是以interface21框架为基础,经过重新设计,并不断丰富,在2004年…...
Keep再闯IPO,三年亏损16亿,会员留存率跌破70%
“运动科技第一股”来了? 3月28日,线上健身平台的运营方、北京卡路里科技有限公司(下称“Keep”)更新招股书,再次闯关港股IPO。 Keep是一家在线健身平台,主要产品包括在线健身内容、智能健身设备和配套运…...
软件测试分类详解
一图看清软件测试分类 一、按测试技术分(是否查看代码) **1. 黑盒测试**:软件功能是否正常使用【功能的测试】 **2. 白盒测试**:代码逻辑是否正确【结构的测试】 **3. 灰盒测试**:介于两者之间的测试,也…...
网站怎么优化出排名
网站怎么优化出排名,独立站SEO优化应该怎么做?#独立站#推广优化#SEO优化 今天跟大家聊一下独立站的SEO,是指个人或者小型的企业对独立站进行一个优化,以提高他在搜索引擎中的排名和流量,从而吸引更多的这个客户和用户。…...
h5|web页面嵌套iframe传参给cocosCreator
h5|web页面嵌套iframe传参给cocosCreator 目录 一、快速浏览 二、详细实现与项目代码 三、安全性评估——iframe 实现效果: 一、快速浏览 在h5页面中,使用JavaScript获取需要传递的参数,如下: var token ZHESHINIDETOKEN; var phone 11…...
阿里云安全产品Web应用防火墙是什么?有什么作用?
Web应用防火墙是一款网站Web应用安全的防护产品,拦截针对您网站发起的Web通用攻击(如SQL注入、XSS跨站等)或是应用资源消耗型攻击(CC),同时也可以满足您网站从流量管理角度来防御业务风险,例如B…...
【SSM】Spring6(九.代理模式)
文章目录1.代理模式2. 静态代理3. 动态代理3.1 JDK动态代理3.2 CGLIB动态代理1.代理模式 代理模式主要有两种: 静态代理模式 动态代理模式 2. 静态代理 有这样一个业务:订单的生成,修改,查看详情。实现如下 package com.sdnu.…...
【1017. 负二进制转换】
来源:力扣(LeetCode) 描述: 给你一个整数 n ,以二进制字符串的形式返回该整数的 负二进制(base -2)表示。 注意, 除非字符串就是 "0",否则返回的字符串中不…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
