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
commande info Les informations renvoyées
ssdb 127.0.0.1:8899> infobinlogs capacity : 10000000 min_seq : 1 max_seq : 74replication client 127.0.0.1:55479 type : sync status : SYNC last_seq : 74replication 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 binlog
- min_seq : le numéro de séquence minimum du binlog dans la file d'attente actuelle
- max_seq : le numéro de séquence maximum du binlog 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.