首页 > 其他分享 >OpenMLDB v0.6 新版本运维功能增强

OpenMLDB v0.6 新版本运维功能增强

时间:2022-12-14 14:38:27浏览次数:68  
标签:运维 tablet -- openmldb OpenMLDB 分片 v0.6

导读

在过去的一个月里,OpenMLDB 快速迭代了多个小版本 (v0.6.4-v0.6.6),在增强功能的同时,也提高了运维效率。在运维方面,进行了对易用性、可观测性、自动化等方面的改进。本文将介绍 OpenMLDB 在 v0.6 版本迭代过程中运维方面所做的优化。

增强的集群状态查询

1

针对数据库的异常状态展示,OpenMLDB 增强了 SHOW TABLE STATUS 命令,更有利于排查数据库可能存在的问题。相比之前,增加了更多的逻辑检查,还增加了一列 Warnings ,用于显示当前数据库表格的异常状态。目前可以查询到的异常状态包括:

  • Nameserver 上记录的 leader/follower 信息和 tablet 上面的实际分布不一致。可能的原因为 tablet 或者 nameserver 访问 ZooKeeper 出现异常。
  • 分片状态异常。包括分片不存在、未成功加载和正在加载中(稍等可用)。造成分片不存在或者未成功加载的原因可能为 tablet 重启后,未成功恢复出表中数据,比如 auto_failover 设置为 false 或者多副本表所在 tablet 异常退出,造成处于不可自动恢复状态。
  • 副本数目和配置的 replicanum 不匹配。可能的原因为 tablet 启动后,部分副本恢复异常。
  • follower 和 leader 未连接(通常和上述的副本数目不匹配问题同时出现)。其可能的原因为添加新副本后,由于网络原因,tablets 和 nameserver 同步异常。

详情请参考 SHOW TABLE STATUS 命令,地址:https://openmldb.ai/docs/zh/main/reference/sql/ddl/SHOW_TABLE_STATUS.html

异常状态下数据快速恢复

2

一般情况,当您重启服务时,表中数据会自动恢复,并不需要干预。但是如果出现上述的集群异常状态,一般需要进行手动数据恢复。在以前的 OpenMLDB 版本中,手动数据恢复需要登录 ns client 后手动运行一系列命令,相当复杂繁琐。为此,OpenMLDB 新增了一个运维工具,拥有一键数据恢复功能,运行以下命令实现:

python tools/openmldb_ops.py --openmldb_bin_path=./bin/openmldb --zk_cluster=172.24.4.40:30481 --zk_root_path=/openmldb --cmd=recoverdata

详情请参考 运维 FAQ,地址:

https://openmldb.ai/docs/zh/main/maintain/faq.html#id3

扩缩容自动化分片迁移

3

为了实现扩缩容,在新节点加入或者移除以后,需要进行分片的迁移。在以往的版本中,分片迁移需要通过手动方式进行(详情请参考 阔缩容文档,地址:

https://openmldb.ai/docs/zh/main/maintain/scale.html)。手动方式可以提供精准的按需迁移,但是也增加了运维门槛。v0.6 版本引入了分片自动迁移机制,通过运维工具的 scaleout 和 scalein 命令,可以实现分片自动迁移,如:

python tools/openmldb_ops.py --openmldb_bin_path=./bin/openmldb --zk_cluster=172.24.4.40:30481 --zk_root_path=/openmldb --cmd=scaleout

详情请参考 运维工具说明,地址:

https://openmldb.ai/docs/zh/main/maintain/openmldb_ops.html

目前,自动化迁移策略会分别对每个数据库下面的所有表进行分片的均衡,目标为分片数目在所有 tablets 上尽量平均。算法基于启发式算法,基本思路如下:

  • 从拥有分片最多的 tablet 里,随机选择某一个分片,迁移到拥有分片最少的 tablet 上。
  • 所有 tablets 的分片数目基本一致,即:当拥有最多分片的 tablet 比拥有最少分片的 tablet 的分片数目不大于 1 时,算法终止。

我们将持续改进分片自动迁移算法,以满足不同场景下的负载自动平衡。

了解更多:

OpenMLDB GitHub:

https://github.com/4paradigm/OpenMLDB

OpenMLDB 官网:

https://openmldb.ai/

OpenMLDB 文档:

https://openmldb.ai/docs/zh/

标签:运维,tablet,--,openmldb,OpenMLDB,分片,v0.6
From: https://www.cnblogs.com/4paradigm-opensource/p/16981995.html

相关文章

  • OpenMLDB 实时引擎性能测试报告
    OpenMLDB提供了一个线上线下一致性的特征平台。其中,为了支持低延迟高并发的在线实时特征计算,OpenMLDB设计实现了一个高性能的实时SQL引擎。本报告覆盖了OpenMLDB实时......
  • OpenMLDB Meetup No.7 回顾 | OpenMLDB+AutoX:整合自动特征工程,拥抱高效机器学习
    OpenMLDBMeetupNo.7回顾会议内容OpenMLDB社区于2022年10月29日举行了第七期meetup,会议相关视频及资料如下:OpenMLDBPMCcoremember卢冕,以《开源机器学习数据库......
  • 演讲实录 | OpenMLDB 整合自动特征工程
    本文整理自OpenMLDB社区开发者、伊利诺伊大学徐鹏程在OpenMLDBMeetupNo.7中的分享——《OpenMLDB整合自动特征工程》。大家好,我是来自伊利诺伊大学的硕士在读学......
  • OpenMLDB 社区月报 | 2022年10月
    OpenMLDB开源机器学习数据库,提供线上线下一致的生产级特征平台。技术动态十月v0.6.3&v0.6.4新特性离线引擎升级到支持Spark3.2.1增加ValidateSQL接口C......
  • 自动化运维,国产化信创替代方案
        IT国产化体系庞杂,整个产业链涉及网络基础设施、服务器、存储、数据库、中间件、操作系统等众多环节,近年来IT行业各领域国产化技术日趋成熟,但各厂商技术耦合性不高,......
  • 运维向运营转型,会是企业IT传统运维的发展方向吗?
    华汇数据IT综合运营管理平台前言近两年,运维人需要面对不断涌现的新兴技术和架构转型的要求,例如企业上云、分布式、容器化、双中心双活等等。随着传统企业把更多的业务向线上......
  • IT运维是企业IT正常运行的根本保障
    在企业IT工程师团队中,对“三分技术,七分管理”这句箴言的信奉者占据了绝大数。当多个行业企业信息化建设走过大规模新建期后,IT运维成为企业IT的常态。系统、数据与业务的日益......
  • Go DevOps大厂运维平台开发进阶实战营
    使用Jenkinsfile创建流水线已报名老男孩运维课,见底下评论。enkinsfile是一个文本文件,它包含Jenkins流水线的定义,并被检入源代码控制仓库。Jenkinsfile将整个工作流存......
  • Go语言Golang DevOps运维开发实战
    Go语言GolangDevOps运维开发实战提高运维意识。从下到上,从上到下的工作都要做好,对上运维工作的价值和含金量可以得到认可,对下我们的工作能够提高效率解放运维。运维意识......
  • 「笔记」某移动SRE运维体系交流
    痛点传统竖井式IT架构(封闭、隔离、非标、难运维)X86服务器硬件稳定性不足开源软件可靠性不足,且不可控出了故障,被动救火救不完转型由此催生了转型升级的需求:运维......