全文索引删除后, ES中数据未同步删除

  • nebula 版本:3.0.1

  • 部署方式:单机部署,1台机器

  • 是否为线上版本:Y

  • 硬件信息

  • 磁盘:SSD 1TB

  • CPU、内存信息:40核256G
    问题描述:
    tag的数据量为200万, 添加了全文索引, 当全文索引删除时, es刚好处于异常状态, es中数据没有删除

  • 问题的具体描述
    如下图, nebula中建立了全文索引,

1、创建索引时正常。
2、删除索引时,es刚好处于异常状态。 但删除成功
3、查看nebula中无全文检索索引,但是创建同名索引报错了
4、查看es中, 仍然存在全量的数据

(root@nebula) [haina]> show listener;
+--------+-----------------+--------------------+----------+
| PartId | Type            | Host               | Status   |
+--------+-----------------+--------------------+----------+
| 1      | "ELASTICSEARCH" | ""127.0.0.1":9789" | "ONLINE" |
| 2      | "ELASTICSEARCH" | ""127.0.0.1":9789" | "ONLINE" |
| 3      | "ELASTICSEARCH" | ""127.0.0.1":9789" | "ONLINE" |
| 4      | "ELASTICSEARCH" | ""127.0.0.1":9789" | "ONLINE" |
| 5      | "ELASTICSEARCH" | ""127.0.0.1":9789" | "ONLINE" |
+--------+-----------------+--------------------+----------+
Got 5 rows (time spent 1421/2189 us)

Tue, 12 Apr 2022 16:48:49 CST

(root@nebula) [haina]>
(root@nebula) [haina]>
(root@nebula) [haina]>
(root@nebula) [haina]> CREATE FULLTEXT TAG INDEX nebula_service on service(name, host);
[ERROR (-1005)]: text search index exist : nebula_service

Tue, 12 Apr 2022 16:54:15 CST

(root@nebula) [haina]> show fulltext indexes;
+------+-------------+-------------+--------+
| Name | Schema Type | Schema Name | Fields |
+------+-------------+-------------+--------+
+------+-------------+-------------+--------+
Empty set (time spent 1190/1981 us)

Tue, 12 Apr 2022 16:54:30 CST

health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .geoip_databases 0lFPwD2iQXiSIXdPJwShVg   1   0         40            0     37.8mb         37.8mb
yellow open   nebula_service   qS1qntvpT46LeANKoLxXiQ   3   1    1909673            0     69.2mb         69.2mb
yellow open   .elastichq       fX2FFDByS6Cev1dv_4uKjA   1   1          1            0      6.8kb          6.8kb

1 个赞

文档里面已经写了啊

image
我是在nebula中删除全文索引, 不是删除图空间
如果es状态是正常,我测过在nebula中删除全文索引,es会同步删除的

你怎么测试的,麻烦贴下结果吧

将ES进程监听的IP修改, 然后在nebula中执行下面的语句

nebula> DROP FULLTEXT INDEX nebula_index_1;

相当于换了一个Es的服务
SIGN OUT TEXT SERVICE;
然后SIGN IN TEXT SERVICE 一个新的Es服务IP地址。

这个样旧es中的数据不也没有删除吗?只是不能通过nebula访问了

我改回ip之后, es中对应的数据也没有被删除。
其实我想问的是,当前是否有机制保证nebula和es中的数据一致性。 当es发生异常并恢复后, 是否会自动同步最新的nebula的数据?

一般使用一个固定的es集群。
为啥要来回变换es集群呢?

还有即使每次变换es集群,当使用一个新的es集群时,最好保证es集群的数据是干净的