MetricTable表数据如何查看

  原理
内容纲要

概要描述


MetricsTable是CompactService在Shiva中创建的一张KV表。用于存储Holodesk表的一些元信息,用于触发CompactService。

具体来说,Argodbcomputing和SlipStream在insert/update/delete数据时,会向MetricsTable中插入一些元信息。CompactService会定期读取MetricsTable,触发Compact。

MetricsTable存储的元信息仅用于触发compact,没有关键信息,可以删除和重建。

为什么需要记录rowkey列名?
由于历史实现原因,rowkey列名被记录在metastore的元信息中,而非shiva中。因此shiva table并不包含rowkey列信息。而Compact Service的设计原则是完全和metastore解耦,因此不能访问metastore。因此将rowkey列信息记录在kv表中,并传递给CompactService。

详细介绍


MetricsTable存储内容

MetricsTable下定义了多个ColumnFamily, 一个ColumnFamily代表一组KV的数据格式。

ColumnFamily key value 描述
HOLODESK db+table+section lastUpdateTime,LastComapctTime,smallBlockNum 记录上次update和compact时间,用于触发compact,其中smallBlockNum暂时未使用
HOLODESK_ROWKEY db+table rowkey 录rowkey列名,用于传递rowkey信息给CompactService
HOLODESK_COMPACT_BLACKLIST db+table+[section] 黑名单,section为可选项,加到黑名单中的表不会在CompactService上触发Compact(注意,可以在ArgodbComputing上触发)

数据查看方式

1. DBAService页面查看

从 9.4.5-final 版本开始,支持通过DBAService进入compact组件页面查看 MetricsTable 表信息,

MetricTable只有一个,且只有compactservice有。当服务不是compactservice时,不会在shiva表中显示MetricTable表

内容主题也是按照3个ColumnFamily进行展示:

2. curl接口查看

首先需要登录到guardian页面获取AccessToken,放到下面的guardian_access_token后面:

curl -u shiva:shiva -XGET "172.18.131.171:4050/api/metrics?cf=HOLODESK&guardian_access_token=YOnrCZqReKkXEJvW4DQw-KTDH"
curl -u shiva:shiva -XGET "172.18.131.171:4050/api/metrics?cf=HOLODESK_ROWKEY&guardian_access_token=YOnrCZqReKkXEJvW4DQw-KTDH"
curl -u shiva:shiva -XGET "172.18.131.171:4050/api/metrics?cf=HOLODESK_COMPACT_BLACKLIST&guardian_access_token=YOnrCZqReKkXEJvW4DQw-KTDH"
3. 浏览器查看

在成功登录DBAService页面获取认证鉴权的情况下,访问如下链接地址

http://172.18.131.171:4050/api/metrics?cf=HOLODESK
http://172.18.131.171:4050/api/metrics?cf=HOLODESK_ROWKEY
http://172.18.131.171:4050/api/metrics?cf=HOLODESK_COMPACT_BLACKLIST

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。