我正在从Elasticsearch 7.10升级到8.4。我想创建一个文件系统快照,复制数据,安装一个新版本,并从我之前创建的快照文件中恢复数据。我有一个具有两个节点角色的设置:master
和data
中的一个或多个。
我不知道,在这样的设置中,当Elastic创建Filesystem快照时,它会在数据节点上创建一个带有原始索引的结构,如下所示:
indicies/
8wPAc89lSrqFunOTSkShSQ/
0/
__LHqdmaHLQU6WWpJVlqFY4w
index-AXVMDc2DQZyBZihEeGOM9g
snap-7Mv54vkoRjS9YLLgSaokDw.dat
...
I25vR794SZmFJ3TvjF3d-Q/
0/
__-f2Sb1onSlaj9XSAhc84LQ
index-sc-iDaI7TRGX0BKg7Mzk2w
snap-7Mv54vkoRjS9YLLgSaokDw.dat
和一个在主节点上包含一些元数据的结构,如下所示:
index-0
index.latest
indicies/
I25vR794SZmFJ3TvjF3d-Q/
0/
meta-oHtfvYQBIjpWMF5xqR1L.dat
meta-7Mv54vkoRjS9YLLgSaokDw.dat
snap-7Mv54vkoRjS9YLLgSaokDw.dat
当我复制文件时,我只复制了来自data
节点的文件(不知道Elasticsearch也会将元数据信息写入master
节点)。因此,我现在有了原始索引数据,但没有元数据信息。
我想自己重新创建一些元数据(index-0
是一个带有一些Map的JSON),但是每个快照也有一些编码文件,所以我假设它们可能是一些计算的控件哈希,我的方法可能不起作用。
有没有一种方法可以在Elasticsearch中恢复所有这些索引,而不需要元数据信息?
1条答案
按热度按时间hivapdat1#
不幸的是,我不认为在不知道需要什么的情况下重建元数据是可能的。
此外,在7.10到8.4之间,索引格式有了显著的变化,您可能无法在没有任何问题的情况下让8.4读取7.10原始文件。
此外,从7.x升级到8.4时,必须先升级到7.17,然后再升级到8.4。