工具

Atlas 索引修复

qianmoQqianmoQ· 更新于 2026-09-28· 阅读 4 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Atlas 索引修复

简介

本文档介绍 JanusGraph 的 Atlas 索引修复工具的使用方法,其后端数据存储为 HBase,索引存储为 Solr。

为什么需要此工具

在极少数情况下,创建实体时实体可能已存入数据存储,但 Solr 中并未创建相应的索引。由于 Atlas 的基本搜索(Basic Search)严重依赖 Solr,这将导致搜索时无法返回该实体。请注意,高级搜索(Advanced Search)不受此影响。

位置

该工具是 Atlas 常规安装的一部分,位于 tools/atlas-index-repair 目录下。

执行工具的步骤

完整恢复

如果用户需要恢复所有索引,可以在不带任何命令行参数的情况下执行该工具:

atlas-index-repair/repair_index.py

这将导致 vertex_index、edge_index 和 fulltext_index 被完全重建。建议在执行此恢复之前,先删除这些索引中的现有内容。

注意事项

请注意,完全索引修复是一个耗时的过程。根据数据量的大小,该过程可能需要数天才能完成。在恢复过程中,基本搜索功能将不可用。请务必为该活动预留充足的时间。

选择性恢复

要对某个 Atlas 实体执行选择性恢复,请指定该实体的 GUID:

atlas-index-repair/repair_index.py [-g <guid>]

示例:

atlas-index-repair/repair_index.py -g 13d77457-2a45-4e92-ad53-a172c7cb70a5

请注意,Atlas 将使用 REST API 获取实体,因此需要根据实际安装情况指定正确的身份验证机制。

对于使用用户名和密码的 Atlas 安装,请使用:

atlas-index-repair/repair_index.py [-g <guid>] [-u <user>] [-p <password>]
  • guid:[可选] 指定需要更新索引的 guid
  • user:[可选] 指定 Atlas 实例的用户名
  • password:[可选] 指定 Atlas 实例的密码

示例:

atlas-index-repair/repair_index.py -u admin -p admin123 -g
    13d77457-2a45-4e92-ad53-a172c7cb70a5

对于使用 Kerberos 作为认证模式的 Atlas 安装,请执行以下操作:

  • 在 repair_index.py 中的 DEFAULT_JVM_OPTS 下添加以下内容

    -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.auth.login.config=atlas_jaas.conf
  • kinit -kt /etc/security/keytabs/atlas.service.keytab atlas/fqdn@DOMAIN

对于使用 SSL 的 Atlas 安装,我们需要确保添加 Solr 证书或根 CA 证书,请使用以下 atlas-application 属性:

  • keystore.file {keystore jsk 文件的路径}
  • truststore.file {truststore jsk 文件的路径}
  • cert.stores.credential.provider.path {jceks 文件的路径}

示例:

kinit -kt /etc/security/keytabs/atlas.service.keytab atlas/fqdn@EXAMPLE.com
    atlas-index-repair/repair_index.py -g 13d77457-2a45-4e92-ad53-a172c7cb70a5

评论

登录后参与评论

正在加载评论…