Jak skonfigurować Redis dla wysokiej dostępności z Sentinel w Centos 8 - Część 2
- 806
- 39
- Pan Jeremiasz Więcek
Redis zapewnia wysoką dostępność przez Redis Sentinel system rozproszony. Posterunek pomaga monitorować Redis instancje, wykryć awarie i automatycznie wykonują przełączniki role Redis wdrażanie w celu oporu wszelkiego rodzaju awarii.
Ma monitorowanie Redis Instancje (Master i Replicas), obsługuje powiadomienie o innych usługach/procesach lub administratora systemu za pośrednictwem skryptu, automatyczne przełączanie awaryjne w celu promowania repliki do mistrza, gdy Master upadnie i zapewnia konfigurację klientom w odkryciu obecnego głównego oferowania określonej usługi.
Ten artykuł pokazuje, jak skonfigurować Redis dla wysokiej dostępności z Redis Sentinel W Centos 8, w tym konfiguracja wartowników, sprawdzanie statusu konfiguracji i testowanie a Posterunek przełączanie awaryjne.
Warunek wstępny:
- Jak skonfigurować replikację Redis (z wyłączonym w trybie klastra) w Centos 8 - Część 1
Konfiguracja środowiska testowego
Serwer główny i Sentinel1: 10.42.0.247 Redis Replica1 i Sentinel2: 10.42.0.21 Redis Replica2 i Sentinel3: 10.42.0.34Schemat logiczny konfiguracji Redis Sentinel
Według Redis Sentinel Dokumentacja, potrzebuje co najmniej trzech Posterunek instancje solidnego wdrożenia. Biorąc pod uwagę naszą konfigurację powyżej, jeśli gospodarz niepowodzenie, Sentinels2 I Sentinel3 zgodzą się na temat awarii i będzie w stanie zezwolić na przełączanie awaryjne, dzięki czemu operacje klientów mogą kontynuować.
Krok 1: Uruchamianie i włączenie usługi Redis Sentinel
1. NA Centos 8, Redis Sentinel Usługa jest zainstalowana obok Redis serwer (co już zrobiliśmy w konfiguracji replikacji Redis).
Rozpocząć Redis usługa Sentinel i umożliwić jej automatycznie uruchamianie w rozruchu systemowym, użyj następujących Systemctl polecenia. Potwierdź również, że działa, sprawdzając status (Zrób to na wszystkich węzłach):
# Systemctl Start Redis-Sentinel # Systemctl Włącz Redis-Sentinel # Systemctl Status Redis-SentinelRozpocznij usługę Redis Sentinel
Krok 2: Konfigurowanie Redis Sentinel na wszystkich węzłach Redis
2. W tej sekcji wyjaśniamy, jak skonfigurować Posterunek na wszystkich naszych węzłach. Posterunek usługa ma podobny format konfiguracji jak Redis serwer. Aby go skonfigurować, użyj /etc/redis-sentinel.conf Samokumentowany plik konfiguracyjny.
Najpierw utwórz kopię zapasową oryginalnego pliku i otwórz go do edycji.
# cp /etc /redis-sentinel.conf /etc /redis-sentinel.conf.orig # vi /etc /redis-sentinel.conf
3. Domyślnie Sentinel słucha w porcie 26379, Sprawdź to we wszystkich instancjach. Zauważ, że musisz opuścić wiązać Parametr skomentował (lub ustawiony na 0.0.0.0).
Port 26379Ustaw interfejs słuchania Sentinel i port
4. Następnie powiedz Posterunek do monitorowania naszego gospodarz, i rozważyć to w „Obiektywnie w dół”Stan tylko wtedy, gdy co najmniej 2 kworum zgadzają się. Możesz wymienić „mój mistrz”Z niestandardową nazwą.
#On Master Server i Sentinel1 Sentinel Monitor MyMaster 127.0.0.1 6379 2 #on Replica1 i Sentinel2 Sentinel Monitor MyMaster 10.42.0.247 6379 2 #on Replica1 i Sentinel3 Sentinel Monitor MyMaster 10.42.0.247 6379 2Ustaw Master Redis do monitorowania
Ważny: Instrukcja monitora Sentinel musi zostać umieszczona przed wartownikiem Auth-Pass instrukcja, aby uniknąć błędu ”Nie ma takiego mistrza o określonej nazwie.„Podczas ponownego uruchomienia usługi Sentinel.
5. Jeśli Redis Master to Monitor ma zestaw haseł (w naszym przypadku Master ma), podaj hasło, aby instancja Sentinel mogła uwierzytelnić się z instancją chronioną.
Sentinel Auth-Pass MyMaster [e-mail chroniony]Ustaw hasło do Auth
6. Następnie ustaw liczbę milisekund, które Master (lub dowolna załączona replika lub wartownik) powinien być nieosiągalny, aby rozważyć ją w „Subiektywnie w dół" państwo.
Poniższa konfiguracja oznacza, że Master zostanie uznany za niepowodzenia, gdy tylko nie otrzymamy żadnej odpowiedzi z naszych pingów w ciągu 5 sekund (1 sekunda jest równoważna 1000 milisekund).
Sentinel w dół-milisekund MyMaster 5000Ustaw czas na Master
7. Następnie ustaw limit czasu awaryjnego w milisekundach, który definiuje wiele rzeczy (przeczytaj dokumentację parametru w pliku konfiguracyjnym).
Sentinel Failover Timeout MyMaster 180000Ustaw niepowodzenie w czasie limitu czasu
8. Następnie ustaw liczbę replików, które można ponownie skonfigurować, aby używać nowego mistrza po przełączaniu awaryjnym. Ponieważ mamy dwie repliki, ustawimy jedną replikę, ponieważ druga zostanie awansowana do nowego mistrza.
Sentinel równoległe synchronizmy MyMaster 1Ustaw liczbę replików równoległych
Zauważ, że pliki konfiguracyjne włączone Redis Replica1 I Sentinel2, I Reddis Replica1 I Sentinel2 powinien być identyczny.
9. Następnie ponownie uruchom Posterunek Usługi na wszystkich węzłach w celu zastosowania ostatnich zmian.
# Systemctl restart redis-sentinel
10. Dalej, otwarty port 26379 w zaporze ogniowej na wszystkich węzłach, aby umożliwić Posterunek instancje, aby zacząć mówić, odbierać połączenia od drugiego Posterunek instancje, za pomocą zapory ogniowej-CMD.
um
11. Wszystkie repliki zostaną automatycznie odkryte. Co ważne, Posterunek Automatycznie aktualizuje konfigurację o dodatkowe informacje o replikach. Możesz to potwierdzić, otwierając Posterunek plik konfiguracyjny dla każdej instancji i przejrzyj go.
Na przykład, gdy spojrzysz na koniec pliku konfiguracyjnego głównego, powinieneś zobaczyć znane-sentinels I znana replika stwierdzenia, jak pokazano na poniższym zrzucie ekranu.
Auto generowane konfigurowanie w MasterTo powinno być ta sama sprawa Replica1 I Replica2.
Auto generowane konfigurowanie w replice1 Auto generowane konfigurowanie w replice2Zauważ, że Posterunek Konfiguracja jest również przepisywana/aktualizowana za każdym razem, gdy replika jest promowana do statusu głównego podczas przełącznika awaryjnego i za każdym razem, gdy w konfiguracji odkryto nowy wartownik.
Krok 3: Sprawdź status konfiguracji Redis Sentinel
12. Teraz sprawdź Posterunek status/informacje o mistrzu, korzystając z Informacje Sentinel polecenie w następujący sposób.
# redis -cli -p 26379 Info Sentinel
Ze wyjścia polecenia, jak pokazano na poniższym zrzucie ekranu, mamy dwie repliki/niewolnicy i trzy wartowniki.
Sprawdź informacje Sentinel na Master13. Aby pokazać szczegółowe informacje o gospodarz (zwany mój mistrz), Użyj Sentinel Master Komenda.
# redis -cli -p 26379 Sentinel Master MyMasterPokaż szczegółowe informacje o Sentinel Master
14. Aby pokazać szczegółowe informacje o niewolnicy I Sentinels, Użyj Sentinel Slaves polecenie i Sentinel Sentinels odpowiednio polecenie.
# redis -cli -p 26379 Sentinel Slaves MyMaster # redis -cli -p 26379 Sentinel Sentinels MyMaster
15. Następnie zapytaj adres Master po imieniu z instancji niewolników za pomocą Sentinel Get-Master-Addr-by-bet polecenie w następujący sposób.
Dane wyjściowe powinny być adres IP i port bieżącej instancji głównej:
# Redis-cli -p 26379 Sentinel Get-Master-Addr-By-nazwa MyMasterUzyskaj adres Master po imieniu na niewolnikach
Krok 4: Przetestuj przełącznik Sentinel Pairever
16. Wreszcie, przetestujmy automatyczne przełączanie awaryjne w naszym Posterunek organizować coś. Na Redis/Sentinel mistrzu, zrób Redis Master (działający na porcie 6379) 60 sekundy. Następnie zapytaj o adres bieżącego mistrza na replikach/niewolnikach w następujący sposób.
# redis -cli -p 6379 127.0.0.1: 6379> Auth [e -mail chroniony] 127.0.0.1: 6379> Debugowanie Sleep 60 # redis-cli -p 26379 Sentinel Get-Master-Addr-By-NAME MYMASTER # REDIS-CLI -p 26379 Sentinel GET-MASTER-ADDR-NAME MYMASTER
Ze wyjścia zapytania nowy Mistrz jest teraz Replica/Slave2 z adresem IP 10.42.0.34 Jak widać na poniższym zrzucie ekranu.
Przetestowanie awaryjnego przełączania Redis SentinelMożesz uzyskać więcej informacji z dokumentacji Redis Sentinel. Ale jeśli masz jakieś przemyślenia do podzielenia się lub zapytania, poniższy formularz sprzężenia zwrotnego to Twoja brama do nas.
W następnej i ostatniej części tej serii przyjrzymy się, jak skonfigurować klaster Redis w Centos 8. Będzie to niezależny artykuł z pierwszych dwóch.
- « Jak zainstalować serwer LAMP na CentOS 8
- Użyj spojrzeń, aby monitorować zdalny Linux w trybie serwera WWW »