ssdb cluster + keepalived, um den eigentlichen Kampf zu erstellen. 6. Reparatur von Master- und Standby-Ausnahmen

ssdb cluster + keepalived, um den eigentlichen Kampf zu erstellen. 6. Reparatur von Master- und Standby-Ausnahmen

Umwelt

Betriebssystem: CentOS Linux Release 7.6.1810 (Core)
ssdb: 1.9.7 keepalived: keepalived
-2.0.16
IP:
master: 10.11.100.87
Slave: 10.11.100.88

vip : 10.11.100.89

Anomaliereparaturversuch

Aufgrund von Netzwerkschwankungen und Ausfallzeiten kommt es häufig zu Fehlern bei der Datenbanksynchronisierung. Simulieren wir das Reparaturversuch der Haupt- und Standby-Synchronisierungsausnahmen.

1. Simulationsstörung

Schließen Sie die Slave-Bibliothek, schreiben Sie die Daten in die Master-Bibliothek und starten Sie dann die Slave-Bibliothek. Sehen Sie sich nun den Cluster-Status auf der Seite der Master-Bibliothek an:

ssdb 10.11.100.87:8888> info
version
	1.9.7
links
	1
total_calls
	43
dbsize
	141
binlogs
	    capacity : 20000000
	    min_seq  : 0
	    max_seq  : 13
replication
	client 10.11.100.88:35708
	    type     : sync
	    status   : OUT_OF_SYNC
	    last_seq : 16
serv_key_range
	    kv  : "" - ""
	    hash: "" - ""
	    zset: "" - ""
	    list: "" - ""
data_key_range
	    kv  : "a" - "z"
	    hash: "" - ""
	    zset: "" - ""
	    list: "" - ""
leveldb.stats
	                               Compactions
	Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
	--------------------------------------------------
	  2        1        0         0        0         0
	
19 result(s) (0.001 sec)
(0.001 sec)

Betrachten des Clusterstatus von der Bibliotheksseite aus:

ssdb 10.11.100.88:8888> info
version
	1.9.7
links
	1
total_calls
	5
dbsize
	739
binlogs
	    capacity : 20000000
	    min_seq  : 1
	    max_seq  : 17
replication
	slaveof 10.11.100.87:8888
	    id         : svc_1
	    type       : sync
	    status     : OUT_OF_SYNC
	    last_seq   : 16
	    copy_count : 0
	    sync_count : 0
serv_key_range
	    kv  : "" - ""
	    hash: "" - ""
	    zset: "" - ""
	    list: "" - ""
data_key_range
	    kv  : "a" - "d"
	    hash: "" - ""
	    zset: "" - ""
	    list: "" - ""
leveldb.stats
	                               Compactions
	Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
	--------------------------------------------------
	  0        2        0         0        0         0
	
19 result(s) (0.002 sec)
(0.002 sec)

Die Anzeige ist alles OUT_OF_SYNC, die Synchronisation schlägt fehl,
dann werden neue Daten in die Master-Bibliothek geschrieben, die Slave-Bibliothek wird nicht synchronisiert, der Cluster wurde aufgehängt

2. Reparieren

In diesem Fall müssen Sie die Daten in der Hauptdatenbank manuell mit der Standby-Datenbank synchronisieren:

Verwenden Sie den Befehl ssdb-dump in der Hauptbibliothek, um Folgendes zu sichern:

[root@localhost ssdb]# ./ssdb-dump 10.11.100.87 8888 ./backup.ssdb
ssdb-dump - SSDB backup command
Copyright (c) 2012-2015 ssdb.io

recv begin...
received 1 entry(s)
received 5 entry(s)
recv end

total dumped 5 entry(s)
                               Compactions
Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
--------------------------------------------------

compacting data...
                               Compactions
Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
--------------------------------------------------
  2        1        0         0        0         0

backup has been made to folder: ./backup.ssdb

Beenden Sie den ssdb-Dienst aus der Bibliothek:

[root@localhost ssdb]# ./ssdb-server ssdb.conf -s stop
ssdb-server 1.9.7
Copyright (c) 2012-2015 ssdb.io

Sichern Sie das var-Verzeichnis als var.bak und erstellen Sie ein neues var-Verzeichnis:

[root@localhost ssdb]# mv var var.bak
[root@localhost ssdb]# mkdir var

Übertragen Sie backup.ssdb in das var-Verzeichnis der Slave-Bibliothek auf der Seite der Master-Bibliothek:

[root@localhost ssdb]# scp -r ./backup.ssdb 10.11.100.88:/usr/local/ssdb/var
root@10.11.100.88's password: 
LOG                                                                                           100%  362     0.4KB/s   00:00    
LOCK                                                                                          100%    0     0.0KB/s   00:00    
CURRENT                                                                                       100%   16     0.0KB/s   00:00    
MANIFEST-000002                                                                               100%   92     0.1KB/s   00:00    
000004.log                                                                                    100%    0     0.0KB/s   00:00    
000005.ldb                                                                                    100%  164     0.2KB/s   00:00    

Starten Sie den Dienst aus der Bibliothek:

[root@localhost ssdb]# ./ssdb-server -d ssdb.conf
ssdb-server 1.9.7
Copyright (c) 2012-2015 ssdb.io

Überprüfen Sie dann den Clusterstatus:

[root@localhost ssdb]# ./ssdb-cli -h 10.11.100.87 -p 8888
ssdb (cli) - ssdb command line tool.
Copyright (c) 2012-2016 ssdb.io

'h' or 'help' for help, 'q' to quit.

ssdb-server 1.9.7

ssdb 10.11.100.87:8888> info
version
	1.9.7
links
	1
total_calls
	45
dbsize
	141
binlogs
	    capacity : 20000000
	    min_seq  : 0
	    max_seq  : 13
replication
	client 10.11.100.88:35734
	    type     : sync
	    status   : SYNC
	    last_seq : 13
serv_key_range
	    kv  : "" - ""
	    hash: "" - ""
	    zset: "" - ""
	    list: "" - ""
data_key_range
	    kv  : "a" - "z"
	    hash: "" - ""
	    zset: "" - ""
	    list: "" - ""
leveldb.stats
	                               Compactions
	Level  Files Size(MB) Time(sec) Read(MB) Write(MB)
	--------------------------------------------------
	  2        1        0         0        0         0
	
19 result(s) (0.001 sec)
(0.001 sec)

Normal

Veröffentlichte 136 Originalartikel · Gefällt mir 58 · Besuche 360.000+

Ich denke du magst

Origin blog.csdn.net/sunbocong/article/details/94446249
Empfohlen
Rangfolge