GBase 8a
运维管理
文章
如何确认nodedatamap系统表是否损坏
发表于2024-03-27 14:16:3841次浏览2个评论
nodedatamap系统表用于计算一致性hash,数据hash分布时要访问此表。该表存储于每个节点gcluster和gnode的gclusterdb数据库和gbase数据库下。此表是安装集群后,通过initnodedatamap命令初始化的。
表中记录数为65536行。表结构如下:
CREATE TABLE nodedatamap (
hashkey int(11) DEFAULT NULL,
nodeid int(11) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace' 可以利用crc32函数查询判断数据hash分布后落在哪个节点,如:
select nodeid from nodedatamap where hashkey = crc32('13184647638')%65536;
可以使用以下SQL判断表是否损坏,如SQL执行报错,则说明表已经损坏
select count(*) from gclusterdb.nodedatamap;
select distinct nodeid from gclusterdb.nodedatamap;
select * from gclusterdb.nodedatamap;
如果确认nodedatamap表损坏,可以执行以下命令重新初始化此表,执行前需确保gcluster没有其它操作:refreshnodedatamap。
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526