Jeśli mam klaster 15 węzłów, mam trzeba zmienićZmienić domyślną liczbę odłamków Elasticsearch
index.number_of_shards
wartości na wszystkich 15 węzłów, i uruchomić je ponownie, zanim nowa wartość wchodzi efekt dla nowych indeksów?
Jeśli mam klaster 15 węzłów, mam trzeba zmienićZmienić domyślną liczbę odłamków Elasticsearch
index.number_of_shards
wartości na wszystkich 15 węzłów, i uruchomić je ponownie, zanim nowa wartość wchodzi efekt dla nowych indeksów?
To się zmienia index.number_of_shards
domyślne ustawienia w pliku konfiguracyjnym wymagałyby zmiany ustawienia wszystkich węzłów, a następnie ponownego uruchomienia instancji idealnie zgodnie z wytycznymi dla rolling restarts.
Jednak jeśli to nie jest opcją i jeśli wyraźnie określając number_of_shards
w ustawieniach podczas tworzenia nowego indeksu nie jest idealny, to obejście będzie za pomocą index templates
Przykład:
Można utworzyć index_defaults
domyślnie poniżej:
PUT /_template/index_defaults
{
"template": "*",
"settings": {
"number_of_shards": 4
}
}
Stosuje ustawienie określone w szablonie index_defaults
do wszystkich nowych indeksów.
Po ustawieniu liczby odłamków dla indeksu w ElasticSearch, nie można ich zmienić. Będziesz musiał utworzyć nowy indeks z żądaną liczbą odłamków, a w zależności od przypadku użycia możesz przesłać dane do nowego indeksu.
Mówię w zależności od przypadku użycia, ponieważ na przykład, jeśli przechowujesz dane oparte na czasie, takie jak zdarzenia w dzienniku, rozsądnie jest zamknąć jeden indeks i otworzyć nowy z inną liczbą odłamków, a indeks wszystkie dane przechodzą do tego nowego indeksu, zachowując stary do wyszukiwania.
Jeśli jednak twoim przypadkiem użycia jest na przykład przechowywanie blogów, a Twoje indeksy są według tematu, musisz (a) utworzyć nowe wskaźniki, jak podano powyżej, z różną liczbą odłamków i (b) ponownie zindeksuj swoje dane. Dla (b) polecam użycie Scroll i Scan API, aby pobrać dane ze starego indeksu.
Dzięki Mauricio. Szukam zmiany tylko dla nowych indeksów. Zastanawiam się, czy muszę uruchomić wszystkie węzły, aby nowe ustawienia domyślne zaczęły obowiązywać. –
Ponowne uruchomienie wszystkich węzłów byłoby opcją, ponieważ jest o wiele mniej bolesne w/Elasticsearch 1.7, ale zapomniałem o szablonach indeksu. To idealne rozwiązanie w tym przypadku! Dziękuję Ci. –