Comment choisir le nombre de fragments et de répliques Elasticsearch


abdelhalim

Quelqu'un pourrait-il me dire comment puis-je choisir le nombre de fragments et de répliques pour l'index Elasticsearch?

J'ai configuré la taille de l'index à 20 Go mais je ne savais pas comment puis-je choisir le nombre ou les fragments et la réplique

NB: j'ai 5 nœuds , 3 nœuds maîtres (pour les données chaudes ), et 2 nœuds de données (un pour les données chaudes et la seconde pour les données froides )

Merci de votre aide

ESCoder

Elasticsearch utilise le concept du fragment pour subdiviser l'index en plusieurs parties et nous permet de faire une ou plusieurs copies de fragments d'index appelés répliques. Veuillez vous référer à cette réponse SO pour obtenir une compréhension détaillée des fragments et des répliques.

Pour définir le nombre de fragments et de répliques en tant que propriétés d'index:

PUT /indexName

{
  "settings": {
    "index": {
      "number_of_shards": 6,
      "number_of_replicas": 2
    }
  }
}

Si vous avez un index avec 3 fragments et que chacun a 2 répliques, cela signifie qu'il y a un total de 9 fragments, mais seulement 3 fragments sont en cours d'utilisation à ce moment-là. Si l'allocation de partition n'est pas effectuée de la bonne manière, cela peut entraîner des problèmes de performances dans le cluster.

Quelques conseils importants pour choisir le nombre de fragments et de répliques:

  1. Le nombre de fragments ne peut pas être modifié après la création d'un index. Si, par la suite, vous estimez nécessaire de modifier le nombre de fragments, vous devrez réindexer à nouveau tous les documents.

  2. Pour décider de l'absence de fragments, vous devrez choisir un point de départ, puis essayer de trouver la taille optimale en testant vos données et vos requêtes.

  3. Les réplicas ont tendance à améliorer les performances de recherche (pas toujours). Mais, il est recommandé d'avoir au moins 1 réplique (afin que les données soient préservées en cas de panne matérielle)

  4. Reportez-vous à cet article moyen , qui indique que le nombre de nœuds et le nombre de fragments (partition principale + répliques) doivent être proportionnels l'un à l'autre. Ceci est important pour Elasticsearch pour garantir un bon équilibrage de charge.

  5. Comme indiqué dans cet article, il est recommandé de maintenir le nombre de partitions par nœud en dessous de 20 par segment de Go configuré.

  6. Selon ce blog, lorsque vous planifiez la capacité, essayez d'allouer des fragments à un taux de 150% à 300% (soit environ le double) du nombre de nœuds que vous aviez lors de la configuration initiale de vos ensembles de données.

Reportez - vous à cet article et à cet article pour obtenir une explication détaillée des fragments et des répliques

Articles connexes


Comment changer le nombre de répliques d'un sujet Kafka?

GuruPo: Une fois qu'une rubrique Kafka a été créée par un producteur ou un administrateur, comment modifieriez-vous le nombre de répliques de cette rubrique? Artur Biesiadowski: Edit: je me suis trompé - veuillez vérifier l' excellente réponse de Łukasz Dumisz

Fragments et répliques dans Elasticsearch

Lucky Luke J'essaie de comprendre ce qu'est le fragment et la réplique dans Elasticsearch, mais je n'ai pas réussi à le comprendre. Si je télécharge Elasticsearch et exécute le script, alors d'après ce que je sais, j'ai démarré un cluster avec un seul nœud. Ma

Comment obtenir le nombre de répliques de StatefulSet Kubernetes

DuDoff J'essaye de mettre à l'échelle automatiquement mon StatefulSet sur Kubernetes. Pour ce faire, je dois obtenir le nombre actuel de pods. Lors de la gestion des déploiements: kubectl describe deployments [deployment-name] | grep desired | awk '{print $2}'

Augmenter automatiquement le nombre de répliques

Facture J'exécute un service dans Docker Swarm sur une seule machine. Voici ce que j'ai fait pour déployer le service: docker swarm init docker stack deploy -c docker-compose.yml MyApplication Contenu de docker-compose.yml: version: "3" services: web:

Elasticsearch Meilleur nombre de fragments

ilovejq J'ai un cluster avec 2,3 To de données. Les données sont constamment consultées / ont des données supprimées / ajoutées. Actuellement, l'infrastructure est mise à rude épreuve, alors je me penche sur l'optimisation. 100 fragments, c'est bien trop. Je v