elasticsearch 在文件系统上存储数据的位置

Wil*_*ton 5 elasticsearch

我对 Elasticsearch 比较陌生,我想知道 Elasticsearch 将其记录存储在哪里。我在 上安装了 Elasticsearch /var/lib/elasticsearch,并看到在此目录中创建了索引。例如,一个索引

Logstash-2016.11.11

创造

/var/lib/elasticsearch/nodes/0/indices/logstash-2016.11.11

我还将复制设置为 1,以便每个记录都有两个副本。

后来我删除了该/var/lib/elasticsearch/nodes文件夹,并再次重新运行elasticseach,但有趣的是发现旧记录仍然存在,只有一份副本。

Elasticsearch 是否将副本存储在其他地方?哪里可以找到其他的副本。谢谢。

C-J*_*Jay 5

查看节点统计信息并尝试

http://localhost:9200/_nodes/stats/fs?pretty
Run Code Online (Sandbox Code Playgroud)

在带有 ElasticSearch 7 的 Windows 10 上,它显示:

"path" : "C:\\ProgramData\\Elastic\\Elasticsearch\\data\\nodes\\0"
Run Code Online (Sandbox Code Playgroud)


Vol*_*hat 1

这取决于配置,但要查找数据的位置,您可以查看:

  1. 首先查看默认文件夹结构
  2. 查看配置elasticsearch.yml并搜索路径

复制品有点不同

当您将副本设置为 1 时,这意味着它将存储为副本,但不在同一实例上。一个实例正在存储分片(数据的一部分),但副本必须转到其他实例(这是因为如果您的主服务器崩溃,您还有一份数据副本)。因此,如果您有一台服务器,则意味着您不会拥有 2 个数据副本。由于您的数据未复制,因此集群状态将为黄色