ssdb cluster + keepalived para construir el combate real 6. Reparación de excepciones maestras y en espera

ssdb cluster + keepalived para construir el combate real 6. Reparación de excepciones maestras y en espera

Medio ambiente

Sistema operativo: CentOS Linux versión 7.6.1810 (Core)
ssdb: 1.9.7
keepalived: keepalived-2.0.16
IP:
maestro: 10.11.100.87
esclavo: 10.11.100.88

vip : 10.11.100.89

Experimento de reparación de anomalías

Debido a las fluctuaciones de la red y el tiempo de inactividad, a menudo conduce a fallas en la sincronización de la base de datos. Simulemos el experimento de reparación de las excepciones de sincronización principal y en espera.

1. anormalidad de la simulación

Cierre la biblioteca esclava, escriba los datos en la biblioteca maestra y luego inicie la biblioteca esclava. Ahora mire el estado del clúster en la biblioteca maestra:

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)

Mirando el estado del clúster desde el lado de la biblioteca:

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)

La pantalla está todo OUT_OF_SYNC, la sincronización falla,
luego escribe nuevos datos en la biblioteca maestra, la biblioteca esclava no se sincronizará, el clúster se ha colgado

2. Reparación

En este caso, debe sincronizar manualmente los datos de la base de datos principal con la base de datos en espera:

Use el comando ssdb-dump en la biblioteca principal para hacer una copia de seguridad:

[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

Detenga el servicio ssdb de la biblioteca:

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

Haga una copia de seguridad del directorio var como var.bak y cree un nuevo directorio var:

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

Transfiera backup.ssdb al directorio var de la biblioteca esclava en el lado de la biblioteca maestra:

[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    

Inicie el servicio desde la biblioteca:

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

Luego verifique el estado del clúster:

[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

136 artículos originales publicados · Me gusta 58 · Visitas 360,000+

Supongo que te gusta

Origin blog.csdn.net/sunbocong/article/details/94446249
Recomendado
Clasificación