J'ai un cluster Elasticsearch avec deux nœuds et huit fragments. Je suis dans la situation où toutes les primaires sont sur un nœud et toutes les répliques sont sur l'autre.Impossible de déplacer les fragments Elasticsearch
exécution de la commande:
http://xx.xx.xx.1:9200/_cat/shards
renvoie ce résultat:
myindex 2 r STARTED 16584778 1.4gb xx.xx.xx.2 node2
myindex 2 p STARTED 16584778 1.4gb xx.xx.xx.1 node1
myindex 1 r STARTED 16592755 1.4gb xx.xx.xx.2 node2
myindex 1 p STARTED 16592755 1.4gb xx.xx.xx.1 node1
myindex 3 r STARTED 16592009 1.4gb xx.xx.xx.2 node2
myindex 3 p STARTED 16592033 1.4gb xx.xx.xx.1 node1
myindex 0 r STARTED 16610776 1.3gb xx.xx.xx.2 node2
myindex 0 p STARTED 16610776 1.3gb xx.xx.xx.1 node1
Je suis en train d'échanger autour de certains tessons en affichant cette commande:
http://xx.xx.xx.1:9200/_cluster/reroute?explain
avec ce corps:
{
"commands" : [
{
"move" : {
"index" : "myindex",
"shard" : 1,
"from_node" : "node1",
"to_node" : "node2"
}
},
{
"allocate_replica" : {
"index" : "myindex",
"shard" : 1,
"node" : "node1"
}
}
]
}
Il ne fonctionne pas, et le seul « NON » je reçois dans la liste des décisions dans les explainitions est:
{
"decider": "same_shard",
"decision": "NO",
"explanation": "the shard cannot be allocated on the same node id [xxxxxxxxxxxxxxxxxxxxxx] on which it already exists"
},
Il est pas tout à fait clair pour moi si c'est l'erreur réelle, mais il Il n'y a pas d'autres commentaires négatifs. Comment puis-je résoudre ce problème et déplacer mon fragment?
La plupart des conseils pour Elasticsearch que j'ai lus suggèrent qu'il est préférable de répartir les fragments primaires entre les nœuds disponibles. Je ne suis pas le cas? –
Si c'était le cas, elasticsearch le ferait automatiquement dès que les répliques seraient allouées. Où avez-vous lu ça? – dadoonet
Donc, il est parfaitement possible d'avoir toutes mes primaires sur un nœud et toutes mes répliques sur l'autre? –