Configuration et surveillance de la synchronisation et de la réplication maître-esclave SSDB
Configuration
Pour les anciennes versions, vous devez préciser le nom d'hôte (nom de domaine) du maître via
slaveof.ip
指定 master 的 IP 地址, 但对于新版本(1.9.2+), 你可以通过 slaveof.host
.Maître-Esclave
#serveur 1
replication:
slaveof:
#serveur 2
replication:
slaveof:
id: svc_1
# sync|mirror, default is sync
type: sync
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8888
Maître-Maître
#serveur 1
replication:
slaveof:
id: svc_2
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8889
#serveur 2
replication:
slaveof:
id: svc_1
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8888
Multi-maître
Dans un groupe de groupes d'instances SSDB contenant un total de n instances, chaque instance doit asservir les n-1 instances restantes.
replication:
slaveof:
id: svc_1
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8888
slaveof:
id: svc_2
# sync|mirror, default is sync
type: mirror
# use ip for older version
#ip: 127.0.0.1
# use host since 1.9.2
host: localhost
port: 8889
# ... more slaveof
Surveiller l'état de synchronisation
la commande info renvoie des informations
ssdb 127.0.0.1:8899> info
binlogs
capacity : 10000000
min_seq : 1
max_seq : 74
replication
client 127.0.0.1:55479
type : sync
status : SYNC
last_seq : 74
replication
slaveof 127.0.0.1:8888
id : svc_2
type : sync
status : SYNC
last_seq : 10023
copy_count : 0
sync_count : 44
binlogs
L'état de l'opération d'écriture de l'instance actuelle.
- capacity : la longueur maximale de la file d'attente du journal binaire
- min_seq : le numéro de séquence minimum du journal binaire dans la file d'attente actuelle
- max_seq : la séquence maximale du journal binaire numéro dans la file d'attente actuelle
réplication
Il peut y en avoir plusieurs replication
记录. 每一条表示一个连接进来的 slave(client), 或者一个当前服务器所连接的 master(slaveof).
- slaveof|client host:port, 远端 master/slave 的 host:port.
- type: 类型,
sync|mirror
. - status: 当前同步状态,
DISCONNECTED|INIT|OUT_OF_SYNC|COPY|SYNC
. - last_seq : le numéro de séquence du dernier binlog envoyé ou reçu
- slaveof.id : l'identifiant du maître (c'est du point de vue de l'esclave, vous n'avez jamais besoin de le configurer sur le maître. ) propre identifiant).
- slaveof.copy_count : Pendant la synchronisation complète, le nombre de clés qui ont été copiées.
- slaveof.sync_count : Le nombre de binlogs envoyés ou reçus.
À propos du statut :
- DISCONNECTED : La connexion avec le maître est déconnectée, généralement en raison d'une interruption du réseau.
- INIT : État d'initialisation
- OUT_OF_SYNC : En raison d'un grand nombre d'opérations d'écriture sur le maître dans un court laps de temps, la file d'attente binlog. est éliminé et l'esclave perd le point de synchronisation et doit répliquer à nouveau toutes les données. sain. Jugez l'état de synchronisation
, < code style="box-sizing: border-box; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12,6 px ; rembourrage en haut : 2 px ; rembourrage en bas : 2 px ; couleur : RVB (199, 37, 78) ; ;">binlogs.max_seq fait référence à la dernière version sur l'instance actuelle. Le numéro de série d'une opération d'écriture (écriture/mise à jour/suppression), replication.client.last_seq
fait référence au numéro de séquence du dernier journal binaire envoyé à l'esclave.
Donc, si vous voulez juger si la synchronisation maître-esclave est en place (mise à jour en temps réel), puis jugez binlogs.max_seq
et replication.client.last_seq
est égal.