南大通用数据库-Gbase-8a-报错集锦-02-metadata is incomplete on localhost

 一、版本信息

名称
CPUIntel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
操作系统CentOS Linux release 7.9.2009 (Core)
内存3G
逻辑核数2
Gbase8a版本8.6.2-R43

二、问题原因

由于gbase.table_distribution存储了所有引擎为express的表元数据信息,如果此表出现数据损坏,会导致本地调度节点无法获取表信息,在select、drop等操作时,将提示metadata is incomplete on localhost。但desc、show create table语句还是可以执行成功的。

三、gbase.table_distribution介绍

gbase> select index_name,dbName,tbName,isReplicate,hash_column,is_nocopies,data_distribution_id from gbase.table_distribution limit 10;
+-------------------------------+------------+--------------------+-------------+-------------+-------------+----------------------+
| index_name                    | dbName     | tbName             | isReplicate | hash_column | is_nocopies | data_distribution_id |
+-------------------------------+------------+--------------------+-------------+-------------+-------------+----------------------+
| gclusterdb.nodedatamap        | gclusterdb | nodedatamap        | YES         | NULL        | NO          |                    1 |
| gclusterdb.rebalancing_status | gclusterdb | rebalancing_status | NO          | index_name  | NO          |                    1 |
| gclusterdb.dual               | gclusterdb | dual               | YES         | NULL        | NO          |                    1 |
| czg.hash_tb_like              | czg        | hash_tb_like       | NO          | NULL        | NO          |                    1 |
| czg.testtab                   | czg        | testtab            | NO          | NULL        | NO          |                    1 |
| czg.a                         | czg        | a                  | NO          | NULL        | NO          |                    1 |
| czg.b                         | czg        | b                  | NO          | NULL        | NO          |                    1 |
| czg.testtab_copy              | czg        | testtab_copy       | NO          | NULL        | NO          |                    1 |
| czg.test_table                | czg        | test_table         | NO          | NULL        | NO          |                    1 |
| czg.test_table_1              | czg        | test_table_1       | NO          | NULL        | NO          |                    1 |
+-------------------------------+------------+--------------------+-------------+-------------+-------------+----------------------+
10 rows in set (Elapsed: 00:00:00.00)
列名含义
index_name库名和表名组合,主键的作用。
dbName库名。
tbName表名。
isReplicate复制表的标记。
hash_column哈希分布表数据分布列。
is_nocopiesnocopy表的标记。
data_distribution_id表数据分部信息的 ID。

四、解决方法

1、多调度节点

我这边是出现了一个是一个DDL EVENT,查看gc_recover.log过一段时间会自动修复DDL EVENT。

 如果没有立马恢复,例如你查的是一节点出的错误,可以换到二节点,也可以正常查询,因为二节点的gbase.table_distribution元数据没有损坏。

2、一个调度节点

一个调度节点无法自动修复,只能手动删除相应event,我这边是DDLevent,所以用下面方法,其他的event要调用相应的方法。

我们先查看存在哪些ddl event,调用gcware.getddlfevents()获取。

[gbase@czg2 Graph]$ python
Python 2.7.5 (default, Jun 28 2022, 15:30:04) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gcware
>>> gcware.getddlfevents()
({'eventid': 3, 'comment': '', 'distributionid': 1, 'tablename': 
'test.t', 'delayTag': 0, 'content': 
'\x01\x00\x02\x00\x01\x00\x02\x00\xe9\x00\x00\x00\xd2\x05\x00test\x0
0\x02\x00t\x00\x01\x00\x03\x00b\xc0\xa8\x06\xe8\x16\x00\x01\x00\x12\
x19\x07\x00\x00\x19\x00\x11\x02\x19\x00\x17\x03\x15\x00\x07\x1d\x00\
x00\x1b\x00S\x02\x00\x00\x00\x180\x00\x07\x1b\x00\xf3\x93\x9e\x00\x0
0\x00CREATE GCLUSTER_LOCAL TABLE /*+ sub_step,distribution(1) */ 
"test"."TNAME_00-1D-7D-C7-A5-17" (\n"a" INT(11) DEFAULT NULL\n) 
TID_00-1D-7D-C7-A5-17 UID(1) 
\x00\xb4\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'tableid': 22, 
'datacopyids': ({'segid': 3, 'nodeipaddr': '192.168.6.232', 'nodeid':
3892750528, 'segname': 'n3'}, {'segid': 2, 'nodeipaddr': 
'192.168.6.232', 'nodeid': 3892750528, 'segname': 'n2'}), 
'nodecopyids': ({'nodeipaddr': '192.168.6.232', 'nodeid': 
3892750528},), 'tabletype': 'DISTRIBUTION'},)
clearddlfevent(regex)介绍点描述
实现功能将符合正则表达式条件的表名对应的 ddl event 清除掉。
参数regex:用正则表达式描述的表名。
返回值被删除的 event 个数。
>>> gcware.clearddlfevent('test.t')
1

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【五】设计模式~~~创建型模式~~~单例模式(Java)

