2017-08-30 2 views
0

un dossier (index) ont été supprimés à partir d'un noeud:/data3/data/es/esdartyprd/noeuds/0/indices/enc_idx/2/index)Dans ElasticSearch comment récupérer des données à partir de réplicas?

Je peux voir que les données ne sont pas saisies pour tesson primaire ce noeud (node1) => pour cet indice, voici ce qui me donne la commande -XGET boucle http://localhost:9200/_cat/shards

enc_idx   2 p STARTED 57824815 28.8gb 10.135.8.201 HDPESPRD1 
enc_idx   2 r STARTED 57824815 36.5gb 10.135.8.202 HDPESPRD2 
enc_idx   2 r STARTED 57824815 36.5gb 10.135.10.15 HDPESPRA1 
enc_idx   2 r STARTED 57824815 36.5gb 10.135.8.203 HDPESPRD3 
enc_idx   2 r UNASSIGNED 

Vous pouvez voir que les données ne sont pas saisies dans le node1 qui est maître! Et encore avoir un problème pour assigner des données à node4

Toute possibilité de récupérer ou de répliquer des données manquantes à partir de fragments répliqués? Est-ce fait automatiquement? Des solutions pour affecter le fragment qui n'est pas affecté? Dans le journal, je trouve une erreur qu'un fichier est corrompu de ce dossier:

[enc_idx][2] Corrupted index [corrupted_1ytPPpKkTZCGG_zQcbBG-w] caused by: CorruptIndexException[codec footer mismatch: actual footer=1063427 vs expected footer=-1071082520 (resource: NIOFSIndexInput(path="/data3/data/es/esdartyprd/nodes/0/indices/enc_idx/2/index/_3gv6_es090_0.pos"))] 

Répondre

0

Effectuez les opérations suivantes -

  • Arrêtez le cluster.
  • Définissez le nœud HDPESPRD2 en tant que maître éligible en définissant node.master: true.
  • Redémarrez tous les noeuds du cluster sauf le noeud HDPESPRD1 & unassigned.

Le noeud HDPESPRD2 devient alors le nouveau maître. Vous pouvez ensuite rejoindre les autres noeuds après avoir effacé leurs dossiers de données. De nouvelles répliques seront à nouveau créées en eux dès leur adhésion au cluster.