GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit Redis pro vysokou dostupnost s Sentinel v CentOS 8 – část 2

Redis poskytuje vysokou dostupnost prostřednictvím Redis Sentinel distribuovaný systém. Hlídač pomáhá monitorovat Redis instance, zjišťují selhání a automaticky přepínají role, čímž umožňují Redis nasazení, aby odolal jakémukoli druhu selhání.

Obsahuje monitorování Redis instance (master a repliky), podporuje upozornění na jiné služby/procesy nebo správce systému prostřednictvím skriptu, automatické převzetí služeb při selhání pro povýšení repliky na master, když master selže a poskytuje konfiguraci pro klienty, aby objevili aktuální master nabízející konkrétní službu .

Tento článek ukazuje, jak nastavit Redis pro vysokou dostupnost s Redis Sentinel v CentOS 8 , včetně konfigurace hlídačů, kontroly stavu nastavení a testování hlídek převzetí služeb při selhání.

Předpoklad:

  1. Jak nastavit replikaci Redis (se zakázaným režimem clusteru) v CentOS 8 – část 1

Nastavení testovacího prostředí

Hlavní server a Sentinel1 :10.42.0.247Redis Replica1 a Sentinel2 :10.42.0.21Redis Replica2 a Sentinel3 :10.42.0.34

Logický diagram nastavení Redis Sentinel

Podle Redis Sentinel dokumentace, jeden potřebuje alespoň tři Sentinely instance pro robustní nasazení. S ohledem na naše výše uvedené nastavení, pokud je master selže, Sentinels2 a Sentinel3 bude souhlasit s chybou a bude moci autorizovat převzetí služeb při selhání, takže operace klienta budou moci pokračovat.

Krok 1:Spuštění a povolení služby Redis Sentinel

1. V systému CentOS 8 , Redis Sentinel služba je nainstalována vedle Redis serveru (což jsme již provedli v Redis Replication Setup).

Chcete-li spustit Redis sentinel service a povolit její automatické spouštění při spouštění systému, použijte následující systemctl příkazy. Zkontrolujte také jeho stav a potvrďte, že je v provozu (proveďte to na všech uzlech):

# systemctl spustit redis-sentinel# systemctl povolit redis-sentinel# stav systemctl redis-sentinel

Spusťte Redis Sentinel Service

Krok 2:Konfigurace Redis Sentinel na všech uzlech Redis

2. V této části vysvětlíme, jak nakonfigurovat Sentinel na všech našich uzlech. Sentinel služba má podobný konfigurační formát jako Redis server. Pro jeho konfiguraci použijte /etc/redis-sentinel.conf samostatně zdokumentovaný konfigurační soubor.

Nejprve vytvořte zálohu původního souboru a otevřete jej pro úpravy.

# cp /etc/redis-sentinel.conf /etc/redis-sentinel.conf.orig# vi /etc/redis-sentinel.conf

3. Ve výchozím nastavení Sentinel naslouchá na portu 26379 , ověřte to ve všech případech. Upozorňujeme, že musíte opustit vazbu parametr zakomentován (nebo nastaven na 0.0.0.0 ).

port 26379

Nastavte rozhraní a port Sentinel Listen Interface

4. Dále sdělte Sentinel sledovat našeho mistra a zvážit to v „Objektivně dolů “ uvést pouze v případě, že s tím souhlasí alespoň 2 sentinelové kvora. Můžete nahradit „mymaster ” s vlastním názvem.

#Na hlavním serveru a monitoru Sentinel1sentinel mymaster 127.0.0.1 6379 2#Na monitoru Replica1 a Sentinel2sentinel mymaster 10.42.0.247 6379 2#Na monitoru Replica1 a Sentinel3sentinel mymaster 10.47639. 

Nastavte Redis Master na Monitor

Důležité :Prohlášení sentinelového monitoru MUSÍ být umístěno před sentinelem auth-pass prohlášení, aby se zabránilo chybě „Žádný takový hlavní server se zadaným názvem. ” při restartování strážní služby.

5. Pokud Redis master to monitor má nastavené heslo (v našem případě má master), zadejte heslo, aby se instance Sentinel mohla ověřit s chráněnou instancí.

 sentinel auth-pass mymaster [chráněno e-mailem]

Nastavte heslo hlavního ověření

6. Poté nastavte počet milisekund, po které by měl být master (nebo jakákoli připojená replika nebo hlídač) nedosažitelný, abyste to mohli zvážit v části „Subjektivně dolů ” stát.

Následující konfigurace znamená, že master bude považován za neúspěšný, jakmile od našich pingů neobdržíme žádnou odpověď do 5 sekund (1 sekunda odpovídá 1000 milisekundám).

Po milisekundách signalizace selže mymaster 5000

Nastavte čas vypnutí pro Master

7. Dále nastavte časový limit přepnutí při selhání v milisekundách, který definuje mnoho věcí (přečtěte si dokumentaci parametru v konfiguračním souboru).

časový limit signalizace selhání mymaster 180000

Nastavte časový limit selhání

