elasticsearch - elasticsearch = 无法分配,因为不允许分配给任何节点
问题描述
我将弹性搜索作为单节点集群。
其中一个索引是黄色的,说明如下。
我已经阅读了这里的所有材料,总的来说,我没有找到解决这个问题的方法。这是索引信息:
yellow open research-pdl 8_TrwZieRM6oBes8sGBUWg 1 1 416656058 0 77.9gb 77.9gb
这个命令POST _cluster/reroute?retry_failed
似乎没有做任何事情。
安装程序在 docker 上运行,我有 650GB 的可用空间。
{
"index" : "research-pdl",
"shard" : 0,
"primary" : false,
"current_state" : "unassigned",
"unassigned_info" : {
"reason" : "CLUSTER_RECOVERED",
"at" : "2020-12-16T05:21:19.977Z",
"last_allocation_status" : "no_attempt"
},
"can_allocate" : "no",
"allocate_explanation" : "cannot allocate because allocation is not permitted to any of the nodes",
"node_allocation_decisions" : [
{
"node_id" : "5zzXP2kCQ9eDI0U6WY4j9Q",
"node_name" : "37f65704d9bb",
"transport_address" : "172.19.0.2:9300",
"node_attributes" : {
"ml.machine_memory" : "67555622912",
"xpack.installed" : "true",
"transform.node" : "true",
"ml.max_open_jobs" : "20"
},
"node_decision" : "no",
"deciders" : [
{
"decider" : "same_shard",
"decision" : "NO",
"explanation" : "a copy of this shard is already allocated to this node [[research-pdl][0], node[5zzXP2kCQ9eDI0U6WY4j9Q], [P], s[STARTED], a[id=J7IX30jBSP2jXl5-IGp0BQ]]"
}
]
}
]
}
谢谢
解决方案
异常消息非常明确,Elasticsearch 出于高可用性的原因,从不在同一节点上分配同一主分片的副本。
此分片的副本已分配给此节点 [[research-pdl][0], node[5zzXP2kCQ9eDI0U6WY4j9Q], [P], s[STARTED], a[id=J7IX30jBSP2jXl5-IGp0BQ]]
由于您有一个单节点集群,因此您不会有另一个可以分配副本的其他节点。
解决方案
- 向集群中添加更多节点,以便可以在其他节点上分配副本。(首选方式)
- 将副本分片减少到 0,这可能会导致数据丢失和性能问题。(如果有的话,您没有添加数据节点的选项,并且您希望集群处于绿色状态)。
您可以使用集群更新 API更新副本计数。
推荐阅读
- css - 如何在 display:none 和 display:block 之间转换?
- google-slides-api - 使用 Google Slides API 重新着色图像
- sql - 以错误的顺序加入表格
- android - Android Studio 无法解析导入
- python - 如何在 Python 中启用锁定以控制哪些线程能够写入我的日志文件和我的屏幕?
- c# - 有没有办法使用 OpenXml 从列中获取最后填充的行单元格值
- spring-boot - 如何摆脱无限递归
- java - 当用户在 Java8 中输入错误的日期格式时如何给出错误消息
- tcp - 在 OMNET++ 中的某些事件后如何正确向服务器发送自定义消息
- react-native - 无法对齐自动完成视图