gpt4 book ai didi

elasticsearch:在多个磁盘卷上分布索引

转载 作者:行者123 更新时间:2023-11-29 02:47:44 24 4
gpt4 key购买 nike

我有一个非常大的索引(大约 100Gb),所以我不得不通过添加另一个卷来扩展我的 digital ocean 调查的磁盘空间(我只在一个节点上运行所有内容)。我告诉 elasticsearch 它现在必须考虑两个磁盘位置

/usr/share/elasticsearch/bin/elasticsearch -Epath.data=/var/lib/elasticsearch,/mnt/volume-sfo2-01/es_data

elasticsearch 似乎确实注意到了这一点,因为它向新位置写入了一些内容

/mnt/volume-sfo2-01/es_data# cd nodes/
/mnt/volume-sfo2-01/es_data/nodes# ls
0
/mnt/volume-sfo2-01/es_data/nodes# cd 0/
/mnt/volume-sfo2-01/es_data/nodes/0# ls
indices node.lock _state
/mnt/volume-sfo2-01/es_data/nodes/0# cd indices
/mnt/volume-sfo2-01/es_data/nodes/0/indices# ls
DixLGLrJRXm1gSYcFzkzzw nmZbce8wTayJC2s_eMC0-g Qd-9ZnFIRoSM2z7AohKm-w Sm_tyYTJTty0ImvDamFaQw
/mnt/volume-sfo2-01/es_data/nodes/0/indices# cd DixLGLrJRXm1gSYcFzkzzw/
/mnt/volume-sfo2-01/es_data/nodes/0/indices/DixLGLrJRXm1gSYcFzkzzw# ls
_state

这与我在/var/lib/elasticsearch/data 中找到的内容相同,除了最低级别的实际索引信息。

阅读 elasticsearch 纪录片我得到的印象是 elasticsearch 正在将新索引安排在两个磁盘位置上,但不会在两个位置之间拆分分片。所以我用 5 个分片初始化索引,以便它可以在卷之间拆分数据。

调查似乎确实检测到自日志文件显示以来的两条数据路径

[2017-06-17T19:16:57,079][INFO ][o.e.e.NodeEnvironment    ] [WU6cQ-o] using [2] data paths, mounts [[/ (/dev/vda1), /mnt/volume-sfo2-01 (/dev/sda)]], net usable_space [29.6gb], net total_space [98.1gb], spins? [possibly], types [ext4]

但是,当我索引新索引时,不断使用原始磁盘上的所有磁盘空间并最终用完磁盘空间并出现错误

raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
elasticsearch.exceptions.TransportError: TransportError(500, u'index_failed_engine_exception', u'Index failed for [pubmed_paper#25949809]')

它从不将其中一个碎片转移到第二卷?我想念什么吗?我可以手动指导磁盘空间使用情况吗?

以下是 elasticsearch 版本的详细信息:

# curl -XGET 'localhost:9200'
{
"name" : "WU6cQ-o",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "hKc147QfQqCefLliStLNtw",
"version" : {
"number" : "5.1.1",
"build_hash" : "5395e21",
"build_date" : "2016-12-06T12:36:15.409Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}

这里是默认路径文件结构,ekasticsearch 存储所有信息(而不是与第二个路径共享)

/var/lib/elasticsearch/elasticsearch/nodes/0/indices/DixLGLrJRXm1gSYcFzkzzw# ls
0 1 2 3 4 _state

一个问题可能是我是否可以只取其中一个碎片并将其移动到另一个位置?

最佳答案

你可以做的是,添加一个 1TB 大小的硬盘到你的系统并将 100GB 的数据复制到新硬盘并更新你的数据目录位置以指向新硬盘,不要同时提供两个路径否则它会尝试也将数据写入旧路径

关于elasticsearch:在多个磁盘卷上分布索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44608922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com