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",否则返回的字符串中不…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...