Tablet 元数据管理工具

    为了方便进行这些元数据的维护,我们提供了在线的 http 接口方式和离线的 meta_tool 工具以完成相关的管理操作。

    其中 http 接口仅用于在线的查看 tablet 的元数据,可以在 BE 进程运行的状态下使用。

    而 meta_tool 工具则仅用于离线的各类元数据管理操作,必须先停止BE进程后,才可使用。

    meta_tool 工具存放在 BE 的 lib/ 目录下。

    操作

    查看 Tablet Meta 信息可以分为在线方法和离线方法

    在线

    访问 BE 的 http 接口,获取对应的 Tablet Meta 信息:

    api:

    举例:

    http://be_host:8040/api/meta/header/14156/2458238340

    最终查询成功的话,会将 Tablet Meta 以 json 形式返回。

    离线

    基于 meta_tool 工具获取某个盘上的 Tablet Meta。

    命令:

    root_path: 在 be.conf 中配置的对应的 root_path 路径。

    结果也是按照 json 的格式展现 Tablet Meta。

    加载 header 的功能是为了完成实现 tablet 人工迁移而提供的。该功能是基于 json 格式的 Tablet Meta 实现的,所以如果涉及 shard 字段、version 信息的更改,可以直接在 Tablet Meta 的 json 内容中更改。然后使用以下的命令进行加载。

    命令:

    1. ./lib/meta_tool --operation=load_meta --root_path=/path/to/root_path --json_header_path=path

    删除单个tablet元数据:

    删除一组tablet元数据:

    其中 tablet_file.txt 中的每一行表示一个 tablet 的信息。格式为:

    root_path,tablet_id,schema_hash

    每一行各个列用逗号分隔。

    文件示例:

    批量删除会跳过 tablet_file 中 tablet 信息格式不正确的行。并在执行完成后,显示成功删除的数量和错误数量。

    这个命令是为了查看旧的基于文件的管理的PB格式的 Tablet Meta,以 json 的格式展示 Tablet Meta。

    命令:

      这个命令是为了查看SegmentV2 的segment meta信息,以json 形式展示出来