【学习难度:★☆☆☆☆,使用频率:★★★★☆】 5.1. 模式动机 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一…

Hystrix 服务熔断

书籍,人,借阅服务之间相互调用, 高度耦合, 一旦一个服务故障, 其他服务会雪崩, 和多米诺骨牌一样 Hystrix 熔断器, 保险丝 服务降级 提供补救措施发给请求者, 服务可用, 能力下降了 borrow-service 导入依赖 <dependency><groupId>org.springframework.cloud&l…

【MySQL新手到通关】第六章 时间日期函数

文章目录 1.获取日期时间函数1.1 获取当前日期时间1.2 获取当前日期1.3 获取当前时间 2.日期格式化★★★2.1 日期转指定格式字符串2.2 字符串转日期 3.日期间隔3.1 增加日期间隔 ★★★3.2 减去一个时间间隔★★★3.3 日期相差天数&#xff08;天&#xff09;3.4 相差时间&…

使用Chat gpt提高Android开发效率

简介 在过去几周里&#xff0c;我进行了一项令人大开眼界的实验&#xff0c;将 Chat-GPT&#xff08;我使用的是 Bing Chat&#xff0c;它在后台使用了 GPT-4&#xff0c;并且可以免费使用&#xff09;融入到我的日常 Android 开发工作流程中&#xff0c;以探索它是否能够提高…

DAY04_JDBC快速入门JDBC API详解SQL防注入数据库连接池JDBC综合练习

目录 1 JDBC1.1 JDBC概念1.2 JDBC本质 1.3 JDBC好处 2 JDBC快速入门2.1 编写代码步骤2.2 具体操作 3 JDBC API详解3.1 DriverManager3.2 Connection3.2.1 获取执行对象3.2.2 事务管理 3.3 Statement3.4 ResultSet3.4.1 ResultSet案例 3.5 PreparedStatement3.5.1 SQL注入3.5.2 …

hutool文件导出

hutool文件导出 需求&#xff1a;管理员设置会议&#xff0c;参加会议会根据管理员设置的会议要求&#xff0c;用户参加会议填写相关数据&#xff0c;并且生成一个动态的excel数据并导出 示例&#xff1a; 每场都可以自定义报名字段 根据需求与前端约定 字段名称&#xff08;n…

Koa学习1:初始化项目

前言 作为前端开发者&#xff0c;最适合我们的后端就是node了&#xff0c;node的框架挺多的。选择Koa是因为国内用的挺多的、关于这方面的教程也很多、而且比较适合小项目。 学习教程是&#xff1a;【杰哥课堂】-项目实战-NodeKoa2从零搭建通用API服务 写这些文章&#xff0…

javascript基础九:说说Javascript中的继承?如何实现继承?

一、是什么 继承&#xff08;inheritance&#xff09;是面向对象软件技术当中的一个概念 如果一个类别B“继承自”另一个类别A&#xff0c;就把这个B称为“A的子类”&#xff0c;而把A称为“B的父类别”也可以称“A是B的超类” 继承的优点 继承可以使得子类具有父类别的各种属性…

Java 版 spring cloud 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

【企业化架构部署】Apache网页优化

文章目录 一、Apache网页优化概述1.优化内容2.网页压缩2.1gzip概述2.2作用2.3Apache的压缩模块概述mod_gzip模块与mod_deflate模块 3.配置网页压缩功能3.1启用网页压缩功能步骤3.2具体操作步骤 4.配置网页缓存功能4.1启用网页压缩功能步骤4.2具体操作步骤 二、Apache安全优化1.…

