2013-02-22 34 views

Odpowiedz

37

Węzeł główny jest taki sam, jak każdy inny węzeł w klastrze, z wyjątkiem tego, że został wybrany jako wzorzec.

Jest odpowiedzialny za koordynację wszelkich zmian w całym klastrze, takich jak dodanie lub usunięcie węzła, utworzenie, usunięcie lub zmiana stanu (tj. Otwieranie/zamykanie) indeksu i przydzielanie odłamków do węzłów. Po wystąpieniu dowolnej z tych zmian "stan klastra" jest aktualizowany przez wzorzec i publikowany do wszystkich innych węzłów w klastrze. Jest to jedyny węzeł, który może publikować nowy stan klastra.

Zadania, które wykonuje mistrz, są lekkie. Wszelkie zadania dotyczące danych (np. Indeksowanie, wyszukiwanie itp.) Nie muszą angażować mistrza. Jeśli zdecydujesz się uruchomić system główny jako węzeł inny niż dane (tj. Węzeł, który działa jako serwer główny i router, ale nie zawiera żadnych danych), to system główny może działać poprawnie na małym polu.

Węzeł może stać się wzorcem, jeśli jest oznaczony jako "główny kwalifikujący się" (domyślnie wszystkie węzły). Jeśli bieżący wzorzec zostanie wyłączony, klaster wybierze nowego mastera.

Ważną opcją konfiguracji w klastrze jest minimum_master_nodes. Określa liczbę "głównych kwalifikujących się" węzłów, które węzeł musi widzieć, aby stać się częścią klastra. Jego celem jest uniknięcie "rozszczepienia mózgu", tj. Podzielenia klastra na dwa klastry, z których oba uważają, że funkcjonują prawidłowo.

Na przykład, jeśli 3 węzłów, z których wszystkie są Master kwalifikowanych, a zestaw minimum_master_nodes do 1, a następnie, jeśli trzeci węzeł jest oddzielony od dwóch pozostałych to, to widzi jeszcze jeden węzeł główny kwalifikują (sam) i myśli, że może sam tworzyć klaster.

należy położyć minimum_master_nodes do 2, w tym przypadku (liczba węzłów/2 + 1), a następnie, gdy trzeci węzeł oddziela to będzie widać na tyle węzłów głównego, a tym samym nie będzie tworzyć klaster sama. Będzie próbować dołączyć do pierwotnego klastra.

Podczas gdy Elasticsearch bardzo próbuje wybrać prawidłowe wartości domyślne, minimum_master_nodes jest niemożliwe do odgadnięcia, ponieważ nie ma możliwości sprawdzenia, ile węzłów zamierzasz uruchomić. To jest coś, co musisz sam skonfigurować.

+0

Świetne wyjaśnienie Clinton! – javanna

+0

Dzięki za cudowną odpowiedź. Metadane klastra zawierają coś w rodzaju klastra, takie jak typ odwzorowania, przydział shardów, prawda? metadane węzła zawiera co? Czy zawiera pewne informacje o indeksach? – Hoony

+0

Tak, to prawda. Możesz dokładnie zobaczyć, co zawiera, uruchamiając to żądanie względem węzła w klastrze: curl -XGET 'http://127.0.0.1:9200/_cluster/state?pretty=1' – DrTech