OpenMLDB v0.8.4 诊断工具全面升级

新的v0.8.4版本中,我们对于诊断工具进行了全面系统化的升级,以提供更加完整和智能化的诊断报告,有助于高效排查 OpenMLDB 集群问题,大幅提升运维效率。

相比于之前的版本,新的诊断工具增添一键诊断功能,使用openmldb_tool inspect就可以一键诊断集群的健康状态。提供的信息包括XX DetailSummary & Hint两个部分。XX Detail部分提供集群现状信息;Summary & Hint部分总结了重点需要关注的信息点,并且智能提示可能有问题的地方及相应的对策,帮助用户进行集群修复。 一般情况下,Summary & Hint部分的信息足够用户对集群进行对应的修复;对于更棘手的情况,用户可参照XX Detail里的现状信息进行处理,或者向我们提供报告,我们可以更快速地定位集群问题、进行修复指导。诊断工具的具体详情可以参见文档(https://openmldb.ai/docs/zh/main/maintain/diagnose.html)。 接下来我们简单演示如何使用一键诊断功能来查看集群状态以及如何快速解决常见问题。

报告讲解与演示

以OpenMLDB Demo镜像为例,启动OpenMLDB集群。一键诊断后,用户可以直接检查末尾的Summary & Hint报告总结章,它将总结整个集群的状态,包括Server是否在线,和Table是否健康。

健康状态

绿色提示Server均在线和Table均健康,是正常的状态。
file

异常状态

如果某台Tablet Server掉线了,总结将提示:
file

Server异常状态

报告中,我们首先看到“offline servers”,报告提示我们需要先重启它们。除非该节点是无数据的,其他任何情况,请优先恢复下线server节点,再对表的健康情况进行诊断。

Table异常状态

我们已经将下线server恢复,再次诊断集群,报告如下图所示。此时仍存在不健康的表。状态有两种:

  • 红色Fatal状态,说明此时表处于危险状态,可能会读写失败,需要立即处理。
  • 黄色Warn状态,说明表的主分片都在活动中,读写是可以的,但也请及时处理,只是没有Fatal紧急。

file
请注意这些表虽然仍然不健康,但它们有一些关联的后台OP正在执行。它们是集群自动发起的修复,用户此时不需要手动修复,需要等待后台OP完成。一般情况下,集群自动修复完成后,一键诊断会显示集群已健康。

Table特别异常状态

在实际的运维过程中,可能因为一些意外情况,导致类似下图的情况。Table处于异常状态且并没有后台OP正在运行,它意味着集群并未触发自动修复或修复已经失败。
file
这时候,就需要用户手动操作了,根据报告末尾的提示链接进行recoverdata。如果recoverdata提示成功,可再次一键诊断,确认集群已恢复健康。

详细报告

对于更棘手的情况,我们可以通过报告中的Detail部分来对当前集群进行分析。

Table Partition Detail

Table Partition Detail部分可以让我们直观地了解各个表现在处于什么样的状态。每个Partition分片的主从副本位于哪台Tablet,副本本身是什么状态,都有清晰的展示。结合Example,我们可以看到,一个分片pX代表其分片id,各个副本在Tablet Server上是元信息丢失,还是信息异常等。
file

Ops Detail

Ops Detail可以提示我们集群当前的后台情况,是否自动修复失败等。我们可以通过最后一个OP的时间和最后10个非完成OP的详细状态,来判断集群是未触发自动修复,还是正在修复,或者是修复已失败,或者是部分表修复失败。

提供报告

用户如果通过以上流程,仍无法修复集群,请向我们提供Detail部分的信息,我们可以更快速地定位集群问题、进行修复指导。

相关阅读

  • OpenMLDB 官网: https://openmldb.ai/
  • OpenMLDB GitHub 主页: https://github.com/4paradigm/OpenMLDB
  • OpenMLDB 文档: https://openmldb.ai/docs/zh/
  • OpenMLDB 微信交流群

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

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

相关文章

Python,FastAPI,mLB网关,无法访问/docs

根源就是js和ccs文件访问路由的问题,首先你要有本地的文件,详情看https://qq742971636.blog.csdn.net/article/details/134587010。 其次,你需要这么写: /unicontorlblip就是我配置的mLB网关路由。 app FastAPI(titleoutpaint…

mac添加Chrome插件的方法

如果是.crx的插件 更改后缀crx为zip 后续步骤同下文.zip文件 如果是.zip的插件 使用终端进行解压 注意不要用解压工具解压,一定要用终端,命令行解压 // 进入到“插件名.zip”文件的目录下,输入下面命令: unzip 插件名.zip -…

虾皮自己养一批买家号的优势有哪些?

测评自养号说简单点就是虾皮卖家自己搭建国外的环境来注册的买家号,可以自己养号下单,对自己产品进行产品优点、卖家服务态度以及物流收货体验等等留下优质的评论,可以帮助店铺产品快速建立买家的信任,提高产品的曝光和排名&#…

中断方式的数据接收

中断接收简介 回顾之前的代码 之前的代码是 等待标志位RXNE位为1才有数据 进而读取数据存放在变量c中 再根据c变量的数据是为0还是为1进而编写灯亮灭的代码 if语句 但这样的代码明显不符合裸机多任务的编程模型 因为在while中为进程 进程执行的时间不能大于5ms 但是while&…

毛里塔尼亚市场开发攻略,收藏一篇就够了

毛里塔尼亚是非洲西北部的一个国家,也是中国长期援建的一个国家,也是一带一路上的国家。毛里塔尼亚生产生活资料依赖进口,长期依赖跟我们国家的贸易关系也是比较紧密的,今天就来给大家介绍一下毛里塔尼亚的市场开发公路。文章略长…

188. 股票买卖问题(交易次数为任意正整数)

题目 题解 class Solution:def maxProfit(self, k: int, prices: List[int]) -> int:N len(prices)# 定义状态:dp[i][j][k]表示在第i天,有j次交易机会,持有或不持有的最大利润dp [[[0 for i in range(2)] for j in range(k1)] for m in range(N)]f…

2023 hnust 湖南科技大学 信息安全管理课程 期中考试 复习资料

前言 ※老师没画重点的补充内容★往年试卷中多次出现或老师提过的,很可能考该笔记是奔着及格线去的,不是奔着90由于没有听过课,部分知识点不一定全,答案不一定完全正确 题型 试卷有很多题是原题 判断题(PPT&#xff…

2023.11.23使用flask实现在指定路径生成文件夹操作

2023.11.23使用flask实现在指定路径生成文件夹操作 程序比较简单,实现功能: 1、前端输入文件夹 2、后端在指定路径生成文件夹 3、前端反馈文件夹生成状态 main.py from flask import Flask, request, render_template import osapp Flask(__name__)a…

下一代ETL工具:微服务架构的全新数据集成平台

当前对于大型企业来说数据的整合和加工变得越来越重要。随着业务需求的不断增长,企业数据量越来越大,数据管道越来越多,现有的ETL(抽取、转换、加载)工具已不再满足实时、高性能和微服务架构等现代化需求。因此&#x…

Android开发从0开始(Activity篇)

Activity的生命周期 对应解释: startActivity(new Intent(源页面.this,目标页面.class)) 结束当前活动页面finish(); Activity的启动模式 App先后打开两个活动,此时活动会放入栈内。 (Android:launchMode”standard”)默认 &am…

2023年亚太杯数学建模A题——深度学习苹果图像识别(思路+模型+代码+成品)

Image Recognition for Fruit-Picking Robots 水果采摘机器人的图像识别功能 问题 1:计数苹果 根据附件 1 中提供的可收获苹果的图像数据集,提取图像特征,建立数学模型,计算每幅图像中的苹果数量,并绘制附件 1 中所有…

【云备份】第三方库的认识与使用

文章目录 json库粗略认识详细认识writer 类reader类jsoncpp序列化实现jsoncpp反序列化实现 bundle文件压缩库简单认识bundle库实现文件压缩bundle库实现文件解压缩 httplib库Request类Response类Server类Client类 json库 粗略认识 json是一种数据交换格式,采用完全…