设计模式之~工厂系列(简单工厂、工厂方法、抽象工厂)

目录 简单工厂模式 工厂方法模式 简单工厂 VS 工厂方法 抽象工厂模式&#xff1a; 拓展&#xff1a; 利用简单工厂模式优化抽象工厂 利用反射抽象工厂 进行优化 反射配置文件抽象工厂进行优化 简单工厂模式 优点&#xff1a;简单工厂模式的最大优点在于工厂类包含…

计算机专业主要学习什么

2020计算机专业主要学习什么 1计算机专业都学习哪些方面的知识 1、可视化编程 掌握编程方法和可视化技术&#xff0c;熟悉一个可视化平台及其软件开发技术。能够获取Delphi编程人员系列&#xff0c;Java Basic或VB开发专家认证。 就业方向&#xff1a;企业&#xff0c;政府&…

vue前端分页功能怎么实现

Vue前端分页功能可以通过以下几个步骤实现&#xff1a; 1. 安装分页组件库&#xff08;如vue-pagination-2&#xff09;&#xff1a; bash npm install vue-pagination-2 2. 在Vue项目中引入并注册分页组件&#xff1a; javascript import Vue from vue; import Pagination fr…

传地址给组件并让该组件用到地址在背景图片中的方法

问题 这是我在开发中遇到的问题。在网站的分页面中&#xff0c;背景图片的格式几乎一模一样。只是上面的文字和图片不一样而已。 所以我希望写一个组件&#xff0c;然后页面只需要传入背景图片地址和标题就可以显示出相关内容。 于是我动手写了&#xff0c;大致思路是一个盒…

判断点在多边形内算法的C++实现

本篇博客介绍了使用射线法判断点在多边形内部还是外部的算法&#xff0c;并通过C做了具体实现 1. 算法思路 判断平面内点是否在多边形内有多种算法&#xff0c;其中射线法是其中比较好理解的一种&#xff0c;而且能够支持凹多边形的情况。该算法的思路很简单&#xff0c;就是…

AMEYA360:纳芯微推出车规级耐高压、三线霍尔开关及锁存器NSM101x系列

纳芯微推出全新三线制车规霍尔效应开关/锁存器NSM101x系列&#xff0c;为数字位置检测提供高精度的解决方案&#xff0c;可被广泛应用于汽车执行器等的位置检测。 NSM101x产品系列包含了3个产品型号&#xff0c;即NSM1011(单极霍尔开关)、NSM1012(全极霍尔开关)、NSM1013(霍尔锁…

【Unity】Playable使用细则

【Unity】Playable使用细则 本文基于Unity 2021.3 API。 本文介绍官方文档中没提及的Playable使用限制、注意事项、Bug及规避方案&#xff0c;不是Playable的入门教程&#xff01; 如果你还不熟悉Playable的基础用法&#xff0c;请先学习以下官方文档和示例&#xff1a; Playa…

基于STM32的定时器--定时中断(HAL库)

基于STM32的定时器--定时中断&#xff08;HAL库&#xff09; 介绍引言定时器介绍 实例项目介绍准备设计流程 介绍 引言 本文旨在介绍如何使用STM32CubeMX配置KEIL 5开发一个每10us定时器中断触发一次的项目。帮助初学者入门STM32的定时器使用。 定时器介绍 定时器是STM32微…

chatgpt赋能python:Python升降序排列数字

Python升降序排列数字 在Python编程中&#xff0c;排序是一个非常常见并且重要的操作。Python提供了多种排序算法以满足不同的需求。 排序算法 Python中内置的排序算法有两种&#xff1a;Timsort和Quicksort。其中Timsort是一种混合排序算法&#xff0c;结合了插入排序和归并…

Linux系统中源码安装1.8.x版本Arduino IDE

本文内容参考&#xff1a; Ubuntu22.04安装Arduino IDE及Arduino UNO&#xff08;使用CH341驱动&#xff09;调试方法__KILLMILEDC_的博客-CSDN博客 在Linux上下载arduino_不说话的白帽子的博客-CSDN博客 https://guoqing.blog.csdn.net/article/details/88913063?spm1001.…