Je vais essayer de l'expliquer avec un exemple réel, puisque la réponse et les réponses que vous avez obtenu ne semblent pas vous aider.
Lorsque vous téléchargez elasticsearch et démarrez-le, vous créez une elasticsearch nœud qui tente de rejoindre un cluster existant, si disponible, ou en crée une nouvelle. Disons que vous avez créé votre propre nouveau cluster avec un nœud unique, celui que tu vient de commencer. Nous n'avons pas de données, nous avons donc besoin de créer un index.
Lorsque vous créez un index (index est automatiquement créé lors de l'index le premier document en tant que bien), vous pouvez définir la façon dont de nombreux tessons il sera composé de. Si vous ne spécifiez pas un nombre, il aura la valeur par défaut du nombre de fragments: 5 primaires. Ça veut dire quoi?
Cela signifie que elasticsearch permettra de créer des 5 premiers éclats qui contiendra vos données:
____ ____ ____ ____ ____
| 1 | | 2 | | 3 | | 4 | | 5 |
|____| |____| |____| |____| |____|
Chaque fois que vous indexer un document elasticsearch décidera de la primaire tesson est supposé détenir ce document et de les indexer. Primaire sont les éclats de ne pas copier des données, ils sont les données! Ayant plusieurs fragments ne aider à prendre avantage de traitement en parallèle sur une seule machine, mais le fait est que si l'on commence une autre elasticsearch exemple sur le même cluster, les fragments seront distribués dans une même façon sur le cluster.
Le nœud 1 sera alors tenez par exemple, seulement trois fragments:
____ ____ ____
| 1 | | 2 | | 3 |
|____| |____| |____|
Depuis les deux autres fragments ont été déplacés vers le nouveau nœud:
____ ____
| 4 | | 5 |
|____| |____|
Pourquoi est-ce arrivé? Parce que elasticsearch est un moteur de recherche décentralisé et de cette façon vous pouvez faire usage de plusieurs nœuds/machines de gérer les grandes quantités de données.
Chaque elasticsearch indice est composé d'au moins un primaire d'éclat, puisque c'est là que sont stockées les données. Chaque fragment est livré à un coût bien, donc si vous avez un nœud unique et non prévisible de la croissance, il suffit de coller un seul primaire éclat.
Un autre type de fragment est une réplique. La valeur par défaut est 1, ce qui signifie que chaque serveur sera copié vers un autre fragment qui contient les mêmes données. Les répliques sont utilisés pour augmenter les performances de la recherche et pour le basculement. Une réplique d'un fragment est de ne jamais va être allouée sur le même nœud où la relative primaire est (à peu près comme mettre une sauvegarde sur le même disque que les données d'origine).
De retour à notre exemple, avec 1 réplique, nous allons avoir la totalité de l'index sur chaque nœud, depuis 3 réplique éclats seront alloués sur le premier nœud et ils contiennent exactement les mêmes données que la primaire sur le deuxième nœud:
____ ____ ____ ____ ____
| 1 | | 2 | | 3 | | 4R | | 5R |
|____| |____| |____| |____| |____|
De même pour le deuxième nœud, qui contiendra une copie de la primaire éclats sur le premier nœud:
____ ____ ____ ____ ____
| 1R | | 2R | | 3R | | 4 | | 5 |
|____| |____| |____| |____| |____|
Avec une telle configuration, si un nœud tombe en panne, vous avez encore la totalité de l'index. La réplique des éclats de devenir automatiquement les primaires et le cluster fonctionne correctement malgré la défaillance d'un nœud, comme suit:
____ ____ ____ ____ ____
| 1 | | 2 | | 3 | | 4 | | 5 |
|____| |____| |____| |____| |____|
Puisque vous avez "number_of_replicas":1
, les répliques ne peut être attribué plus comme ils ne sont jamais affectés sur le même nœud où leur primaire. C'est pourquoi vous aurez 5 non affecté éclats, les répliques, et l'état du cluster sera YELLOW
au lieu de GREEN
. Pas de perte de données, mais cela pourrait être mieux que certains serveurs ne peuvent pas être affectés.
Dès que le nœud que la gauche est de retour, il va rejoindre le cluster de nouveau et les répliques seront de nouveau attribué. Le fragment existant sur le second nœud peut être chargé, mais ils doivent être synchronisés avec les autres fragments, que les opérations d'écriture le plus probable est arrivé alors que le nœud a vers le bas. À la fin de cette opération, l'état du cluster deviendra GREEN
.
Espérons que cela clarifie les choses pour vous.