8. Potom nastavte počet replik, které lze překonfigurovat tak, aby po převzetí služeb při selhání současně používaly nový hlavní server. Protože máme dvě repliky, nastavíme jednu repliku, protože druhá bude povýšena na novou předlohu.

paralelní synchronizace sentinelu mymaster 1

Nastavte počet replik paralelní synchronizace

Všimněte si, že konfigurační soubory na Redis Replica1 a Sentinel2 a Replica Reddis1 a Sentinel2 by měly být totožné.

9. Poté restartujte Sentinel služby na všech uzlech, abyste použili nedávné změny.

# systemctl restart redis-sentinel

10. Dále otevřete port 26379 ve bráně firewall na všech uzlech, abyste povolili Sentinel instance, abyste mohli začít mluvit, přijímat spojení z druhého Sentinelu instance pomocí firewall-cmd.

# firewall-cmd --zone=public --permanent --add-port=26379/tcp# firewall-cmd --reload

11. Všechny repliky budou automaticky objeveny. Důležité je, Sentinel automaticky aktualizuje konfiguraci o další informace o replikách. Můžete to potvrdit otevřením Sentinelu konfigurační soubor pro každou instanci a prohlédněte si jej.

Když se například podíváte na konec konfiguračního souboru hlavního serveru, měli byste vidět known-sentinely a známá replika prohlášení, jak je znázorněno na následujícím snímku obrazovky.

Automaticky generovaná konfigurace v Master

Měl by to být stejný případ na replica1 a replika2 .

Automaticky generovaná konfigurace v Replica1

Automaticky generovaná konfigurace v Replica2

Všimněte si, že Sentinel konfigurace je také přepsána/aktualizována pokaždé, když je replika povýšena na hlavní stav během převzetí služeb při selhání a pokaždé, když je v nastavení objeven nový Sentinel.

Krok 3:Zkontrolujte stav nastavení Redis Sentinel

12. Nyní zkontrolujte Sentinel stav/informace o masteru pomocí informačního hlídače příkaz takto.

# redis-cli -p 26379 info sentinel

Z výstupu příkazu, jak je vidět na následujícím snímku obrazovky, máme dvě repliky/otroky a tři strážce.

Zkontrolujte informace Sentinel na Master

13. Zobrazí podrobné informace o masteru (tzv. mymaster ), použijte kontrolní hlavní server příkaz.

# redis-cli -p 26379 sentinel master mymaster

Zobrazit podrobné informace o Sentinel Master

14. Zobrazí podrobné informace o otrocích a sentinely , použijte hlídací otroci příkaz a hlídací hlídky příkazu.

# redis-cli -p 26379 strážní otroci mymaster# redis-cli -p 26379 strážní otroci mymaster

15. Dále se zeptejte na adresu master by name z podřízených instancí pomocí sentinelu get-master-addr-by-name příkaz takto.

Výstupem by měla být IP adresa a port aktuální hlavní instance:

# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster

Získejte adresu Master by Name na Slaves

Krok 4:Otestujte funkci Sentinel Failover

16. Nakonec otestujeme automatické převzetí služeb při selhání v našem Sentinelu založit. Na Redis/Sentinel mistr, vytvořte Redis master (běžící na portu 6379 ) spát 60 sekundy. Poté se zeptejte na adresu aktuálního hlavního zařízení na replikách/podřízených zařízeních následovně.

# redis-cli -p 6379127.0.0.1:6379> AUTH [e-mail chráněný]127.0.0.1:6379> ladění spánku 60# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster# redis- cli -p 26379 sentinel get-master-addr-by-name mymaster

Z výstupu pro dotaz je nyní nový hlavní server replica/slave2 s IP adresou 10.42.0.34 jak je vidět na následujícím snímku obrazovky.

Otestujte Redis Sentinel Failover

Další informace můžete získat z dokumentace Redis Sentinel. Pokud však máte nějaké nápady, které byste mohli sdílet nebo dotazy, níže uvedený formulář zpětné vazby je vaší vstupní branou k nám.

V dalším a posledním díle této série se podíváme na to, jak nastavit Redis Cluster v CentOS 8. Půjde o samostatný článek z prvních dvou.

Sharing is Caring…
Sdílet na FacebookuSdílet na TwitteruSdílet na LinkedinSdílet na Redditu
Cent OS
  1. Jak nastavit FTP server s VSFTPD na CentOS 7

  2. Jak nastavit FTP server s VSFTPD na CentOS 8

  3. Jak nastavit Pure-FTPD s MySQL na CentOS a RedHat

  1. Jak nastavit Apache Subversion s HTTPS Letsencrypt na CentOS 7

  2. Jak nastavit Nginx High Availability s Pacemakerem a Corosync na CentOS 7

  3. Jak nastavit HAProxy jako Load Balancer pro MariaDB na CentOS 7

  1. Jak nastavit HAProxy jako Load Balancer pro Nginx na CentOS 7

  2. Jak nastavit vysoce dostupný NGINX s KeepAlived na CentOS 8

  3. Jak nastavit server centralizovaného zálohování s Amandou na CentOS 7