我在弹性搜索群集中有2个节点,8个CPU和16 GB RAM。我已将ES_HEAP_SIZE设置为10 GB。
在我设置的两台机器上的yml配置文件中
index.number_of_shards: 5
index.number_of_replicas: 1
这两台机器都被允许作为master / data true.Now问题是我的第0个节点1的分片在重新启动后被取消分配。我试过了
for shard in $(curl -XGET http://localhost:9201/_cat/shards | grep UNASSIGNED | awk '{print $2}'); do
echo "processing $shard"
curl -XPOST 'localhost:9201/_cluster/reroute' -d '{
"commands" : [ {
"allocate" : {
"index" : "inxn",
"shard" : '$shard',
"node" : "node1",
"allow_primary" : true
}
}
]
}'
done
它没有给出任何错误,并且表示确认为true并显示shard初始化的状态,但是当我查看碎片时它仍然未初始化。
我在设置方面做错了吗?我应该将两个节点都设为master / data true,并在两台机器上设置shard:5和replica:1
非常感谢任何帮助或建议。
由于
答案 0 :(得分:0)
我做了一个解决问题的技巧,我在node1上的索引下重命名为0文件夹,并在node1上强制分配第0个分片,它对我有效。
curl -XPOST 'localhost:9201/_cluster/reroute' -d '{
"commands" : [ {
"allocate" : {
"index" : "inxc",
"shard" : 0,
"node" : "node1",
"allow_primary" : true
}
}
]
}'