2017-10-12 4 views
0

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?

Répondre

1

Ceci est prévu. Pourquoi le feriez-vous? Les primaires et les répliques font le même travail.

Quels problèmes pensez-vous que cela pourrait résoudre?

+0

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? –

+0

Si c'était le cas, elasticsearch le ferait automatiquement dès que les répliques seraient allouées. Où avez-vous lu ça? – dadoonet

+0

Donc, il est parfaitement possible d'avoir toutes mes primaires sur un nœud et toutes mes répliques sur l'autre? –