elasticsearch - “_cat/recovery”中没有提到恢复
问题描述
昨天我不得不重新启动我的服务器。加载后我检查了弹性搜索是否正在运行,发现其中 4 个是INITIALIZING
状态,1 个是Unalocated
。我的配置是用:
- 弹性 v2.3
- 5 个分片托管在同一台服务器上(“node-01”)。
- 8个CPU\30GB内存
- 少于 10GB 的数据。
GET 的结果/_cat/shards
:
index shard prirep state ip node
MyIndex 4 p INITIALIZING 127.0.0.1 node-01
MyIndex 3 p INITIALIZING 127.0.0.1 node-01
MyIndex 1 p INITIALIZING 127.0.0.1 node-01
MyIndex 2 p UNASSIGNED
MyIndex 0 p INITIALIZING 127.0.0.1 node-01
.kibana 0 p UNASSIGNED
如您所见,MyIndex->Shard #2
未分配 - 所以我调用了 POST /_cluster/reroute
(从“node-01”到“node-01”)。
根据我以前的经验,这个初始化加载需要很多时间。所以我让机器工作并在 12 小时后再次检查。
12 小时后,结果/_cat/shards
相同(即 4 次初始化,1 次未分配)。在这一点上,我期待得到更好的结果。
这里就更奇怪了。我打电话给 GET/_cat/recovery
和 ES 响应 200 但列表是空的。那就是说什么都没有发生?
你建议我做什么?如果分片是,为什么恢复列表是空的INITIALIZING
?此时,最重要的是能够看到“恢复”过程,如果发生。
解决方案
使用集群分配解释 API来了解为什么您的分片没有被分配。
推荐阅读
- python - 仅在数据框中保留直接父子 ID 对
- node.js - 如何在 Node 中更改模块的路径?
- python - Python mmap“内存泄漏”
- r - 使用 geom_smooth 将 glm 拟合到分数
- c# - 应用程序加载时如何首先显示第一个网格行
- mongodb - 如何将查询数据从另一个 mongoDB 保存到我当前连接的数据库集合中?
- python - 如何从具有元组集和列表的现有字典创建嵌套字典
- ruby - 避免在 Activerecord 上进行多选
- c++ - 返回 make_shared
,继承和转换到 Derived 没有按预期工作? - php - PHP 保护 SQL 登录数据